Libgdx android 无法从本地文件读取

我的 libgdx 应用程序无法读取 android 上的“本地”文件。在 libgdx wiki 上,它说本地文件是相对于应用程序的根目录或工作目录存储的。但我不知道它是什么:/


我的文件存储在我的项目的资产文件夹中


XmlReader.Element root = reader.parse(Gdx.files.local("gamedata.xml"));

在桌面上,此行运行良好,但在 android 上应用程序崩溃,因为它无法读取文件。我试过,Gdx.files.internal但它是只读的,我需要在这个文件上写。


我的应用程序有这些权限(我不知道它是否真的有用):


<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我究竟做错了什么 ?我应该将 xml 文件存储在其他地方吗?


小怪兽爱吃肉
浏览 218回答 2
2回答

幕布斯7119047

在桌面操作系统和 Android 操作系统上,Libgdx 的用法是不同的。简单的说,有3个存储位置:&nbsp;apk assets(resource)文件夹,内部存储,外部存储。不同的存储方案需要不同的权限。我建议您阅读有关文件处理的官方文档,其中详细解释了如何在 android 操作系统上通过 Libgdx 处理文件 IO。

jeck猫

为了解决我的问题,我为第一次启动添加了一个 if 语句。如果没有local文件,它会创建一个并从internal其中获取数据。然后,当应用程序保存时,它会将数据存储在local文件中。不需要权限
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java