首选项是要走的路,除非你正在谈论成千上万的用户句子。这也取决于可扩展性,如果你只是想添加字符串,这就完成了这项工作。如果你需要查找特定的字符串,你可能需要加载它们。首选项存储在本地,因此每个模块都可以通过Gdx界面轻松访问它。这是你如何使用Preferences
Preferences preferences = Gdx.app.getPreferences("filename");
preferences.putString(Key<String>, Value);
preferences.flush();
我们能够继续增加,你需要增加每个你把喜好的字符串时的关键字符串。你也可以在偏好中做到这一点。
int stringCount = preferences.getInteger("string_count"); // Get current string count
preferences.putInteger("string_counr", stringCount++); // Increment stringCount and put it back in preferences
preferences.putString("userstring_" + stringCount, someString); // Create string using incremented stringCount.
preferences.flush(); //Store data
您可以通过使用字符串数访问字符串。或者你可以在运行时加载它们。根据您的需要,您还可以将确切的字符串存储为密钥,但如果您不知道字符串,则很难再检索它们。
int stringCount = preferences.getInteger("string_count");
List<String> userStrings = new ArrayList<String>();
for (int i = 1; i <= stringCount; i++)
{
userStrings.add(preferences.getString("userstring_" + stringCount);
}
的字符串存储在Windows上的users/username/.prefs/filename
我已经存储了几百场为喜好没有任何问题。这不是flush()
上最快的,但你可以存储所有句子并批量刷新它们。如果您的需求不是太苛刻,偏好很容易做到。如果你寻找更多的可扩展选项,那么你应该使用JSON,XML,一种脚本语言,或者为它编写自己的读写器。除非你想将用户和其他数据链接到这些句子,否则数据库会过度杀伤。
一定要提供一个例子,你已经尝试了什么,或者至少你通过研究了解了什么。 – jkdba
JSON会是最简单的,因为LibGDX内置了对它的支持,你可以在桌面版本中测试它。如果您的句子数量巨大,SQLite会更好,这样您就不需要将整个集合加载到内存中。但是实现起来会比较困难,因为您需要编写一些接口和Android特定的代码。 – Tenfour04
@JohnK到目前为止,我还没有尝试过任何东西,因为我不确定要开始什么。但我已经看过我在我的问题中提到的事情。 – red1575