2016-06-21 4 views
1

アプリは画像を書き込み可能なフォルダに保存し、コンテンツはBufferedReaderに読み込まれ、ImageViewに割り当てられます。それを行う正しいアプローチは何ですか?書き込み可能なフォルダから画像を読み込んでAndroidのImageViewに割り当てる方法は?

File file = new File(context.getFilesDir(), body + ".image"); 
BufferedReader in = new BufferedReader(new FileReader(file)); 
ImageView icon = (ImageView) view.findViewById(R.id.icon); 
icon. //What comes to here? 
+0

理想的には、例えば、([画像ローディングライブラリ](http://android-arsenal.com/tag/46)を使用、またはBitmapFactory' 'と連携し、独自のバックグラウンドスレッドを持っています'decodeFile()'、 'decodeStream()')です。私はあなたが 'BufferedReader'からバイトを読み込んだ後に' decodeByteArray() 'を使うことができると思いますが、それはあまりにも複雑に思えます。 – CommonsWare

答えて

0
Bitmap bitmap = BitmapFactory.decodeFile(pathName); 
icon.setImageBitmap(bitmap); 
+0

これは、メインアプリケーションスレッドでディスクI/Oとイメージデコードを実行します。バックグラウンドスレッドで 'decodeFile()'を使います。 – CommonsWare

+0

代わりにAsyncTaskを代わりに使用してください –

+0

私は画像を保存するのに使用したのと同じpathNameを使用すると奇妙ですが、decodeFileはnullを返します。 SkImageDecoder :: Factoryがnullを返しました –

関連する問題