2010-07-19 14 views
5

Próbuję uzyskać nazwy moich folderów w "zasobach". Mogę pobrać nazwy plików za pomocą narzędzia AssetManager za pomocą metody assetManager.list(). Problem polega jednak na tym, że zwraca tylko nazwy plików, a nie nazwy folderów. Próbuję użyć metody listFiles(), ale nie mogę uzyskać dostępu do katalogu zasobów; Mam spróbuj wykonać następujące czynności:Uzyskaj nazwę folderu z katalogu zasobów

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

Ale to nie działa :(... Czy istnieje sposób, aby uzyskać nazwy folderów zawarty w katalogu Assets

+0

Przeczytaj ten link, który ma odpowiedź, której potrzebujesz ? – user3156262

Odpowiedz

2

URL „plik?: /// android_asset/"nie wskazuje konkretnego katalogu, jest używany tylko przez WebView do adresowania zasobów, a zasoby są tylko do odczytu i definiowane podczas kompilacji, więc zakłada się, że ich struktura katalogów jest znana programistom. , ale w ten sposób został zaprojektowany

+0

Argh! Nie, jesteś poważny? Czy naprawdę nie ma sposobu, aby to zrobić? (Próbowałem również odbić w Javie, ale działa tylko w przypadku folderu Raw, a nie w Zasobie). Nawet jeśli jest skomplikowany ...? – Nox

+0

Proponuję utworzyć skrypt generujący w czasie kompilacji XML lub inną strukturę reprezentującą zawartość katalogu asset. Dlaczego musisz robić w środowisku wykonawczym? – ognian

+0

Cóż, moja aplikacja wyświetla obrazy z katalogu zasobów, ale są one w hierarchii folderów w zasobie. Myślę, że wtedy wskażę hierarchię w nazwie. Z nazwą taką jak "flowers/roses.jpg" zamiast folderu "kwiaty", a następnie manipuluj nazwą, aby znaleźć hierarchię. – Nox