如何保存可以覆盖的整数然后在android上读取?我正在使用libgdx。我知道如何为我的桌面做这件事,但我想要内部存储。
答案 0 :(得分:9)
您应该使用libgdx Preferences 。
这样它将起到跨平台的作用! (包括Android)
因为你只想存储一些应该正是你需要的整数。
参见示例:
//get a preferences instance
Preferences prefs = Gdx.app.getPreferences("My Preferences");
//put some Integer
prefs.putInteger("score", 99);
//persist preferences
prefs.flush();
//get Integer from preferences, 0 is the default value.
prefs.getInteger("score", 0);
答案 1 :(得分:3)
有不同的方法可以做到这一点:
FileHandle
。只需创建FileHandle
Gdx.files.local("myfile.txt");
,然后使用fileHandle.writeString(Integer.toString(myInt));
写信给它
请注意,Internal
和Classpath
是只读的,因此您无法在那里写文件
另请注意,并非所有类型的gdx.files.
都可用于所有后端。更多关于here。第二种方法是Preferences。 Preferences
是获得HTML5应用程序持久数据的唯一方法
Preferences
是XML文件,您可以在其中存储,读取和更改数据。
要为您的应用创建Preferences
,您只需致电:
偏好设置myPref = Gdx.app.getPreferences(“PreferenceName”);
请注意,您应使用全名,例如com.stackoverflow.preferences
,因为在桌面上所有Preferences
都使用相同的文件。
要编写数据,您可以myPref.putInteger("name", value)
使用Integer
,myPref.putBoolean(("name", value)
使用Boolean
...确保在所有更改后调用myPref.flush()
,以保存新数据
要获取数据,您可以调用myPref.getInteger("name, defaultValue")
。如果没有具有给定名称的数据,则返回默认值。
有关Preferences
here的更多信息。
希望我能提供帮助。