2011-05-04 3 views

Répondre

26

Est-il possible d'utiliser la classe gestionnaire de téléchargement Android que j'ai trouvé ici

Oui, bien que ce soit uniquement disponible depuis API Android Niveau 9 (version 2.3). Here is a sample project démontrant l'utilisation de DownloadManager.

+1

@ CommonsWare..I est passé par votre tout le code sont .tous grand. Je veux faire usage de DownloadManager avec wifi signifie .. Je dois utiliser SFTP et télécharger le fichier du routeur ..Est-ce possible? va me guider pour cela .. – NovusMobile

+2

@Satyam: 'DownloadManager' ne supporte pas SFTP. Rien dans Android prend en charge SFTP AFAIK. Vous devrez trouver un fichier JAR tiers pour cela. – CommonsWare

+0

J'ai trouvé cette API que j'ai utilisée dans le nom java "JSCH". @ CommonsWare Dans mon projet java son fonctionnement parfait mais ici Android ce n'est pas .. est-ce possible? ou puis-je faire face à un autre problème? pls réponse .. – NovusMobile

6

Utilisez la classe DownloadManager (pain d'épices et plus récent seulement)

GingerBread a apporté une nouvelle fonctionnalité, DownloadManager, qui vous permet de télécharger des fichiers facilement et déléguer le travail de threads de traitement, les flux, etc. au système.

Tout d'abord, nous allons voir une méthode utilitaire:

/** 
* @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; 
} 

Nom de la méthode explique tout. Une fois que vous êtes sûr DownloadManager est disponible, vous pouvez faire quelque chose comme ceci:

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

progression du téléchargement sera affiché dans la barre de notification.

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); 
Questions connexes