2016-07-06 26 views
0

HI私はAndroid上でLibGDXアプリケーションを実行しようとしていますが、私は読み取り/書き込みアクセスが必要なJSONファイルをロードしようとします。LibGDX:なぜGdx.files.internal()が動作し、Gdx.files.local()が動作しないのですか?

そのファイルはassetsフォルダにあります。

Gdx.files.local( "file.json")でロードしようとすると、Gdx.files.internal()で動作しますが、読み込み専用です)。

実際、これは別のプロジェクトでうまくいきました。何とかして、今はそうではありません。

答えを検索したところ何も見つかりませんでした。その問題を解決する方法がありますか?

+3

ローカルと内部は異なるディレクトリです。ローカルに存在しない場合にのみ内部からロードします。それをローカルに保存します。 – Tenfour04

+0

さて、それはうまくいきました。私は別のプロジェクトでそれをする必要がなかったので、ちょうど混乱しています。ありがとう! – red1575

答えて

0

documentation of Libgdx FileHandle typesによると、LocalInternalFileHandle sがボンネットの下に別のパスを使用します。
- InternalFileHandleは、Android上の資産のディレクトリへの相対で、バックClassPathFileHandleに下落しています。それは常に読み取り専用です!
- LocalFileHandleは、Androidの内部(プライベート)App-Storageに関連しています。このFileHandleを読み書きすることができます。

基本的に内部ストーレージのファイルに書き込むことはできません。代わりにローカルストレージを使用してください。
このファイルをアプリケーションと共に「出荷」したいので、アプリケーションを初めて起動したときに内部ストレージからローカルストレージにコピーして、アプリケーションに読み取りおよび書き込みアクセス権を与えたい場合があります。

関連する問題