2010-07-19 30 views
5

Sto cercando di ottenere i nomi delle mie cartelle in "risorse". Posso ottenere i nomi dei file con un AssetManager usando il metodo assetManager.list(). Ma il problema è che restituisce solo i nomi dei file e non i nomi delle cartelle. Quindi sto cercando di utilizzare il metodo listFiles() ma non riesco ad accedere alla directory delle risorse; Ho provare quanto segue:Ottieni nome cartelle dalla directory delle risorse

File dir = new File ("file:///android_asset/"); 
File[] files= dir.listFiles(); 

Ma non funziona :(... C'è un modo per ottenere i nomi delle cartelle contenute nella cartella Assets del file

+0

Leggi questo link ha la risposta che desideri ? – user3156262

risposta

2

L'URL "?: /// android_asset/"non punta ad una particolare directory, è usata solo da WebView per indirizzare le risorse. Le risorse sono di sola lettura e definite in fase di compilazione, quindi si presume che la loro struttura di directory sia nota al programmatore. , ma è così che è stato progettato

+0

Argh! No, tu sei serio? Non c'è davvero alcun modo per fare questo? (Ho provato anche Java reflection ma funziona solo con la cartella Raw e non con Asset). Anche se è complesso ...? – Nox

+0

Suggerirei di creare uno script che genera in compilazione un XML o un'altra struttura che rappresenta il contenuto della directory delle risorse. Perché hai bisogno di fare in runtime? – ognian

+0

Bene, la mia app visualizza le immagini dalla directory degli asset ma si trovano in una gerarchia di cartelle nella risorsa. Penso che indicherò la gerarchia nel nome allora. Con nome come "fiori/roses.jpg" invece di una cartella "fiori" e quindi manipolare il nome per trovare la gerarchia. – Nox

Problemi correlati