Comment obtenir tous les fichiers à partir du dossier des ressources

J'essaie d'obtenir toutes les images dans mon dossier d'actifs en utilisant les codes ci-dessous

private List<String> getImage() { /* 设定目前所在路径 */ List<String> it=new ArrayList<String>(); File f=new File("file:///android_asset/"); File[] files=f.listFiles(); Log.d("tag", "读取asset资源"); /* 将所有文件存入ArrayList中 */ for(int i=0;i<files.length;i++) { File file=files[i]; if(getImageFile(file.getPath())) it.add(file.getPath()); } return it; } private boolean getImageFile(String fName) { boolean re; /* 取得扩展名 */ String end=fName.substring(fName.lastIndexOf(".")+1, fName.length()).toLowerCase(); /* 按扩展名的类型决定MimeType */ if(end.equals("jpg")||end.equals("gif")||end.equals("png") ||end.equals("jpeg")||end.equals("bmp")) { re=true; } else { re=false; } return re; } 

D'une certaine façon, je ne suis pas sûr de cette expression

  • L'événement clé ne déclenche pas sur Firefox sur Android lorsque la suggestion des mots est activée
  • Comment insérer une listePréférence à l'une de ses valeurs
  • L'application Phonegap décède en arrière-plan lors de la collecte du lieu
  • Utilisation correcte de Classloader (en particulier dans Android)
  • Dialog.setTitle ne montre pas de titre
  • Supprimer la notification après avoir cliqué
  •  File f=new File("file:///android_asset/"); 

    Eh bien, je sais que lorsque vous lisez un fichier txt ou un fichier html à partir du dossier d'actifs, vous pouvez l'utiliser, mais les images l'accepteraient-elles également?

    J'ai résolu ce problème en utilisant le code ci-dessous

     private List<String> getImage() throws IOException { AssetManager assetManager = getAssets(); String[] files = assetManager.list("image"); List<String> it=Arrays.asList(files); return it; } 

    Au cas où quelqu'un d'autre voudrait savoir

  • Android ADB n'a pas réussi à éclipser
  • LinearLayout minHeight ne fonctionne pas avec le poids = "1"
  • Android Comment ajouter des intervalles dans une barre de recherche
  • Quels sont les frais à développer sur iOS, Android et WP?
  • La vidéo ne fait pas de pause dans le fragment ViewPager
  • Obtenez le titre de la sonnerie de RingtonePreference
  • One Solution collect form web for “Comment obtenir tous les fichiers à partir du dossier des ressources”

    En général, vous pouvez utiliser AssetManager pour gérer les fichiers dans votre dossier d'actifs. Dans l'activité, appelez la méthode getAssets () pour obtenir une instance AssetManager.

    EDIT: vous pouvez utiliser AssetManager pour lire des images comme ceci:

     AssetManager am=this.getAssets(); try { Bitmap bmp=BitmapFactory.decodeStream(am.open("009.gif")); chosenImageView.setImageBitmap(bmp); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

    Notez que la méthode BitmapFactory.decodeStream() s'exécute par défaut sur le thread UI, de sorte que l'application serait bloquée si l'image est trop grande. Dans ce cas, vous pouvez modifier l'échantillonnage ou commencer un nouveau fil pour le faire.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.