1

アセットフォルダーから画像パスを取得する際に問題があります。

アセットフォルダーに画像フォルダーがあります。フォルダー内には、3 つの異なるフォルダーがあります。

これが私が使用したコードです:

String IntroImage1= "" + languageSelected + "/" + Intro1ImagePath + ".png" ;


try{
    AssetManager mngr =getAssets();
    InputStream BulletImgInput = mngr.open(IntroImage1);
    //InputStream BulletImgInput = mngr.open("image/Malay/bullet.png");

    Bitmap bitmapBullet = BitmapFactory.decodeStream(BulletImgInput);
    BulletImage.setImageBitmap(bitmapBullet);
    }catch(final IOException e){
    e.printStackTrace();
    }

なぜ画像を表示できないのか疑問に思っています。このコードを使用して取得しようとしたため:

InputStream BulletImgInput = mngr.open("image/Malay/bullet.png");

ファイルを取得しましたが、 mngr.openで置き換えた文字列では表示されません。

皆さんの助けが本当に必要です。ありがとう。

4

5 に答える 5

7

AssetManager は必要ありません。できるよ

BitmapFactory.decodeFile("file:///android_asset/image/Malay/bullet.jpg")

アセットに画像を保存することは最善の方法ではありませんが。Android リソース管理システムを利用できなくなります。resしたがって、やむを得ない理由がない限り、フォルダーとリソース システムの使用を検討することをお勧めします。

更新:説明BitmapFactoryには、メソッドを介してファイルをデコードするメソッドがありますdecodeFile。それがポイント1です。Android では、パスassetsを介してフォルダー内のファイルにアクセスできます。file:///android_asset/{path}あなたの場合、 /image/Malay/bullet.jpg の画像は、assets経由でアクセスできるフォルダーfile:///android_asset/image/Malay/bullet.jpgです。

于 2012-05-15T09:14:30.937 に答える
4

これを試して:

try {

    // get input stream
    InputStream ims = getAssets().open("avatar.jpg");

    // load image as Drawable
    Drawable d = Drawable.createFromStream(ims, null);

    // set image to ImageView
    mImage.setImageDrawable(d);
}
catch(IOException ex) {

      Log.e("I/O ERROR","Failed when ..."
}

あなたの BulletImage

于 2012-05-15T09:26:44.503 に答える
3
String url = "file:///android_asset/NewFile.txt";

String url = "file:///android_asset/logo.png";

任意のファイルにアクセスできます....

于 2012-05-15T09:04:09.317 に答える
1
InputStream BulletImgInput = mngr.open("file:///android_asset/image/Malay/bullet.png");

多分これはあなたのために働くかもしれません。

于 2012-05-15T09:08:07.050 に答える
0

image問題はパスの欠落した部分にある可能性がありますか?

String IntroImage1= "image/" + languageSelected + "/" + Intro1ImagePath + ".png" ;

それ以外の

String IntroImage1= "" + languageSelected + "/" + Intro1ImagePath + ".png" ;

Upd:languageSelectedとの値Intro1ImagePathも確認してください。

于 2012-05-15T09:09:23.960 に答える