AssetManager用於獲取assets下的資源。html
一、getassets()獲得AssetManager
二、AssetManager.close() 關閉AssetManager
三、Resources和Assets 中的文件只能夠讀取而不能進行寫的操做。
四、AssetManager類經常使用方法:android
返回指定路徑下的全部文件及目錄名: final String[] list(String path)
使用 ACCESS_STREAMING模式打開assets下的指定文件: final InputStream open(String fileName)
使用顯示的訪問模式打開assets下的指定文件: final InputStream open(String fileName, int accessMode)
訪問assets下的資源:web
一、訪問assets下的網頁:this
//實例化WebView對象 webview = new WebView(this); //加載需網頁 webview.loadUrl("file:///android_asset/index.html"); setContentView(webview);
注意:文件名字不能帶有空格和其餘非法字符,只能英文字母大小、數字、下劃線。spa
二、訪問圖片和文本文件code
AssetManager asset=getAssets(); InputStream in=null; try { in=asset.open("images/logo.gif"); Bitmap bitmap=BitmapFactory.decodeStream(in); imageview1.setImageBitmap(bitmap); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { in=asset.open("test/test.txt"); ByteArrayOutputStream outSteam = new ByteArrayOutputStream(); byte[] buffer=new byte[1024]; int byteCount=0; while((byteCount=in.read(buffer))!=-1){ outSteam.write(buffer,0,byteCount); } byte[] buffer1=outSteam.toByteArray(); String str=new String(buffer1); Log.i("Test", str); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
三、獲取assets的文件及目錄名:htm
// path爲文件夾路徑 String fileNames[] =context.getAssets().list(path);