2016-04-18 12 views
2

私はlibgdxとsimplexmlを使ってアンドロイド用のアプリケーションをプログラミングして、レベルをロードしています。今度はアンドロイドアセットファイルにあるlevel1.xmlファイルをロードしますが、正しいパスを取得する方法はわかりません。アンドロイドアセットへの絶対パスを取得する方法

private Level currentLevel; 

... 
loadLevel(1); 
... 

private void loadLevel(int level) { 
    String path = Gdx.files.internal("level" + level +".xml").path(); 
    try { 
     InputStream source = new FileInputStream(path); 
     Serializer serializer = new Persister(); 
     currentLevel = serializer.read(Level.class, source); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

しかし、私が得る道はただ「level1.xml」である:これは私のコードです。私はアンドロイドのライブラリを使用することはできません私のコアモジュールでこれをやっていると私はあまりにも窓/ Linuxの/ htmlの上で私のアプリを使いたいので

InputStrem source = getAssets().open("level1.xml"); 

でこれを行う方法を知っています。 私の質問が理解できることを願っています。ご協力いただきありがとうございます!

答えて

1

あなたのファイルは、 "プロジェクト/アンドロイド/アセット"(または "プロジェクト/コア/アセット")に配置されている必要があります。アンドロイドのバックエンドをターゲットに)、あなたはGdx.files.internal()を使用してそれらをロードすることができますので、この場合には、それはそれはあなたが直接

を使用して文字列などのコンテンツを読むことができ、ファイルハンドルを返します

Gdx.files.internal("level1.xml") 

なりません

Gdx.files.internal("level1.xml").readString(); 

デスクトッププロジェクトの作業ディレクトリを「project/android/assets」に設定することを忘れないでください。

私はそれはそれは非常に詳細なhere

0

を説明します。この 「ファイル:///android_asset/level1.xml」のような資産にファイルにアクセスすることができ、Wikiを読むことをお勧めし

関連する問題