2011-12-13 1 views
22

Ho bisogno di ottenere il percorso assoluto alla cartella in Risorse. Alcuni, come questo per sd-card:assetMan android

final String sdDir = Environment.getExternalStorageDirectory() + "Files"; 

quello che faccio non è corretto?

enter image description here

Per prima cosa cercare di ottenere il percorso (in ractangle verde) in questo modo, ma io alwase ottenere "False". Quindi commento questo blocco e cerco di ottenere il percorso da getAssets(). List(); Ma ho 3 cartelle che vedo per la prima volta.

Voglio fare massiccia in questo modo "verde" ma ho bisogno di utilizzare i file da attività:

Look the image

mi aiuta a ottenere il percorso assoluto alla mia cartella File.

+0

[Guarda la schermata] (http://my.jetscreenshot.com/10682/20111213-pxu2-587kb.jpg) Come creare la stessa massiccia come "verde", ma usando file da risorse non sd-card? – Val

risposta

15

Non sono esattamente sicuro di quello che stai cercando di fare, quindi cercherò di coprire le basi, e forse questo aiuterà.

  • Se si sta solo cercando di ottenere un elenco di ciò che è in vostro patrimonio, quindi uso getAssets().list("Files"). (È necessario utilizzare la sottodirectory, a causa di this).

  • Se si sta tentando di ottenere un assoluto percorso della directory beni (o qualsiasi sottodirectory), non si può. Qualunque cosa sia nella directory delle risorse è nell'APK. Non è nella memoria esterna come su una scheda SD.

  • Se si sta tentando di aprire i file nella directory delle risorse, utilizzare AssetManager.open(filename) per ottenere il numero InputStream. Qui, il nome file deve essere il percorso relativo dalla directory delle risorse.


EDIT

Non sono sicuro di cosa si intende per "massiccio", ma se si desidera caricare il file black.png dalle attività al posto della scheda SD, quindi scrivo :

// must be called from Activity method, such as onCreate() 
AssetManager assetMgr = this.getAssets(); 
mColors = new Bitmap[] { 
    BitmapFactory.decodeStream(assetMgr.open("black.png")); 
    // and the rest 
}; 
+0

[Guarda lo schermo] (http://my.jetscreenshot.com/10682/20111213-pxu2-587kb.jpg) Come creare lo stesso massiccio come "verde", ma utilizzando file da risorse non sd-card? – Val

1

Le risorse sono memorizzate nel file APK in modo che non ci siano percorsi assoluti da quelli che l'applicazione può utilizzare. Ma, vorrei suggerire di dare un'occhiata al file: /// android_asset. Potrebbe adattarsi alle tue esigenze. Here is a good example su come visualizzare un asset in una WebView.

+0

Ho bisogno di questo percorso nella mia cartella File per usare immagini e suoni da questa cartella. Come posso farlo usando questo esempio? In esso utilizzava WebView e URL, non il percorso assoluto. – Val