趙雅智_AndroidのgetResources()リソースリファレンス


今日はAndroidのスクラッチプロジェクトをして、getResourcesをたくさん使いました.
<span style="font-size:12px;">		//     
		//  1:res      ,  2:id    id
		after = BitmapFactory.decodeResource(getResources(), R.drawable.b);
		before = BitmapFactory.decodeResource(getResources(), R.drawable.a);</span>

最初はgetResources()という方法でシステムに存在するリソースを取得できる理由がよく理解されていませんでした.そこで文書を見て、資料をめくってみました.
パケットpackage:android.content.res主要クラス:Resources
InputStream openRawResource(int id)リソースのデータストリームを取得し、リソースデータを読み出す
画像リソースを、あなたのプロジェクトのres/drawable/ディレクトリに追加します.ここから、コードやXMLレイアウトに参照することができます.つまり、リソース番号を参照することもできます.例えば、ファイルを選択すると接尾辞を削除すればいいです(例えば、my_image.pngはそれをmy_imageと参照します).
使用するxmlリソースが必要な場合はcontextを使用することができる.getResources().getDrawable(R....リソースのアドレス:R.String.ok);
メソッドにContextパラメータがない場合は、これを使用します.getContext().getResources();これでいいです.
注意、getResource()を使うときは注意
1、Contextが必要
2、メンバー変数として使用でき、入力またはメソッドパラメータ入力を構築できます.それでいいです.
リソースファイルをアプリケーションの/raw/rawの下に置く
アプリケーションでgetResourcesを使用してリソースを取得した後、openRawResourceメソッド(接尾辞なしのリソースファイル名)でこのファイルを開きます.例:
Resources myResources = getResources();  
InputStream myFile = myResources.openRawResource(R.raw.myfilename);  

従来のjavaファイル操作と同様にandroid ApiではopenFileInputメソッドとopenFileOutputメソッドが提供され、デバイス上のファイルを読み込むことができます.
InputStream fs =this.getResources().openRawResource(R.raw.kb); (      kb.html,       .html)  
InputStreamReader read = new InputStreamReader (fs,”gb2312″);  
BufferedReader in = new BufferedReader(read); 

res/drawableディレクトリのpngまたはbmgを読み込む
//  Resources    
Resources r = this.getContext().getResources();  
//             
Inputstream is = r.openRawResource(R.drawable.my_background_image);  
BitmapDrawable bmpDraw = new BitmapDrawable(is);  
Bitmap bmp = bmpDraw.getBitmap();  

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