assets下的檔案都包裝成Drawable物件

2021-07-09 21:15:22 字數 1485 閱讀 5929

該文從轉的,紅色字是自己標註的

方式一:

已將儲存到drawable目錄下,通過id獲得drawable或者bitmap,此方式最常用。(若只知道的名稱,還可以通過的名稱獲得的id)

(1)通過id獲得drawable

drawable drawable=getresource().getdrawable(r.drawable.***);

(2)通過id獲得bitmap

resource res=gerresource();

bitmap bitmap=bitmapfactory.decoderesource(res, id);

(3)通過的名稱獲得的id(兩種方法)

int id =res.getidentifier(name, deftype, defpackage); //name:的名,deftype:資源型別(drawable,string。。。),defpackage:工程的包名

drawable drawable=getresource().getdrawable(id);

方式二:

已將儲存到assest目錄下,知道的名稱,通過inputstream獲得drawabl

或者 bitmap

assetmanager asm=getassetmg();

inputstream is=asm.open(name);//name:的名稱

(1)獲得drawable

drawable da = drawable.createfromstream(is, null);

(2)獲得bitmap

bitmap bitmap=bitmapfactory.decodestream(is);

方式三: 儲存在sdcard,通過的路徑h

/路徑string imgfilepath = environment.getexternalstoragedirectory().tostring()

+ 「/dcim/device.png」;

(1)檔案輸入流

fis = new fileinputstream(new file(imgfilepath));//檔案輸入流

bitmap bmp = bitmapfactory.decodestream(fis);

(2)imageview iv = (imageview) findviewbyid(r.id.image);   

bitmap bit = bitmapfactory.decodefile("/sdcard/android.bmp");      

iv.setimagebitmap(bit);

setimagedrawable方法傳入引數是的絕對路徑,所以直接將所在路徑直接寫入就可以顯示了

assets下的檔案都包裝成Drawable物件

該文從轉的,紅色字是自己標註的 方式一 已將儲存到drawable目錄下,通過id獲得drawable或者bitmap,此方式最常用。若只知道的名稱,還可以通過的名稱獲得的id 1 通過id獲得drawable drawable drawable getresource getdrawable r....

在assets中的檔案

assets資源與其他的資源都不一樣。該資源所在的目錄不在res目錄中。而是與res平級的assets目錄 這個目錄的資源都不會生成資源id 因此,在讀取這些資源檔案時需要直接使用資源檔名。例如在assets中有乙個test.txt檔案,以下是用 讀取該檔案的方法 try 開啟test.txt檔案,...

在assets中的檔案

assets資源與其他的資源都不一樣。該資源所在的目錄不在res目錄中。而是與res平級的assets目錄 這個目錄的資源都不會生成資源id 因此,在讀取這些資源檔案時需要直接使用資源檔名。例如在assets中有乙個test.txt檔案,以下是用 讀取該檔案的方法 try 開啟test.txt檔案,...