該文從轉的,紅色字是自己標註的
方式一:
已將儲存到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檔案,...