- 1
- 0
- 约3.58千字
- 约 3页
- 2017-07-09 发布于河南
- 举报
一个使用DownloadManager下载文件的小例子
一个使用DownloadManager下载文件的小例子
最近自己在写个小项目,需要从服务器下载文件,之前也写过下载文件的代码,都是采用传统的方式,既使用HttpClient来下载,但是需要自己处理很多异常,觉得甚是麻烦,后来发现android2.3里面提供了DownloadManager服务,那为何不拿来用了?于是有了下面的小例子:
?
代码如下:
?
?
Java代码??
public?class?ApkClientActivity?extends?Activity?{??
????static?final?String?TAG?=?ApkClientActivity;??
????Context?mContext;??
????DownloadManager?manager?;??
????DownloadCompleteReceiver?receiver;??
????Button?downBtn?;??
????@Override??
????public?void?onCreate(Bundle?savedInstanceState)?{??
????????super.onCreate(savedInstanceState);??
????????setContentView(R.layout.main);??
????????mContext?=?this;??
????????//获取下载服务??
????????manager?=(DownloadManager)getSystemService(DOWNLOAD_SERVICE);??
????????receiver?=?new?DownloadCompleteReceiver();??
????????downBtn?=?(Button)findViewById(R.id.downBtn);??
????????downBtn.setOnClickListener(new?OnClickListener()?{??
????????????@Override??
????????????public?void?onClick(View?v)?{??
????????????????//创建下载请求??
????????????????DownloadManager.Request?down=new?DownloadManager.Request?(Uri.parse(6:8080/qqinput.apk));??
????????????????//设置允许使用的网络类型,这里是移动网络和wifi都可以??
????????????????down.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_MOBILE|DownloadManager.Request.NETWORK_WIFI);??
????????????????//禁止发出通知,既后台下载??
????????????????down.setShowRunningNotification(false);??
????????????????//不显示下载界面??
????????????????down.setVisibleInDownloadsUi(false);??
????????????????//设置下载后文件存放的位置??
????????????????down.setDestinationInExternalFilesDir(mContext,?null,?qqinput.apk);??
????????????????//将下载请求放入队列??
????????????????manager.enqueue(down);??
????????????}??
????????});??
????}??
????//接受下载完成后的intent??
????class?DownloadCompleteReceiver?extends?BroadcastReceiver?{??
????????@Override??
????????public?void?onReceive(Context?context,?Intent?intent)?{??
????????????if(intent.getAction().equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE)){??
????????????????long?downId?=?intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID,?-1);??
????????
原创力文档

文档评论(0)