我正在用Java编写Android应用程序并遇到以下问题。
我想存储一些数据,我在一周的不同日期记录。我想以图表形式显示此数据,并向我显示已记录到此日期的数据。我的问题是,解决这个问题的最佳方法是什么。我应该使用sqLite数据库还是可以将数据保存在List中?当我使用数据在我的统计数据(f.e. diagram)中显示或过滤特定日期时,它应该快速且容易处理。
答案 0 :(得分:1)
您将需要使用一些在程序执行期间保持不变的方法,当然数据库将提供持久存储。如果您使用列表,则必须以某种方式将其保存到存储(可能通过序列化到文件)。
答案 1 :(得分:1)
这个问题太模糊,缺乏细节,无法提供具体建议。但这里有一些粗略的想法。
对于可以放入内存的简单列表中的少量数据,请将值写入文本文件。我会使用Apache Commons CSV库来帮助实际编写Comma-separated或Tab-delimited格式的文件。
要将更复杂的对象存储在可以放入内存的集合中,请使用Simple XML Serialization库。
如果您有大量数据不适合内存,或者您有许多相互关联的列表应存储为相关表,请使用关系数据库。 SQLite确实非常精简,旨在作为写入文件的替代方案,而不是为了与完整的数据库竞争。对于更严肃的数据库工作,我建议H2 Database Engine,内置纯Java。
务必了解:
答案 2 :(得分:1)
要添加上面的答案 - 并且因为您专门询问了它 - 您应该考虑sqlite
而不是序列化您自己的文件。
2013 PostgreSQL Conference Keynote提供了一些有关使用sqlite而不是平面文件的好处的深刻见解。根据它的创建者(给出了主题演讲),Sqlite是“替换fopen()”并使用成熟,熟悉的SQL API,因此它看起来非常适合您的需求。