2011-05-04 7 views

cevap

26

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.

+1

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

+2

@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

+0

"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

6

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.

3
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);