【问题标题】:Exporting of Android project - how to add a folder to .apk which will be installed too导出 Android 项目 - 如何将文件夹添加到也将安装的 .apk
【发布时间】:2014-11-01 21:17:38
【问题描述】:

(我正在使用 Java 编写并使用 libGDX 作为框架,并且我正在使用 Eclipse) 所以,我正在使用资产文件夹中的图像,它可能不存在,因为如果我将项目导出为 .jar 它不会创建资产文件夹,但图像会加载到游戏中,这很好(. jar 文件可能包含一个资产文件夹)。但是,这是我的问题,我正在创建一个高分保存,所以,如果我试图创建一个文件:Highscore.bin 到资产(游戏已导出并运行)它不会保存到那里,所以高分没有保存任何地方,所以保存不起作用。我尝试将其导出到 .jar 并创建了一个文件夹,用于创建文件并更新文件(C://pc//folder//highscore.bin。我将保存高分的目标设置为:C: //pc//folder//highscore.bin 并且它可以工作!但是在android上,我实际上不能为每个手机单独添加一个文件夹。所以我的问题是,如何创建一个.apk文件(它会为你安装一个游戏)它会安装一个游戏,那个文件夹?如果我将它导出到 .apk 没有一个函数可以让我这样做。

提前谢谢你

【问题讨论】:

  • 我不知道你想在这里发明什么自行车,但 Android 有自己的方式来存储你的应用程序的数据。基本上,您有几个选项:数据库、共享首选项和应用程序的私有文件夹(您可以通过调用 getExternalFilesDir() 函数获得最后一个的句柄)。所以调用这个函数并将你想要的任何东西存储到那个目录中。更多信息:developer.android.com/guide/topics/data/data-storage.html
  • 您绝对应该使用首选项来存储您的高分。 LibGDX 有一个可以跨平台使用的 Preferences 类。通过一个简单的示例查看我的相关答案:stackoverflow.com/a/22772354/2399024
  • 哦,谢谢 ;)) :D 偏好正在发挥作用。而且使用起来要容易得多。

标签: android sdk libgdx export apk


【解决方案1】:

您不能在 APK 中创建任何文件。 APK 和 JAR 只是存档,包含不同的信息,包括类和资产(您可以尝试使用 WinZip 等任何文件存档器打开任何 jar 或 apk)。大多数游戏都使用设备文件系统来存储游戏资源和保存文件。一些代码:

//Read
FileHandle file = Gdx.files.internal("savefile/highscore.txt");
if(file.exists()){
  highscore = Float.valueOf(file.readString());
}
//Write
if(currentscore > highscore){
   file.writeString(Float.toString(currentscore ),false);
}

但在大多数情况下,Preferences 更适合在内存中存储小数字或字符串。不错的教程在这里:https://github.com/libgdx/libgdx/wiki/Preferences

【讨论】:

    猜你喜欢
    • 2012-04-16
    • 2011-02-23
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2022-10-03
    • 1970-01-01
    相关资源
    最近更新 更多