Android 我应该让用户在哪里保存他们在我的应用程序上制作的图像
我的用户在我的应用程序上制作自定义图像,我不确定他们保存时应该使用哪个目录。我应该使用Android 我应该让用户在哪里保存他们在我的应用程序上制作的图像,android,Android,我的用户在我的应用程序上制作自定义图像,我不确定他们保存时应该使用哪个目录。我应该使用MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI?基本上MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI是内容解析程序的一部分,允许您从用户设备读取和写入资源。您需要问问自己,将他们的图像保存到设备中是否好。您可以在私人或公共场合保存图像,这仍然由您决定。有内部存储和外部存储,无论您的应用程序被删除时是否需要删除所有
MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI
?基本上MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI
是内容解析程序的一部分,允许您从用户设备读取和写入资源。您需要问问自己,将他们的图像保存到设备中是否好。您可以在私人或公共场合保存图像,这仍然由您决定。有内部存储和外部存储,无论您的应用程序被删除时是否需要删除所有图像,或者您不希望其他应用程序访问您用户创建的照片使用内部存储,否则使用外部存储。请查看此内容,逐步了解原因,如何将文件保存到应用程序中。您可以在设备的内部存储器中创建自己应用程序的目录,并将应用程序生成的所有图片存储在该目录中
您可以使用
File directory = new File(Environment.getExternalStorageDirectory() + File.separator + "<app name>");
if(!directory.exists){
directory.mkdirs;
}
File directory=新文件(Environment.getExternalStorageDirectory()+File.separator+“”);
如果(!directory.exists){
directory.mkdirs;
}
然后将图片存储在此路径中
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String name = "<image name>"+n+".jpg";
File pictureFile = new File(directory, name);
pictureFile.createNewFile();
try {
FileOutputStream out = new FileOutputStream(pictureFile);
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
Random generator=new Random();
int n=10000;
n=发电机。下一个(n);
字符串名称=“n+”.jpg”;
File pictureFile=新文件(目录、名称);
pictureFile.createNewFile();
试一试{
FileOutputStream out=新的FileOutputStream(pictureFile);
压缩(Bitmap.CompressFormat.JPEG,90,out);
out.close();
}捕获(例外e){
e、 printStackTrace();
}
另一种选择文件名的好方法是按时间,就像照相机应用程序一样,这样无论创建多少新文件,都不会有两个同名文件。是的。这是另一种可能性。你可以在外部存储目录中为你的应用图片创建一个新文件夹;或者在公共目录->图片->应用程序中;或者在DCIM->YourApp中