在Android中显示大量不同信息的最佳方式是什么?

时间:2016-03-30 21:21:51

标签: android database

我目前正在创建一个应用程序,该应用程序是游戏的指南,涉及用户浏览类别和显示的大量信息。例如,如果我想查看有关特定武器的信息,我可以浏览项目>武器>远程>弓。什么是最好的设置,以便应用程序运行顺利?我可能有多达100个用户可以查看的不同项目。

我正在考虑的两个当前方法是创建所有这些项的本地SQL数据库,然后根据用户选择的内容从一个数据库中提取一个活动。另一种是只生成字符串资源,然后根据用户选择的项加载这些资源。任何意见或见解都会非常感激。

2 个答案:

答案 0 :(得分:1)

我不确定字符串资源,但如果你正在做什么"只读#34;对数据的操作而不是保存任何用户输入我建议不要使用SQLite。 SQLite用于此用途的问题是,您必须在第一次运行应用程序时以编程方式创建表并填充数据库。 (有人纠正我,如果有另一种方法可以做到这一点)基本上你最终会把你的所有信息写成字符串或者从设备上的文件中读取它,它只会插入数据库并从那里访问每一个之后的时间。另一个缺点是,每次要更新应用程序中的信息时,都必须在" onUpgrade"中添加规则。数据库处理程序的方法。从SQLite访问数据将比读取文件更快,但恕我直言,这是一个比仅仅读取操作更值得痛苦的方式(除非你有大量的数据......"大量的"在计算机世界中发生相当大的。)

我可能会将数据存储在您自己的文件中(XML,JSON或纯文本)并将其放在assets文件夹中。在那里使用一个漂亮的文件夹结构和良好的文件命名将允许您添加新信息,而无需更改您的程序。

另一种选择是构建一个Web数据库,从那里提取信息,并在对在线保存的信息进行更新时将其保存到本地SQLite数据库。这使您可以轻松地对内容进行修订,而无需发送应用更新,但需要花费更多的工作

答案 1 :(得分:0)

The Content Provider是Android平台上首选的way to store big data,幸运的是tools areyou.可用于that的工作I would https://ember-twiddle.com/c82fb0e11641703f118e867b45403654?numColumns=2&openFiles=controllers.application.js%2Chelpers.findby.js {{3}}即使在移动设备上也几乎不考虑100个大量数据。数据会改变吗?换句话说,它是静态的还是动态的?我推荐内容提供商,但您可以使用共享首选项,资源文件甚至硬编码您的值。