2014-09-13 71 views
0

從SDcard獲取圖片路徑。 我的照片名稱是01.jpg。android_從SDcard獲取圖片

確保圖片在SD卡內。

public boolean fileIsExists(){ 
    try{ 
     File f1 = new File("/sdcard/01.jpg"); 
     f1 = new File("01.jpg"); 
     if(!f1.exists()){ 
      return true; 
     } 
    }catch (Exception e) { 
     // TODO: handle exception 
     return false; 
    } 
    return true; 
} 
boolean file1 = fileIsExists(); 

如果圖片在SD卡內,則將圖片放入imageview。

錯誤是在下面的代碼

if (file1==true){ 
    imageView = (ImageView)findViewById(R.id.image_view); 

    String myJpgPath = "/sdcard/01.jpg"; 
    BitmapFactory.Options options = new BitmapFactory.Options(); 
    options.inSampleSize = 0; 
    Bitmap bitmap = BitmapFactory.decodeFile(myJpgPath, options);//error here Cellphone can't run 
    imageView.setImageBitmap(bitmap); 
} 

enter image description here

+0

哪種類型的錯誤得到些什麼? – ckpatel 2014-09-13 06:34:44

+0

從手機:此應用程序已停止工作。 – Chunhao 2014-09-13 06:46:15

+1

String imageInSD = Environment.getExternalStorageDirectory()。getAbsolutePath()+「/ 01.jpg」; 位圖位圖= BitmapFactory.decodeFile(imageInSD); ImageView myImageView =(ImageView)findViewById(R.id.imageview); myImageView.setImageBitmap(bitmap); – ckpatel 2014-09-13 06:50:04

回答

0

更改+ 「SD卡/ 01.JPG」;到+「/ 01.jpg」;

(並確保位圖位圖是不是重複的局部變量。)

if (file1==true){ 
    String myJpgPath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/01.jpg"; 
    BitmapFactory.Options options = new BitmapFactory.Options(); 
    options.inSampleSize = 0; 
    Bitmap bitmap = BitmapFactory.decodeFile(myJpgPath, options); 
    imageView.setImageBitmap(bitmap); 
} 
0

試試看下面的代碼。

File f = new File("/mnt/sdcard/01.jpg"); 
ImageView mImgView1 = (ImageView)findViewById(R.id.imageView); 
Bitmap bmp = BitmapFactory.decodeFile(f.getAbsolutePath()); 
mImgView1.setImageBitmap(bmp); 
+0

但我的其他應用程序可以運行沒有任何錯誤。只有這個程序提醒錯誤。 – Chunhao 2014-09-13 06:49:31

0

設置你這樣的路徑:

String myJpgPath = Environment.getExternalStorageDirectory().getAbsolutePath()+"folderName/01.jpg"; 
+0

但我的其他應用程序可以運行沒有任何錯誤。只有這個程序提醒錯誤。 – Chunhao 2014-09-13 06:48:56