Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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-在查询后保留照片的ID,并将数据保存到数据库中_Android_Sqlite_Android Contentresolver_Photo Gallery - Fatal编程技术网

Android-在查询后保留照片的ID,并将数据保存到数据库中

Android-在查询后保留照片的ID,并将数据保存到数据库中,android,sqlite,android-contentresolver,photo-gallery,Android,Sqlite,Android Contentresolver,Photo Gallery,我正在开发一个应用程序,我需要查询照片,应用一些编辑,并保存这些编辑供以后使用 我正在考虑使用sqlite数据库保存编辑(编辑时应用的值),并使用照片查询返回的照片ID作为键。因此,我可以检索给定照片的正确编辑集 我的第一个问题是,当从手机中添加或删除新照片时,是否可以安全地假设从查询(使用getContext().getContentResolver().query())检索到的ID不会随时间而改变 我的第二个问题是,您是否看到使用sqlite数据库来存储每张照片的编辑有任何缺陷?如有任何关于

我正在开发一个应用程序,我需要查询照片,应用一些编辑,并保存这些编辑供以后使用

我正在考虑使用sqlite数据库保存编辑(编辑时应用的值),并使用照片查询返回的照片ID作为键。因此,我可以检索给定照片的正确编辑集

我的第一个问题是,当从手机中添加或删除新照片时,是否可以安全地假设从查询(使用getContext().getContentResolver().query())检索到的ID不会随时间而改变

我的第二个问题是,您是否看到使用sqlite数据库来存储每张照片的编辑有任何缺陷?如有任何关于该架构的建议/想法,将不胜感激


非常感谢

关于第二个问题,我认为使用本地数据库是一种很好的方法。我也会这么做

我认为依靠ID不是最好的方法。这就是我解决问题的方法:在photos表中有一个“original_id”列,可以为空。因此,原始照片将此字段设置为空,编辑的照片将在此字段中具有原始图像的ID。因此,当我需要检索给定照片的一组编辑内容时,我会按原始id进行查询并检索完整的版本集


希望有帮助

谢谢你,娜迪亚。我对你第一个问题的答案有点困惑。您提到在ID上回复可能不是一个好主意。然后,再次建议将原始图像ID存储在照片表中。原始图像ID和查询的ID不是一样吗?当您提到在photo表中添加列时,您指的是本地db表。正确的?如果可以,请澄清。非常感谢。我的意思是,如果ID设置为自动增量,则不会更改,但您应该为每次照片编辑保留对原始照片的引用(否则,您如何知道确定的编辑属于某张照片)。这样做比依赖照片ID 3、4和8是照片1的编辑这一事实要好,明白吗?这样,你就不在乎身份证了。是的,当我提到添加列时,我指的是本地SQLite DB。这很有意义。谢谢娜迪亚,不客气!如果您觉得合适,请接受我的回答:)。