WEB开发网
开发学院手机开发Android 开发 Android通过AIDL实现下载进程通信 阅读

Android通过AIDL实现下载进程通信

 2012-11-08 19:04:01 来源:WEB开发网   
核心提示: 下载服务接口该aidl文件定义了通信双方使用的接口,通过这些接口客户端就可以调用服务端的实现package com.obatu.services.aidl;import com.obatu.services.aidl.Queue;import java.util.List;interface IDownLoadSer
下载服务接口
该aidl文件定义了通信双方使用的接口,通过这些接口客户端就可以调用服务端的实现

package com.obatu.services.aidl;
import com.obatu.services.aidl.Queue;
import java.util.List;

interface IDownLoadService{
void down(in Queue queue); //添加一个队列到下载服务中
boolean isDownLoading(in int id); //查询某个队列是否正在下载
void cancelQueue(in int id); //取消某个队列
List<Queue> getQueueList(); //获取下载服务中的队列列表,通过该列表可以获取到当前下载列表的信息,如下载进度
}
android 下载服务DownLoadService的实现
该类实现的是下载的业务逻辑

package com.obatu.services;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import com.obatu.services.aidl.IDownLoadService;
import com.obatu.services.aidl.Queue;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteException;
import android.util.Log;
import android.widget.RemoteViews;

public class DownLoadService extends Service {

private static final String TAG = "Obatu_DownLoad_Service"; //Log tag
private final static int UPDATE_NOTIFY_PROGRESS = 3; //handler 标识:更新进度

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Android 通过 AIDL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接