Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
Java 循环查看SqlLite记录。对我来说,这有什么效率?_Java_Android - Fatal编程技术网

Java 循环查看SqlLite记录。对我来说,这有什么效率?

Java 循环查看SqlLite记录。对我来说,这有什么效率?,java,android,Java,Android,我有一个问题 我有一个从我的web服务器检索图像的应用程序。我的活动显示一个图像和两个按钮(上一个和下一个) 我想升级我的应用程序,并集成“收藏夹”选项。所以,若用户喜欢特定的图像,url字符串(而不是图像)将保存在sqlite数据库中 问题: 我将放置ImageView并像按钮一样操作。该ImageView将显示一个壁炉或其他东西,因此它将指示用户可以点击,以将url保存到sqlite数据库。如果数据库中已经存在url字符串,我希望ImageView有所不同。这意味着,对于每个图像,我都需要遍

我有一个问题

我有一个从我的web服务器检索图像的应用程序。我的活动显示一个图像和两个按钮(上一个和下一个)

我想升级我的应用程序,并集成“收藏夹”选项。所以,若用户喜欢特定的图像,url字符串(而不是图像)将保存在sqlite数据库中

问题:

我将放置ImageView并像按钮一样操作。该ImageView将显示一个壁炉或其他东西,因此它将指示用户可以点击,以将url保存到sqlite数据库。如果数据库中已经存在url字符串,我希望ImageView有所不同。这意味着,对于每个图像,我都需要遍历数据库中的所有URL。这有什么效率?我可以这样做吗,否则我会影响设备性能

如果有人不明白的话

  • 在显示图像的位置显示活动
  • 单击按钮(下一步,上一步)
  • 检查数据库中的所有URL(或直到检测到匹配),以防匹配
  • 如果有匹配项,则更改ImageView(例如,从黄星更改为红星。这意味着图像已经是“最受欢迎的”)
  • 这会影响android的性能吗?(

    我希望你明白我的意思


    谢谢您的帮助。

    我想您的问题是关于SQLite SELECT语句的性能

    您说“检查数据库中的所有URL(或直到检测到匹配),以防匹配”

    我认为这意味着一个循环,但实际上,您只想正确地构建SELECT语句,以便SQL完成繁重的工作。从DB中选择一行应该不会太慢。选择所有行,然后在java中循环可能会很慢

    您希望执行以下操作:

    SELECT * FROM `table` WHERE `url`="http://www.someurl.com/image.jpg"
    
    这将返回一个完全匹配的结果。没有循环,只要有结果,图像就会保存,如果没有返回,图像就不会保存


    除非你有数以百万计的条目,否则我想上述技术会表现得很好。

    使用SharedReferences为此目的,它的性能要好得多这里有一些很好的教程,并提供了一个,它也更容易检测重复项

    我认为如果URL是已经在那里了,而不是在java中迭代所有URL。这就是我要寻找的答案。谢谢:)嗯,如果用户保存500个或1000个URL呢?在我看来,您的案例是一个键/值对存储,对于SharedReference,我更喜欢它。如果成长太快,两者都会占用大量的数据存储空间,但我相信SharedReference的实现使搜索和编辑变得更容易。SQLite旨在提供更健壮的关系数据库,但这由您来决定