Java应用程序设计问题

时间:2010-04-26 04:01:08

标签: java android swing backend

我有一个爱好项目,基本上是以我喜欢的方式维护'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件待办物品。

  • 存储的最佳策略是什么? todo项目? (目前在XML文件上) 这样所有物品都被装上了 快速启动应用程序启动( 应用程序显示了一种仪表板 在启动时的所有项目?)
  • 设计它的最佳方式是什么? 后端,以便它可以移植到 Android /或基于J2ME的手机?
  • 目前这是使用Java完成的 摇摆。我该怎样专注于此 它在设备上有效工作 记忆有限吗?
  • 应用程序抛出一个表单 进入新的待办事项任务。现在,我 想保存新添加的 一旦用户将任务发送到my-todos.xml 按“保存”按钮。什么是 追加这种变化的常用方法 到现有的XML文件?(请注意,我不想再读取整个文件然后继续)

4 个答案:

答案 0 :(得分:3)

用于存储:SQLite似乎是一个很好的解决方案,如搜索和跨平台支持。 Android和许多其他设备都支持SQLite。

答案 1 :(得分:1)

与任何编程问题一样,有很多方法可以做。但是,通过指定您打算转到电话,您可以更改注意事项列表。首先,您需要查看您想要的手机以查看它们支持的内容。特别是在数据存储方面。

如果您没有太多数据并且不希望启用搜索和其他将以随机方式访问数据的函数,则Xml或其他平面文件格式将正常工作。

但是如果你想存储大量数据或进行随机访问,你需要研究更像数据库的数据存储技术。这是您希望目标平台可能在性能或存储限制方面施加限制的地方。

另一种选择是您设计应用程序,使其存储与核心程序分离。这意味着您可以应用不同类型的数据存储,具体取决于它是PC还是电话,而不必重新编码其他所有数据。

答案 2 :(得分:0)

我想到的一个选项是内存数据库,它存在于各种风格中。我还没有使用其中一个,所以我无法告诉你有关内存使用或平台限制的信息。不过,值得一看。

我想到的另一个选择是维护大量TodoItem个对象,并编写自己的代码来读取和保存此集合到XML文件。本质上,构建一个包含大型Map(或您决定使用的任何东西)的类,并使用此类实现Externalizable

这两个选项都允许您将XML文件读取到其内存中表示,搜索并更改状态,并在应用程序关闭时最终将最终状态写回XML(或者以固定的时间间隔,无论您如何决定)。

答案 3 :(得分:0)

您可以使用java.util.prefs.Preferences