0
如何將位圖圖像寫入內部存儲器(更喜歡如果我可以將位圖保存在我自己的目錄中,例如「/ data/data/com .myapp/myfolder/img1.png「)我需要將多個圖像保存到此目錄中。將多個圖像保存到上述目錄後,我需要在列表活動中顯示保存的圖像,如何將多個位圖圖像保存到內部存儲器並讀入列表活動
方法用於保存圖像內部存儲
private void saveToInternalSorage(Bitmap bitmapImage,String filename){
ContextWrapper cw = new ContextWrapper(getApplicationContext());
File directory = cw.getDir("myfolder", Context.MODE_PRIVATE);
File mypath=new File(directory,filename+ ".png");
FileOutputStream fos = null;
try {
// fos = openFileOutput(filename, Context.MODE_PRIVATE);
System.out.println("mypath = "+mypath);
fos = new FileOutputStream(mypath);
// Use the compress method on the BitMap object to write image to the OutputStream
bitmapImage.compress(Bitmap.CompressFormat.PNG, 100, fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
從內部存儲讀取圖像。
private File [] loadInternalImages(){
ContextWrapper cw = new ContextWrapper(getApplicationContext());
File directory = cw.getDir("myfolder", Context.MODE_PRIVATE);
File[] imageList = directory.listFiles();
if(imageList == null){
imageList = new File[0];
}
Log.i("My","ImageList Size = "+imageList.length);
return imageList;
}
問候, 山姆
到目前爲止你做了什麼?你有什麼麻煩? – 2011-05-18 10:41:54
我已經用我使用的方法更新了問題,當我讀取內部存儲時,我得到了零列表大小。 – Sam 2011-05-18 11:40:03
做一些進一步的調查 - 檢查您的位圖是否正確保存在內部存儲。檢查你的目錄是否被創建,在你的代碼中你沒有創建它。 – 2011-05-18 12:06:04