Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我应该让用户在哪里保存他们在我的应用程序上制作的图像_Android - Fatal编程技术网

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中