您好,我正在制作一个应用程序,在该应用程序中,我使用自己创建的相机应用程序拍摄照片,然后将这些图像存储在特定文件夹 (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);
}
}
最佳答案
你可以设置一个Shared Preference维护您的图像计数器。
关于android - 更改存储图像的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5873166/