天天看點

android assets存儲,android資料存儲--assets

asset與res、raw的不同

assets:用于存放需要打包到應用程式的靜态檔案,以便部署到裝置中。assets支援任意深度的子目錄。在編譯的時候不會編譯assets下的資源檔案,且這些檔案不會生成任何資源ID。

res:用于存放應用程式的資源(如圖示、GUI布局等)

raw:存放通用的檔案, 該檔案夾内的檔案将不會被編譯成二進制檔案,按原樣複制到裝置上。

通路assets目錄下的資源檔案

可以通過AssetManager類來通路assets目錄下的資源檔案。

獲得AssetManager執行個體的方法:

Context.getAssets()

getResources().getAssets()

通路asset檔案夾下的檔案(比如文本、圖檔,不能是檔案夾):

Context.getAssets().open(“sample.txt”)

WebView加載assets下的html檔案:

WebView.loadUrl(“file:///android_asset/sample.html”);

使用assets目錄下的圖檔資源:

InputStream is=getAssets().open("Image/sample.jpg");

Bitmap bitmap=BitmapFactory.decodeStream(is);

imgShow.setImageBitmap(bitmap);

播放assets目錄下的音樂

//openFd(String fileName)方法根據檔案名來擷取原始資源對應的AssetFileDescriptor資源描述

AssetFileDescriptor afd = am.openFd(music);

mPlayer.reset();

// 使用MediaPlayer加載指定的聲音檔案。

//getStartOffset():傳回asset中項的資料位元組開始偏移

//getLength():傳回該asset中項的資料的總位元組數。

mPlayer.setDataSource(afd.getFileDescriptor(),

afd.getStartOffset(), afd.getLength());

// 準備聲音

mPlayer.prepare();

// 播放

mPlayer.start();