gpt4 book ai didi

Android SQLite 图像存储

转载 作者:行者123 更新时间:2023-11-30 01:26:22 26 4
gpt4 key购买 nike

我正在制作一个测验应用程序,它要求我能够从数据库 BLOB 或存储在数据库中的图像路径中获取图像。但是我环顾四周,很多人建议使用文件路径,问题是如果我使用文件路径方法,我不知道将图像存储在哪里。

我是否将它存储在应用程序的某个位置,例如资源文件夹?很多示例都使用 SD 卡,但是是否可以将图像从数据库保存到 SD 卡,如果可以,那将意味着我有两个图像一个在数据库中,一个在 SD 卡上。

我可以在任何手机上使用并且可以访问所述图像的测验应用程序的图像存储最佳位置在哪里?以及如何?

提前致谢。

最佳答案

图片存储必须在某个目录下进行,并且图片对应的路径必须存储在数据库中。

enter image description here

有时您会从一个 Activity 访问图像,然后从另一个 Activity 访问图像,在这种情况下,您只需要将图像路径从 Activity 一传递到 Activity 二,然后从目录中检索图像以显示在 Activity 二中。当图像的大小开始增加时,图像存储和从数据库加载可能会很痛苦。 For learning how to store images, Give an eye to this

代码示例

private void SaveImage(Bitmap finalBitmap) {

String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/saved_images");
myDir.mkdirs();
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String fname = "Image-"+ n +".jpg";
File file = new File (myDir, fname);
if (file.exists ()) file.delete ();
try {
FileOutputStream out = new FileOutputStream(file);
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();

} catch (Exception e) {
e.printStackTrace();
}

在上面的代码中,行

 Environment.getExternalStorageDirectory()

指的是 android/data 文件夹。您可以在其中创建任意级别的文件夹,例如 android/data/folderone/folderTwo/folderThree.

注意:但是,您需要先从服务器获取图像并将它们存储在设备中。如果您正在考虑将图像与应用程序 bundle 在一起,请将您所有的res/drawable 文件夹中的图像。(如果不涉及网络服务器功能)


关于Android SQLite 图像存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36379926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com