Wie bekomme ich alle Dateien aus Assets Ordner

Ich versuche, alle Bilder in meinem Assets-Ordner mit den unten stehenden Codes zu erhalten

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

irgendwie bin ich mir nicht sicher über diesen Ausdruck

  • Füge RawContact hinzu, damit es zu einem bestehenden Kontakt aggregiert
  • Android Kontext ohne in einer Aktivität? Und andere aktivitätslose Programmierung?
  • Keytool erzeugt SHA1 Fingerabdruck statt MD5?
  • Packaging Handheld und tragbare Android App zusammen aus CLI
  • Fehler android SurfaceFlinger
  • Die URL des Assets konnte nicht geöffnet werden: file: /// android_asset / www /
  •  File f=new File("file:///android_asset/"); 

    Nun, ich weiß, dass beim Lesen einer txt-Datei oder HTML-Datei aus Assets-Ordner können Sie dies verwenden, aber würde Bilder auch akzeptieren?

    Ich habe dieses Problem mit dem unten stehenden Code gelöst

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

    falls jemand anderes wissen will

  • Fehler: Gradle: Ausführung fehlgeschlagen für Task ': app: preDexDebug'
  • ExpandableListView groupView Kontrollkästchen, das andere Gruppenansichten auftrifft
  • Mobile App: Wie zeigt man die OTP meine App sendet in einem Popup, ohne meine App zu verlassen?
  • Android: stretchColumns
  • Fehler beim Abrufen von übergeordneten Elementen: Keine Ressource gefunden, die dem angegebenen Namen entspricht @ style / Theme.Holo
  • Ist es möglich, Symbole in einem PopupMenu anzuzeigen?
  • One Solution collect form web for “Wie bekomme ich alle Dateien aus Assets Ordner”

    Im Allgemeinen können Sie den AssetManager verwenden , um Dateien in Ihrem Asset-Ordner zu verwalten. Aktivieren Sie in der Aktivität die Methode getAssets () , um eine AssetManager-Instanz zu erhalten.

    EDIT: Sie können den AssetManager verwenden, um Bilder wie folgt zu lesen:

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

    Beachten Sie, dass die BitmapFactory.decodeStream() -Methode standardmäßig auf UI-Thread läuft, also würde die App stecken bleiben, wenn das Bild zu groß ist. In diesem Fall können Sie die Sampleize ändern oder einen neuen Thread starten, um dies zu tun.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.