2011-05-03 99 views
2

嗨我正在創建一個應用程序,使用我創建的相機應用程序製作照片,然後將這些圖像存儲在特定文件夾(PFC_Gallery)中。我遇到的問題是,我不知道如何更改存儲的圖像名稱,而不是覆蓋以前的圖像。我嘗試了一個變量imgCounter,每當我在下面的代碼中看到一張照片時就會增加,但是當我關閉應用程序時,此變量將從0重新開始,然後我覆蓋其他照片。如果有人知道任何解決方案,這將是非常有益的。更改存儲圖像的名稱

public static int imgCounter = 0; 

@Override 
public void onPictureTaken(byte[] data, Camera camera) { 

    File path = Environment 
      .getExternalStoragePublicDirectory(("PFC_Gallery")); 
    File file = new File(path, "IMG" + imgCounter + ".jpg"); 
    imgCounter++; 

    try { 
     path.mkdirs(); 
     OutputStream os = new FileOutputStream(file); 
     os.write(data); 
     os.close(); 

     MediaScannerConnection.scanFile(this, 
       new String[] { file.toString() }, null, 
       new MediaScannerConnection.OnScanCompletedListener() { 
        public void onScanCompleted(String path, Uri uri) { 
         Log.i("ExternalStorage", "Scanned " + path + ":"); 
         Log.i("ExternalStorage", "-> uri=" + uri); 
        } 
       }); 
    } catch (IOException e) { 
     Log.w("ExternalStorage", "Error writing " + file, e); 
    } 

} 

回答

0

聽起來就像在關閉應用程序時將最後一個數字存儲在首選項文件中一樣。

在OnCreate中加載從設置的最後一個數字文件

SharedPreferences settings = getSharedPreferences("settings", 0); 
    int n = settings.getInteger("lastNumber", 0); 

和的onStop

SharedPreferences settings = getSharedPreferences("settings", 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putInteger("lastNumber", n); 

    // Commit the edits! 
    editor.commit(); 

更多信息:http://developer.android.com/guide/topics/data/data-storage.html#pref

+0

它工作完美!謝謝!! – danizp 2011-05-07 14:31:01

0

保存imgCounter變量作爲偏好和負載當你開始活動時。

相關問題