[轉(zhuǎn)]getResources()小結(jié)

Android --- 讀取系統(tǒng)資源函數(shù)
開發(fā)中經(jīng)常用到 getResources() 函數(shù),
百度了下如何使用 res 或者 assets 的文件,現(xiàn)在終于知道了其用法,記錄下來以便有朋友能使用到。

概要說明:數(shù)據(jù)包package:android.content.res主要類:ResourcesInputStream openRawResource(int id) 獲取資源的數(shù)據(jù)流,讀取資源數(shù)據(jù)把一個圖片資源,添加你的文件到你工程中res/drawable/目錄中去,可以在代碼或XML布局中,引用它也可以用資源編號,比如你選擇一個文件只要去掉后綴就可以了
(例如:mmm_image.png 引用它是就是mm_image)。
當(dāng)需要使用的xml資源的時候,就可以使用context.getResources().getDrawable(R....資源的地址如:R.String.ok);當(dāng)你方法里面沒有Context參數(shù),可以 this.getContext().getResources();這樣就可以了。下面詳細說明一下使用場景:1、需要使用getResource()的時候一定要注意 必須要有Context, 這個一般的service或者activity即帶有 可以用作成員變量,構(gòu)造傳入或方法參數(shù)傳入就可以了2、引用xml文件時,可能通過:getResources().getXml()獲的XML原始文件,然后再得到、XmlResourceParser對象

XmlResourceParser xrp = mRes.getXml(R.xml.personal);
而利用R....可以指定文件夾下面的某個xml文件進行加載使用

3、其它的一些文件讀取方法a、把資源文件放到應(yīng)用程序的/raw/raw下,那么就可以在應(yīng)用中使用getResources獲取資源后,

以openRawResource方法(不帶后綴的資源文件名)打開這個文件

Resources myResources = getResources();
InputStream myFile = myResources.openRawResource(R.raw.xx_filename);

與普通java程序一樣,android提供了openFileInput和openFileOutput方法來讀取設(shè)備上的文件
InputStream fs=this.getResources().openRawResource(R.raw.index.htm); (資源文件名為index.html, 不需要帶后綴.htm)
InputStreamReader read =new InputStreamReader (fs,"utf-8");

BufferedReader in = new BufferedReader(read);

b、讀取res/drawable目錄下的png或者bmp
//得到Resources對象
Resources r =this.getContext().getResources();

//以數(shù)據(jù)流的方式讀取資源
Inputstream is = r.openRawResource(R.drawable.mm_image);
BitmapDrawable bmpDraw = new BitmapDrawable(is);
Bitmap bmp = bmpDraw.getBitmap();

如果需要利用圖片解碼器,如下使用:

InputStream is = getResources().openRawResource(R.drawable.icon);
Bitmap mBitmap = BitmapFactory.decodeStream(is);
Paint mPaint =new Paint();
canvas.drawBitmap(mBitmap, 40, 40, mPaint);

摘自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1201/655.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,355評論 0 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,591評論 19 139
  • 1.概況 Android APK是如何來的呢?懷著這個問題去查資料,發(fā)現(xiàn)了下邊這張圖。 由android的項目經(jīng)過...
    KaelQ閱讀 20,078評論 4 55
  • ¥開啟¥ 【使用jni實現(xiàn)Tost】 〖2017-08-20 22:15:04〗 《在xx.cpp中寫入以下代碼€...
    小菜c閱讀 928評論 0 1
  • 它并不美 它落后 它貧窮 但它沒有悲傷 它只是跟不上你的步伐
    詩篇_8221閱讀 135評論 0 1

友情鏈接更多精彩內(nèi)容