Bir url'den bir ikili dosya indirmek istiyorum. Burada DownloadManager class bulduğum Android indirme yöneticisi sınıfını kullanmak mümkün mü?Android: İndirme yöneticisi sınıfı nasıl kullanılır?
cevap
söz konusu Android API Seviye 9 (sürüm 2.3) bu yana yalnızca olsa mümkün, burada
Evet buldum android indirme yöneticisi sınıfını kullanmak mı. DownloadManager
kullanımını gösteren Here is a sample project.
büyük .tüm senin bütün kod üzerinden gitti. DownloadManager'ı wifi ile kullanmak istiyorum .. SFTP kullanmalı ve router'dan dosya indirmem gerekiyor .. Mümkün mü? bu konuda bana rehberlik edecek .. – NovusMobile
@Satyam: 'DownloadManager' SFTP'yi desteklemiyor. Android'deki hiçbir şey SFTP AFAIK'i desteklemez. Bunun için üçüncü taraf bir JAR bulmanız gerekecek. – CommonsWare
"JSCH" adlı java adında kullandığım API'yi buldum. @ CommonsWare Benim java Projede onun koşmak mükemmel ama burada Android onun değil .. mümkün mü? veya başka bir sorunla karşı karşıya kalabilir miyim? pls cevap .. – NovusMobile
Kullanım DownloadManager sınıf (Gingerbread ve daha yeni sürümlerde)
zencefilli sistemine vb Eğer taşıma parçacığı zor işi kolaylıkla dosya indirmek ve temsilci sağlar akışları yeni bir özellik, DownloadManager getirdi.
Öncelikle, bir yardımcı yöntemini görelim:
/**
* @param context used to check the device version and DownloadManager information
* @return true if the download manager is available
*/
public static boolean isDownloadManagerAvailable(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
return true;
}
return false;
}
Method'un ismi ne olduğunu açıklar. Emin DownloadManager kullanılabilir olduğunda, böyle bir şey yapabilirsiniz:
String url = "url you want to download";
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDescription("Some descrition");
request.setTitle("Some title");
// in order for this if to run, you must use the android 3.2 to compile your app
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");
// get download service and enqueue file
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
İndir ilerleme bildirim çubuğunda gösteriyor olacak.
DownloadManager downloadmanager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = Uri.parse("http://www.example.com/myfile.mp3");
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setTitle("My File");
request.setDescription("Downloading");
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationUri(Uri.parse("file://" + folderName + "/myfile.mp3"));
downloadmanager.enqueue(request);
Kontrol dışarı CommonsWare..I @ bu öğretici http://www.gadgetsaint.com/android/download-manager/ – ASP