LibGDX Android 在安装时创建内部文件
LibGDX Android create internal files on installation
安装时我的 Android 应用程序的内部目录中需要几个文件。
理论上我可以从 assets 文件夹中复制它们,但这并不是很方便。
这些文件将用于存储设置和进程。
如何创建这些文件?
如评论中所述,在安装过程中,设备除了简单地复制应用程序本身外什么都不做。如果您想做任何其他事情,那是您的应用程序的工作。
为此使用 local storage(将在卸载时删除,在桌面目标上,这与 internal
相同。)
您可以:
- 检查文件是否存在,不存在则复制
这是比较可靠的选择,因为在(很少?)文件被删除的情况下,它们将被替换。
@Override
public void create() {
...
for (String file : filesToCopy) {
final FileHandle handle = Gdx.files.local(file);
if (!handle.exists()) {
// copy to handle
}
}
}
- 存储应用程序是否已经至少启动过一次,如果密钥不存在,则复制文件
您可以为此使用 Preferences
:
@Override
public void create() {
...
final Preferences prefs = Gdx.app.getPreferences("prefs");
if (prefs.getBoolean("newInstall", false)) {
for (String file : filesToCopy) {
final FileHandle handle = Gdx.files.local(file);
// copy to handle
}
}
prefs.putBoolean("newInstall", true);
prefs.flush();
}
安装时我的 Android 应用程序的内部目录中需要几个文件。
理论上我可以从 assets 文件夹中复制它们,但这并不是很方便。
这些文件将用于存储设置和进程。
如何创建这些文件?
如评论中所述,在安装过程中,设备除了简单地复制应用程序本身外什么都不做。如果您想做任何其他事情,那是您的应用程序的工作。
为此使用 local storage(将在卸载时删除,在桌面目标上,这与 internal
相同。)
您可以:
- 检查文件是否存在,不存在则复制
这是比较可靠的选择,因为在(很少?)文件被删除的情况下,它们将被替换。
@Override
public void create() {
...
for (String file : filesToCopy) {
final FileHandle handle = Gdx.files.local(file);
if (!handle.exists()) {
// copy to handle
}
}
}
- 存储应用程序是否已经至少启动过一次,如果密钥不存在,则复制文件
您可以为此使用 Preferences
:
@Override
public void create() {
...
final Preferences prefs = Gdx.app.getPreferences("prefs");
if (prefs.getBoolean("newInstall", false)) {
for (String file : filesToCopy) {
final FileHandle handle = Gdx.files.local(file);
// copy to handle
}
}
prefs.putBoolean("newInstall", true);
prefs.flush();
}