Android开发之自带下载器DownloadManager的使用示例代码
"Android开发之自带下载器DownloadManager的使用示例代码" Android自带的DownloadManager是一个非常有用的下载文件工具,在Android开发中经常有从服务器下载数据的需求出现, especially in online update scenarios. 其基本思路是根据本地的App版本号和服务器的版本号进行比较,如果服务器版本较新,再进行提示然后下载Apk最后进行安装。 DownloadManager是Android SDK中提供的下载管理器,可以帮助开发者轻松地管理下载任务。该类在API level 9之后出现,它已经帮我们处理了下载失败、重新下载等功能,整个下载过程全部交给系统负责,不需要我们过多的处理,非常的nice。 使用DownloadManager可以非常简单,只需要 few lines of code就可以实现下载任务的管理。下面是一个简单的示例代码,展示了如何使用DownloadManager从服务器下载一个Apk文件并进行安装。 需要创建一个DownloadManager对象,并将其与Context关联起来: ``` private DownloadManager downloadManager; private Context mContext; public DownloadUtils(Context context){ this.mContext = context; downloadManager = (DownloadManager) mContext.getSystemService(Context.DOWNLOAD_SERVICE); } ``` 然后,需要创建一个下载请求,并将其加入下载队列中: ``` public void downloadAPK(String url, String name) { Request request = new Request(Uri.parse(url)); request.setAllowedOverRoaming(false); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE); request.setTitle("新版本Apk"); request.setDescription("Apk Downloading"); request.setVisibleInDownloadsUi(true); request.setDestinationInExternalPublicDir(Environment.getExternalStorageDirectory().getAbsolutePath(), name); downloadId = downloadManager.enqueue(request); } ``` 需要监听下载的状态,可以使用BroadcastReceiver来监听下载的各个状态: ``` private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { checkStatus(); } }; private void checkStatus() { Query query = new Query(); query.setFilterById(downloadId); Cursor c = downloadManager.query(query); if (c.moveToFirst()) { int status = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)); //根据下载的状态进行相应的处理 } } ``` Android自带的DownloadManager是一个非常有用的下载文件工具,可以帮助开发者轻松地管理下载任务。通过使用DownloadManager,可以轻松地实现下载任务的管理,并且可以轻松地处理下载失败、重新下载等问题。 知识点总结: * Android自带的DownloadManager是一个非常有用的下载文件工具。 * DownloadManager可以帮助开发者轻松地管理下载任务。 * 使用DownloadManager可以轻松地实现下载任务的管理,并且可以轻松地处理下载失败、重新下载等问题。 * DownloadManager可以监听下载的各个状态,并可以根据下载的状态进行相应的处理。 * 使用DownloadManager需要创建一个DownloadManager对象,并将其与Context关联起来。 * 使用DownloadManager需要创建一个下载请求,并将其加入下载队列中。

















- 粉丝: 9
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源


