繁体   English   中英

Libgdx android无法从本地文件读取

[英]Libgdx android can't read from local file

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

我的文件存储在我的projet的素材资源文件夹中

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文件存储在其他位置吗?

在台式机操作系统和Android操作系统上,Libgdx的用法不同。

简而言之,共有三个存储位置: apk资产(资源)文件夹内部存储外部存储 不同的存储方案需要不同的权限。

我建议您阅读有关文件处理的官方文档 ,其中提供了有关如何通过android OS上的Libgdx处理文件IO的详细且详尽的说明。

为了解决我的问题,我为首次启动添加了if语句。

如果没有local文件,它将创建一个文件并从internal文件中获取数据。 然后,在应用保存时,它将数据存储在local文件中。

无需权限

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM