2011-12-13 83 views
22

我需要獲取資產中的文件夾的絕對路徑。 一些像這樣的SD卡:android資產管理器

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

我做錯了什麼?

enter image description here

首先,我試圖讓路(綠色ractangle)這種方式,但我alwase得到「假」。 然後我評論這個塊,並嘗試從getAssets()。list()獲取路徑; 但我第一次看到3個女巫。

我要讓大量這樣的「綠色」,但我需要從資產使用文件:

Look the image

幫我去我Files文件夾的絕對路徑。

+0

[查看屏幕(http://my.jetscreenshot.com/10682/20111213-pxu2-587kb.jpg) 如何創建相同的塊狀像「綠色」,但使用資產而不是SD卡的文件? – Val 2011-12-13 22:59:22

回答

15

我不完全確定你想要做什麼,所以我會盡量掩蓋基地,也許這會有所幫助。

  • 如果你只是想獲得的東西在你的資產,然後 使用getAssets().list("Files")列表。 (由於this,您必須使用子目錄 )。

  • 如果你想獲得一個絕對路徑,您的資產目錄 (或任何子目錄),你不能。不管資產目錄 是在APK中。它不在像SD卡上的外部存儲器中。

  • 如果您嘗試打開資產目錄中的文件,請使用 AssetManager.open(filename)獲取InputStream。這裏, 文件名應該是資產目錄的相對路徑。


編輯

我不知道你所說的「大規模」的意思,但如果你要加載從資產,而不是SD卡的文件black.png,然後寫這:

// 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

[看看屏幕](http://my.jetscreenshot.com/10682/20111213-pxu2-587kb.jpg) 如何創建相同的大規模像「綠色」,但使用資產的文件而不是SD卡? – Val 2011-12-13 23:02:02

1

資產存儲在APK文件中,因此沒有絕對路徑比您的應用程序無法使用。但是,我建議看一下file:/// android_asset。它可能適合您的需求。 Here is a good example關於如何在WebView中顯示資產。

+0

我需要這個路徑到我的文件夾來使用這個文件夾中的圖像和聲音。我怎樣才能使用這個例子做到這一點?它使用WebView和URL,而不是絕對路徑。 – Val 2011-12-13 20:51:57