2010-07-19 11 views
5

Klasörlerimin adlarını "öğeler" bölümünde almaya çalışıyorum. Bir AssetManager ile dosyaların isimlerini assetManager.list() yöntemini kullanarak alabilirim. Ancak problem sadece dosya adlarını değil, klasör adlarını döndürmesidir. Bu yüzden, listFiles() yöntemini kullanmaya çalışıyorum ancak Öğeler dizinine erişemiyorum; Ben aşağıdakileri deneyin ettik:Klasörün adını Varlıklar dizininden alın

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

Ama çalışmıyor :(... Varlıklar dizinde bulunan klasörler adları almanın bir yolu var mı

+0

Bu bağlantıyı okumak istediğiniz cevabı vardır ? – user3156262

cevap

2

URL "dosyasını: /// android_asset/"belirli bir dizine işaret etmez, sadece varlıkları ele almak için WebView tarafından kullanılır. Öğeler salt okunur ve derleme zamanında tanımlanır, bu nedenle dizin yapısının programcı tarafından bilinmesi varsayılır. , ama bu şekilde tasarlandı

+0

Argh! Hayır, ciddi misin? Bunu yapmanın hiçbir yolu yok mu? (Java yansımasını da denedim ama sadece Asset için değil Raw klasörü için çalışıyor). Karmaşık olsa bile ...? – Nox

+0

Derleme zamanında bir XML veya varlık dizininin içeriğini temsil eden başka bir yapı oluşturan bir komut dosyası oluşturmanızı öneririm. Neden çalışma zamanında yapmalısınız? – ognian

+0

Eh, benim app varlık dizini görüntüleri görüntüler, ancak varlıktaki klasörlerin bir hiyerarşisi vardır. Sanırım hiyerarşiyi isimde anlatacağım. Bir klasör "çiçekler" yerine "flowers/roses.jpg" gibi bir adla ve daha sonra hiyerarşi bulmak için adı işlemek. – Nox