在没有'硬编码的情况下在应用程序/游戏中存储文本的最佳方式

时间:2015-02-22 00:25:37

标签: java string

虽然我以前可能已经问过这个问题,但我的研究让我毫无结果。因此,我决定提出这样一个问题:"在没有'硬编码的情况下,在应用程序/游戏中存储文本的最佳方法是什么?"。"。

我过去曾涉足Android,并且非常喜欢使用xml存储String resources的方式。但是,我目前正在开发基于libGDX的桌面游戏,并且不具备本机可用的功能(据我所知,至少)。我想我可以为各种字符串定义类常量,但我觉得这样会有一个“臭”。溶液...

任何指导都会非常感谢!谢谢!

2 个答案:

答案 0 :(得分:2)

您可以将属性文件用作资源。如果您的属性文件名为gamestrings.properties,并且位于源目录中与当前类相同的包中(对于maven在src/main/resources内),您可以执行以下操作:

ResourceBundle rsrc = ResourceBundle.getBundle("gamestrings");

GameClass需要是您的某个类的名称,以便您可以使用类加载器来加载资源。

然后,您可以使用rsrc.getString(String key)将属性作为字符串获取。

以下是属性文件的示例:

MainMenu.welcomeMessage=Welcome to my game!
MonsterGenerator.weakMonsterName=Mosquito

建议您在使用它们的类之后命名键,但没有技术要求。您可以仅welcomeMessageMainMenu.welcomeMessagegreeneggsandham.welcomeMessage拨打欢迎邮件。

答案 1 :(得分:1)

正如您所提到的以XML格式存储字符串的Android,您也可以为您的应用程序执行相同的操作。

将XML或JSON用于您的数据将是一个好主意,因为这些也可以轻松解析。