java - Libgdx 在 Json 文件中搜索文本

标签 java android json libgdx

我正在使用 libgdx 开发一个文字游戏,并且我有一个可以在游戏中使用的单词列表。我需要将这句话保留在应用程序中。我不能不使用 SQLite,因为我也希望我的游戏能够在 IOS 上运行。所以我决定使用 Json 并使用下面的代码。我的 json 文件中有十万个单词。

FileHandle file = Gdx.files.internal("data/word.json");
Json json = new Json();
ObjectMap<String, Data> dataMap = json.fromJson(ObjectMap.class, file);

但是加载时间太长,自然消耗太多内存。我只想从 Json 文件中获取随机单词,并且搜索 Json 文件中存在的单词。仅通过这两个简单的操作就加载所有文件似乎不太正确。

这些的最佳实现是什么?在我的情况下,Json 是唯一的选择吗?

提前致谢。

最佳答案

您可以只制作一个包含以下单词的文本文件,例如每行一个,按字母顺序排列。启动应用程序后,您可以读取整个文件,创建一个简单的索引,例如注意以字母“b”开头的单词的起始位置。然后,您可以使用索引跳转到更接近您在文件中查找的单词。您可以改进索引以包含更多字母,但每个字母都会产生内存成本。

关于java - Libgdx 在 Json 文件中搜索文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27998395/

相关文章:

android - 调用 FirebaseInstanceId.getToken 的行为

java - 动态绘制部分填充的圆

android - 如何使用 ShowcaseView android 库更改标题字体

json - 如何设置 "index": "not_analyzed" globally for elastic search

java - 这是 Jackson JsonParser 中的错误,还是我做错了什么?

java - 如何在 Web 服务响应中将 json 响应作为 block 返回?

java - 如何在不使用 LinearLayout 的情况下使用 Android 以编程方式为 Spinner 分配权重?

java - 最后的分析失败了。后台任务页面上提供了更多详细信息

java - 无法实例化 TestExecutionListener

java - LDAP。没有身份验证的 Java 应用程序