1

アセットにあるファイルを見つけようとしています。Eclipse Android プロジェクトにある .txt、.gif、および .db ファイルがありますが、次のコードを実行しても表示されません。

AssetManager am = getAssets();
try {
    String list[] = am.list("/");
    I=0;
    Str="";
    while (list[] != null) {
        Str=Str+"\r\n"+list[I];
        I++;
    }
}
catch(exception e){
}

私はこのリストを取得します:

AndroidManifest.xml
META-INF
assets
classes.dex
com
res
resources.arsc

このリストには、アセット内のファイルは含まれていません。

プロジェクトのプロパティは現在、アセット フォルダーをビルド パスに含めないように設定されています。アセット フォルダーをビルド パスに含めると、最初のファイルと同じ ".." のリストが表示されます。

3 行目の「/」を「/assets/」に変更しようとしましたが、何も返されません。

Android プロジェクトのビルド ターゲットを Android 2.3.1 と Android 2.1-update1 の間で変更しても効果がないようです。

アセット内のファイルをビルドに含めるために必要なプロジェクト プロパティの設定はありますか? AssetManager を使用しているアセット ディレクトリの別の名前はありますか?

4

1 に答える 1

1

list()はアセット内の相対パスを取ります。あなたの場合、空の文字列 am.list("") を渡す必要があるようです

于 2011-08-29T16:30:17.963 に答える