各位Android安卓開發者大家安安大家好 ^^ 
  | 
  
    今天小黑人要與大家分享的是"讀取Assets資料夾圖片",原因就是在開發過程中不一定每個圖片資源都會擺放在Resources裡的Drawable資料夾內,可能會有許多不只是圖片檔案或音訊檔案放入Assets資料夾,例如HTML靜態資料或文字檔案或文字字型...等會擺放附加在Assets資料夾內,那Assets資料夾內的檔案要怎麼讀取呢?小黑人今天就以讀取圖片為例子與大家分享簡單快速的方法。 
 
 | 
  
     | 
    
  
    | 1.讀取Assets資料夾內的檔案只需要在程式裡(.java)撰寫即可。 | 
  
    public  class MainActivity extends Activity  
{ 
    private ImageView img; 
    private Button btn; 
         
    @Override 
    protected void onCreate(Bundle  savedInstanceState)  
    { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.main); 
         
       //顯示Assets資料夾圖片的ImageView與進行讀取Assets資料夾圖片的Button 
       img = (ImageView)  findViewById(R.id.img); 
       btn = (Button) findViewById(R.id.assets); 
 
       btn.setOnClickListener(new  OnClickListener() 
       { 
          @Override 
          public void  onClick(View arg0)  
          { 
             //帶入Assets資料夾內的圖片路徑(Assets資料夾: android資料夾/black圖片) 
             img.setImageBitmap(getBitmapFromAssets("android/black.png")); 
          } 
       }); 
    } 
         
    //讀取Assets資料夾圖片,型態為Bitmap 
    private Bitmap  getBitmapFromAssets(String file)  
    { 
       try   
       {   
          AssetManager am =  getAssets();   
          InputStream is =  am.open(file);   
          return bitmap; 
       }   
       catch (IOException e)   
       {   
          e.printStackTrace();   
          return null;   
       }   
    } 
} | 
  
     | 
  
    以上就是讀取並顯示Assets資料夾內圖片的實作程式碼,大家可以參考看看唷 ^^ 
如有任何問題都可以和小黑人一起交流討論喔~謝謝大家~! XDD | 
  
     | 
  
 
getBitmapFromAssets return bitmap 不可能吧
回覆刪除您好,很抱歉這麼久才回覆您,
刪除您的疑問是getBitmapFromAssets這個方法吧?
return bitmap是可以的喔,
因為getBitmapFromAssets方法形態是bitmap,所以必須回傳bitmap,
然後藉由AssetManager取得Assets資料夾內的資料,
前提當然要帶入圖片格式檔案的路徑就可以囉(其他檔案格式就不行,如文字檔...),
感謝您的留言!
InputStream 沒轉成 Bitmap 怎麼 return
回覆刪除