0
votes

Comment puis-je télécharger une image à l'aide de Glide à partir d'un dossier externe?

Je développe une application pour ma tante: l'application affiche des recettes dans une vue de carte à l'intérieur d'une vue Recycler, les données proviennent d'un dB SQLite.

Les images du moment sont simplement statiques à l'intérieur @ drail / .. . J'ai lu le dossier "@Drable" est compilé dans l'APK et non accessible après le fait. Par conséquent, la nécessité de stocker les images à l'extérieur.

Le DB stocke les noms de fichiers.

La carte affiche les informations de base, lorsqu'une carte est cliquée, elle ouvre une autre activité qui affiche des informations complètes. < / p>

Tout fonctionne parfaitement sauf

Je veux évidemment qu'elle puisse pouvoir télécharger des images et ajouter des informations, les images seront stockées dans: "/ SDCard / Photos / Recettes / "

In AM à l'aide de GLIDE selon les recommandations recommandées, cependant Glide signale l'erreur suivante: xxx

si j'utilise le code suivant: xxx

Le journal affiche le "fichier existe", cependant, glisse ne chargera pas et ne signale pas l'erreur susmentionnée.


2 commentaires

Utilisez cette String image = Environnement.getexternalStorageDirectory () + "/ Images / Recettes /Carrot_cake.jpg"; comme chemin


@Knight combattant, obsolète depuis l'API 29, merci, n'a pas fonctionné


3 Réponses :


0
votes

Essayez ceci xxx


0 commentaires

0
votes

Vérifiez ceci:

String path = Environment.getExternalStorageDirectory().toString() + "/Pictures/Recipes/carrot_cake.jpg";
if( file.exists() && file.canRead() ) {
    Log.d( TAG, "File exists" );
    Glide.with( context ).load( new File(path)).into( foodImage ); // foodImage = ImageView
}


1 commentaires

Merci @ Knight-Fighter et Autres, mais j'aurais dû mentionner, j'ai essayé tous de ceux-ci et de nombreuses autres suggestions, aucune ne semble fonctionner. P.S priyank-py Vous devez faire le fichier de fichiers = nouveau fichier (...) avant de tester l'existence;)



0
votes

Après de nombreuses recherches et la tête battant Le code suivant est largement modifié pour la brièveté et la simplicité, évidemment la lecture de fichiers irait dans un objet personnalisé et l'adaptateur de la vue de recyclage mis à jour.

File folder = new File( getExternalFilesDir( Environment.DIRECTORY_PICTURES ) + IMAGE_DIR );  // where IMAGE_DIR is the folder you want to save or retrieve files from
File[] fileList = folder.listFiles();
String fileName = fileList[0].getPath();
Glide.with( context ).load( fileName ).into( imageView );


0 commentaires