簡體   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