2011-05-18 54 views
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; 
    } 

問候, 山姆

+1

到目前爲止你做了什麼?你有什麼麻煩? – 2011-05-18 10:41:54

+0

我已經用我使用的方法更新了問題,當我讀取內部存儲時,我得到了零列表大小。 – Sam 2011-05-18 11:40:03

+0

做一些進一步的調查 - 檢查您的位圖是否正確保存在內部存儲。檢查你的目錄是否被創建,在你的代碼中你沒有創建它。 – 2011-05-18 12:06:04

回答

1

可能是你可以嘗試imageList.size代替imageList.length檢查,如果您的列表正確fullfilled。

相關問題