第一次发布并第一次在Android上工作,所以如果我违反任何规则,请轻松实现:)
无论如何,我刚开始制作Android应用程序而且我正在尝试创建一个简单的琐事游戏。我计划提出很多问题(希望大约有5000多个问题)。没有数据操作,只需直接阅读问题并将其呈现给用户。我现在面临着如何存储问题的困境。
我有两个选择:
1。)使用应用程序捆绑问题:可能将信息存储在SQLite中。最初,出于演示目的,我将问题放在XML文件中,但我很快意识到,一旦问题开始堆积,效率会有多低。首先,我担心如果打开如此庞大的XML文件会占用Android的内存。其次,如果它包含5000多个问题,我担心应用程序有多大。我read here关于XML与SQLite的优点。在那个例子中,用户有70,000个条目,所以也许我的5000个问题就足够了?
OR
2。)在服务器上托管问题:我认为好处是应用程序不需要捆绑大量问题而不需要担心逻辑打开和组装问题。它只会访问一个PHP页面,并根据发送的参数,PHP页面将返回XML格式的问题。缺点是用户需要联机(检索问题)才能玩游戏,我的服务器需要全天候运行。
是否有人遇到过如何以及在何处将大量数据存储在Android应用中的设计问题?
谢谢,非常感谢任何帮助!
答案 0 :(得分:8)
从营销角度来看,我认为正确的方法是#1。只需查看顶级应用列表,就可以看到脱机工作的应用。我不知道为什么大多数人在谈论营销应用程序时都没有提到这一重要标准......特别是在Android中,很多人都没有数据计划。此外,琐事应用程序听起来像某人可能会在火车通勤时使用的东西,而不是他们在线时使用的Facebook聊天。
从技术角度来看,存储5000多个问题确实不会占用大量空间。有一个名为“MyFitnessPal”的应用程序。它在SQlite数据库中存储了超过30,000种食物,并提供营养信息。所以不要过高估计需要多少空间。
与#2相关的优点是,如果问题或答案经常发生变化,您可能希望采用这种方法。
答案 1 :(得分:2)
我认为最好的选择是将问题存储在SQLite
中。这样,即使用户离线,用户也可以访问您的游戏,这是Hisoka提到的重要事项之一。所以我认为你应该尝试使用SQLite.