建议将图像存储在应用程序中

时间:2019-07-17 14:04:02

标签: java android image

你好,所以我是android studio的新手,我必须在android studio中制作一个杂货清单android应用程序。基本上,您可以在此应用程序中创建食品杂货清单并将项目添加到清单中。您可以添加商品名称,数量,价格和商品图片(当场拍照)。但是,我不确定如何实现照片添加功能。我是否只是将相机拍摄的图像存储在sqlite中并从那里检索?我需要它是永久的,这意味着即使在重新启动应用程序之后,图片仍将存在。任何帮助将不胜感激,谢谢。

我想知道最有效的方法,而不是如何使用SQLite存储图像。非常感谢。

2 个答案:

答案 0 :(得分:2)

很多方式

  1. 将图像作为BLOB数据类型存储在数据库中。
  2. 将图像存储在外部或内部存储中,并将该图像路径存储在数据库中。
  3. 将图像存储在Firebase数据库上(在线解决方案)
  4. 将图像转换为Base64编码的字符串并将其存储在数据库中。

答案 1 :(得分:0)

您尚未指定在应用程序后面是否有API,该API是否将所有内容存储在本地。基本上,我在这里看到两种可能性:

1。如果您有API

在这种情况下,从api提取项目时,您将获得这些图像的URL。您可以使用Picasso或Glide之类的库来将它们本地缓存,甚至使其脱机使用。当您通过URL请求图像时,您正在通过库进行处理,然后根据请求的URL库检查该图像是否已经在本地缓存了该图像。无论哪种方式,它都应获取新鲜的图像并将其存储在本地。有一些可配置的选项来选择不同的策略,例如先提取缓存的缓存,然后从Web提取图像,或者如果本地缓存了一个,则不从Web提取图像。

2。如果您没有api

在这种情况下,从设备中获取图像文件的选项之一是File Storage Framework。如果要在“应用程序”中保留这些文件的副本,则可以“手动”在专用于应用程序的本地磁盘/卡空间上存储图像,类似于Viber或Instagram等其他具有专用文件夹的应用程序,保留临时或永久文件。要手动保存文件,请there are few options选择最适合您的文件。