AssetsのFolderへの絶対パスを取得する必要があります。 SDカードの場合、次のようになります。
final String sdDir = Environment.getExternalStorageDirectory() + "Files";
私が間違っていることは何ですか?
最初に、この方法でパスを取得しようとします(緑の角で)が、「False」を取得する必要があります。次に、このブロックをコメント化し、getAssets()。list()からパスを取得しようとします。しかし、私は初めて見る3つのフォルダーを取得します。
この「グリーン」のように大規模にしたいのですが、アセットのファイルを使用する必要があります。
ファイルフォルダーへの絶対パスを取得するのに役立ちます。
あなたが何をしようとしているのか正確にはわからないので、基盤をカバーしようとします。
アセットの内容のリストを取得しようとしている場合は、getAssets().list("Files")
を使用します。 ( this のため、サブディレクトリを使用する必要があります)。
アセットディレクトリ(またはサブディレクトリ)へのabsoluteパスを取得しようとしている場合は、できません。アセットディレクトリにあるものはすべてAPKにあります。 SDカードのような外部ストレージにはありません。
アセットディレクトリ内のファイルを開こうとしている場合は、AssetManager.open(filename)
を使用してInputStream
を取得します。ここで、ファイル名は、アセットディレクトリからの相対パスである必要があります。
[〜#〜] edit [〜#〜]
"massive"の意味がわかりませんが、ファイルをロードする場合はblack.png
SDカードの代わりにアセットから、次のように記述します。
// must be called from Activity method, such as onCreate()
AssetManager assetMgr = this.getAssets();
mColors = new Bitmap[] {
BitmapFactory.decodeStream(assetMgr.open("black.png"));
// and the rest
};
アセットはAPKファイルに保存されるため、アプリケーションで使用できる絶対パスはありません。ただし、file:/// Android_assetを確認することをお勧めします。ニーズに合うかもしれません。 これが良い例です WebViewでアセットを表示する方法について。