2016-06-21 2 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을 반환했습니다. –