-1
私はAndroid Studioでカメラを作成し、撮影した画像をギャラリーに保存したいと考えています。
私はCamera2 Api
を使用していますが、実際に画像を保存する方法はわかりません。
さらに、私の写真がどこに保存されるのか分かりません。アプリは言う:Saved: /storage/emulated/1.jpg
。ここでAndroidのギャラリーに画像を保存する方法は?
はいくつかのコードです:
mFile = new File(Environment.getExternalStorageDirectory() + "1.jpg");
private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
mBackgroundHandler.post(new ImageSaver(reader.acquireNextImage(), mFile));
}
};
private static class ImageSaver implements Runnable {
/**
* The JPEG image
*/
private final Image mImage;
/**
* The file we save the image into.
*/
private final File mFile;
public ImageSaver(Image image, File file) {
mImage = image;
mFile = file;
}
@Override
public void run() {
ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();
byte[] bytes = new byte[buffer.remaining()];
buffer.get(bytes);
FileOutputStream output = null;
try {
output = new FileOutputStream(mFile);
output.write(bytes);
} catch (IOException e) {
e.printStackTrace();
} finally {
mImage.close();
if (null != output) {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
次の問題は、私はより多くの写真を保存する方法がわからないこと、です。この場合、常に1.jpg
が上書きされます。ギャラリーであなたの写真を追加するには