如何存储和检索用户特定的数据

how to store and retrieve user-specific data

我正在做第一个项目,一个 FlashCard 应用程序。

我想为每个用户创建一个 profile,以便用户可以进行个人设置。

除此之外,我想围绕该配置文件组织用户数据。例如,我想为用户的 serialized files are being stored

所在的每个配置文件创建一个文件夹
  1. 存储此类数据的合适格式是什么?

直觉上,我会选择 xml。不过,我还没有使用过它。

  1. 使用配置文件和序列化数据时的一般情况是什么workflow

在这里,我会check at program start whether any profiles exist at all

如果是这种情况,用户应该能够添加或加载配置文件。否则,应提示用户创建配置文件。

加载配置文件后,我将 deserialize 所有 associated 数据与此特定 profile

这有意义吗?

干杯, 阿德鲁

  1. 除非您想与其他程序共享配置文件数据,否则您可以简单地使用Java 默认序列化机制。根据需要向数据结构中添加其他字段

public class Profile implements java.io.Serializable { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

文件将以二进制格式存储。所以你可以给它任何你想要的扩展名,例如profile1.dat

  1. 通过使用 ObjectInputStream https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInputStream.html and ObjectOutputStream https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutputStream.html 您可以轻松地序列化/反序列化您的配置文件数据或您需要写入文件的任何其他数据

首先,您将定义用于存储配置文件数据的目录结构。它可能与应用程序位于同一目录中,例如 "profiles/"。当程序启动时它会检查"profiles/"目录中是否有配置文件数据文件,如果有它会列出它们供用户选择,如果没有它会提示用户创建一个新的。