Android 如何在后台下载沉重的东西?
我正在用Android做一个应用,我想知道 如何在后台下载沉重的东西Android 如何在后台下载沉重的东西?,android,background,Android,Background,我正在用Android做一个应用,我想知道 如何在后台下载沉重的东西 谢谢;) 这里有三种方法: 您可以创建一个服务,我建议您使用。IntentService自动跨越一个新线程,通过intent,您将URL作为字符串传递,并让服务使用流下载 使用类别(仅姜饼和较新版本) 姜饼带来了一个新功能,DownloadManager,它允许您轻松下载文件,并将处理线程、流等的艰苦工作委托给系统 String url = "url"; DownloadManager.Request request
谢谢;) 这里有三种方法:
String url = "url";
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDescription("Some descrition");
request.setTitle("Some title");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
}
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "name-of-the-file.ext");
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
我认为最简单的方法是使用,它是Android SDK的一个组件,可以帮助您在后台执行任务,并在前台(或主线程)显示结果。但我建议您阅读这篇文章,这可能有助于更好地理解如何处理背景任务。什么是重的东西?您是否尝试过使用
AsyncTask
?像翻新
/截击
/OkHttp
这样的库怎么样?不明白,为什么这个问题会被否决?怎么了?