2011-09-06 130 views
0

我搜索了許多與我的問題有關的問題。無論如何存儲圖像在內存中,它應該也出現在畫廊?將圖像保存到內部存儲器,並會出現在畫廊

+0

參考如果妳[R有意保存圖片到SD卡的話,我會給你的代碼爲。 –

+0

謝謝,但我已經設置了一個函數來保存圖像在SD卡上使用此.. [getExternalStoragePublicDirectory](http://developer.android.com/reference/android/os/Environment.html) 我想知道如果我可以在內部保存圖像,然後圖像將出現在畫廊 – 4ucai

回答

0

您可以將您的內部存儲器當作目錄並在其上寫入文件。示例代碼coulde被發現here。從內存加載圖像與從目錄中讀取二進制圖像文件相同。然後,您使用decodeByteArray將已讀取的文件轉換爲位圖並顯示在您的畫廊上。

這是another example保存圖像和顯示在屏幕上(但這是一個在web視圖,而不是畫廊)。

+0

感謝您的答覆,我使用此代碼將其內部保存在 – 4ucai

+0

謝謝你的答覆,我能夠保存圖像在內部的「data/data/com.example/files」目錄中。 我希望它被掃描以便它出現在手機圖庫中..我知道內部保存的圖像對您的應用程序是私人的。我確實嘗試使用「MediaScannerConnection.scanFile」掃描「data/data/com.example/files」目錄中的圖像。 我正在使用一個模擬器沒有SD卡連接,所以我寧願得到例外或錯誤,因爲手機會在庫中創建一個拇指(我認爲需要一個外部存儲 - sdcard來存儲它).. – 4ucai

+0

我想保存圖像內部爲Android手機沒有安裝SD卡,用戶提示保存圖像,他們可以在圖庫中查看圖像。 我也離開了徘徊相機拍攝照片保存在沒有SD卡的手機。 – 4ucai

1

這完全有可能,我以前做過。

在將圖像保存到內部存儲器(或稱爲應用程序文件夾等)之前,最好設置Context.MODE_WORLDREADABLE。儘管我設置了MODE_PRIVATE,並且在我運行MediaScanner後可以從圖庫中讀取,但我建議您爲安全考慮設置MODE_PRIVATE。

您保存到內部存儲器圖像後,你可以調用MediaScanner這樣的:

// call media scanner to refresh gallery 
MediaScannerConnection.scanFile(getApplicationContext(), new String[]{filePath}, null, new MediaScannerConnection.OnScanCompletedListener() { 
    @Override 
    public void onScanCompleted(String path, Uri uri) { 

     Log.i("MediaScanner", "Scanned " + path + ":"); 
     Log.i("MediaScanner", "-> uri=" + uri); 
    } 
}); 

複製/粘貼上面的代碼應該工作。然後你的形象將出現在畫廊。

Context

相關問題