我有一个爱好项目,基本上是以我喜欢的方式维护'todo'任务。 一项任务可以描述为:
public class TodoItem {
private String subject;
private Date dueBy;
private Date startBy;
private Priority priority;
private String category;
private Status status;
private String notes;
}
你可以想象我会在给定的时间内拥有1000件待办物品。
答案 0 :(得分:3)
用于存储:SQLite似乎是一个很好的解决方案,如搜索和跨平台支持。 Android和许多其他设备都支持SQLite。
答案 1 :(得分:1)
与任何编程问题一样,有很多方法可以做。但是,通过指定您打算转到电话,您可以更改注意事项列表。首先,您需要查看您想要的手机以查看它们支持的内容。特别是在数据存储方面。
如果您没有太多数据并且不希望启用搜索和其他将以随机方式访问数据的函数,则Xml或其他平面文件格式将正常工作。
但是如果你想存储大量数据或进行随机访问,你需要研究更像数据库的数据存储技术。这是您希望目标平台可能在性能或存储限制方面施加限制的地方。
另一种选择是您设计应用程序,使其存储与核心程序分离。这意味着您可以应用不同类型的数据存储,具体取决于它是PC还是电话,而不必重新编码其他所有数据。
答案 2 :(得分:0)
我想到的一个选项是内存数据库,它存在于各种风格中。我还没有使用其中一个,所以我无法告诉你有关内存使用或平台限制的信息。不过,值得一看。
我想到的另一个选择是维护大量TodoItem
个对象,并编写自己的代码来读取和保存此集合到XML文件。本质上,构建一个包含大型Map(或您决定使用的任何东西)的类,并使用此类实现Externalizable
。
这两个选项都允许您将XML文件读取到其内存中表示,搜索并更改状态,并在应用程序关闭时最终将最终状态写回XML(或者以固定的时间间隔,无论您如何决定)。
答案 3 :(得分:0)