0

写真を保存して/data/data/my.package.name/files/mypicture.pngいて、レイアウトにロードしたいのですが。

これを試しましたが、機能しません。

File filePath = getFileStreamPath("pictureIWouldLikeToLoad.png");
ImageView img = new ImageView(getApplicationContext());
img.setImageDrawable(Drawable.createFromPath(filePath.toString()));
ViewGroup picturesLayout = (ViewGroup) findViewById(R.id.layout_pictures_area);
picturesLayout.addView(imgView);

それがどのように機能しないのかわかりませんが、誰かが私に理由を説明できますか?それで、私が何をしたいのか?コンテンツプロバイダーが必要ですか?これを行う簡単な方法はありますか?

4

2 に答える 2

1

XMLで変更する画像のIDを定義する必要があります

<ImageView
android:id="@+id/awesome_image"
.
.
.
/>

次に、画像ファイルをビットマップオブジェクトに変換する必要があります

File file = new File("/data/data/my.package.name/files/mypicture.png");
Bitmap bmp = BitmapFactory.decodeFile(file);

最後に、imageViewオブジェクトを取得し、そのビットマップを設定します

ImageView imageView = (ImageView) findViewById(R.id.awesome_image);
imageView.setImageBitmap(bmp);
于 2012-08-03T15:46:31.923 に答える
1

だから私は成功しました。多分それは改善されるかもしれません、しかしここに実際に働く何かがあります:

FileInputStream inputStream = openFileInput("my_image.png");
BufferedInputStream bufferedInput = new BufferedInputStream(inputStream);                       
Bitmap bmp = BitmapFactory.decodeStream(bufferedInput);
ImageView imgView = (ImageView) findViewById(R.id.my_imageview);
imgView.setImageBitmap(bmp);
bufferedInput.close();
inputStream.close();
于 2012-08-06T08:33:26.843 に答える