2017-10-15 97 views
0

好的,我完全編輯這篇文章......我已經做到了,以便我可以將文件路徑保存到我的數據庫。這工作,並保存爲/ storage/emulated/0/1508blah blah.jpg。現在我無法讓我的代碼將這個項目讀回到圖片中。保存和檢索圖像的問題

imagePhoto = (ImageView)findViewById(R.id.detail_recipe_image); 
    Toast.makeText(this, recipe.image, Toast.LENGTH_SHORT).show(); 
    Bitmap bmp = BitmapFactory.decodeFile(String.valueOf(recipe.image)); 
      imagePhoto.setImageBitmap(bmp); 

我在這裏錯過了什麼?導致吐司正在閱讀recipe.image就好了,正在顯示路徑。爲什麼其他人不顯示圖像?

存儲空間的代碼

private void onCaptureImageResult(Intent data) { 
    Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); 
    ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
    thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, bytes); 
    File destination = new File(Environment.getExternalStorageDirectory(), 
      System.currentTimeMillis() + ".jpg"); 
    String picturePath = destination.toString(); 
    FileOutputStream fo; 
    try { 
     destination.createNewFile(); 
     fo = new FileOutputStream(destination); 
     fo.write(bytes.toByteArray()); 
     fo.close(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    textImagePath.setText(picturePath.toString()); 
    ImageView img = (ImageView)findViewById(R.id.addphotoview); 
    img.setImageBitmap(thumbnail); 
} 
+1

使用BLOBs是**反模式**。爲自己(和你的用戶)做一個好處:只保存文件路徑或URL。 –

+0

你是什麼意思,你可以提供一個例子,或者直接給我一個鏈接的例子。因爲迄今爲止我已經完成了這個應用程序,但是這些圖像似乎在踢我的屁股。 – Koumintang

+0

路徑和URL是字符串。純字符串。沒有什麼需要討論的。 –

回答

0

添加的文件的路徑似乎是我有讓你@ModularSynth與此您的幫助,這個問題的最佳解決方案。始終確保所有信息都是您的代碼,以使文件路徑起作用。