이미지를 Android에 표시 할 때 어떻게로드 할 수 있습니까? 누구든지 좋은 설명서를 알고 있습니까? 또한이 작업을 수행하려면 asyncTask가 필요합니까? 또한, 다음과 같은 그림을 원한다면 Android XML 파일을 어떻게 선언해야합니까?이미지를 표시 할 때로드하십시오. Android
1
A
답변
1
는 그것은 목록보기에서 이미지의 게으른로드라고.
package com.wilson.android.library;
import java.io.IOException;
public class DrawableManager {
private final Map<String, Drawable> drawableMap;
public DrawableManager() {
drawableMap = new HashMap<String, Drawable>();
}
public Drawable fetchDrawable(String urlString) {
if (drawableMap.containsKey(urlString)) {
return drawableMap.get(urlString);
}
Log.d(this.getClass().getSimpleName(), "image url:" + urlString);
try {
InputStream is = fetch(urlString);
Drawable drawable = Drawable.createFromStream(is, "src");
if (drawable != null) {
drawableMap.put(urlString, drawable);
Log.d(this.getClass().getSimpleName(), "got a thumbnail drawable: " + drawable.getBounds() + ", "
+ drawable.getIntrinsicHeight() + "," + drawable.getIntrinsicWidth() + ", "
+ drawable.getMinimumHeight() + "," + drawable.getMinimumWidth());
} else {
Log.w(this.getClass().getSimpleName(), "could not get thumbnail");
}
return drawable;
} catch (MalformedURLException e) {
Log.e(this.getClass().getSimpleName(), "fetchDrawable failed", e);
return null;
} catch (IOException e) {
Log.e(this.getClass().getSimpleName(), "fetchDrawable failed", e);
return null;
}
}
public void fetchDrawableOnThread(final String urlString, final ImageView imageView) {
if (drawableMap.containsKey(urlString)) {
imageView.setImageDrawable(drawableMap.get(urlString));
}
final Handler handler = new Handler() {
@Override
public void handleMessage(Message message) {
imageView.setImageDrawable((Drawable) message.obj);
}
};
Thread thread = new Thread() {
@Override
public void run() {
//TODO : set imageView to a "pending" image
Drawable drawable = fetchDrawable(urlString);
Message message = handler.obtainMessage(1, drawable);
handler.sendMessage(message);
}
};
thread.start();
}
private InputStream fetch(String urlString) throws MalformedURLException, IOException {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(urlString);
HttpResponse response = httpClient.execute(request);
return response.getEntity().getContent();
}
}
이 스레드에서 얻은 : 다음은이 작업을 수행하는 데 사용할 수있는 코드 조각입니다 Lazy load of images in ListView
2
는이 작업을 수행하는 방법에 대한 개발자의 웹 사이트에 정말 놀라운 튜토리얼이있다. 함께 제공되는 샘플 응용 프로그램도 아름답게 수행됩니다. 읽어야합니다. :)
http://developer.android.com/training/displaying-bitmaps/index.html
관련 문제
- 1. Android : 매우 빠른 동영상 미리보기 이미지를 표시 할 수 있습니까?
- 2. Android : 둘 이상의 이미지를 표시 할 수 없습니다.
- 3. android ndk를 사용하여 이미지를 회색으로 표시 할 수 없습니다.
- 4. Android : ImageView에 png 이미지를 표시 할 수 없습니다.
- 5. 이미지를 표시 할 수 없습니다.
- 6. 이미지를 표시 할 수 없습니다
- 7. 이미지를 표시 할 수 없습니다.
- 8. 나는 이미지를 표시 할 때
- 9. 토스트에 이미지를 표시 할 수 없습니다.
- 10. GridView에서 이미지를 표시 할 수 없습니다.
- 11. Android : 이미지를 동시에 다운로드하고 표시 하시겠습니까?
- 12. Android 동영상이 버퍼링되는 동안 이미지를 표시 하시겠습니까?
- 13. Android : 웹에서 이미지를 다운로드하고 gridview에 표시
- 14. Android : 방법 : sdcard의 이미지를 표시 하시겠습니까?
- 15. 앵커를 표시 할 Android TextView
- 16. : 나는 Fancybox2로 이미지를 표시 할 때
- 17. DataGridViewImageColumn에 표시 할 이미지를 동적으로 추가하는 방법?
- 18. CherryPy에서 이미지를 표시 할 수 없습니다.
- 19. 목록에서 이미지를 표시 할 수 없습니다.
- 20. 어떻게 URL에서 이미지를 표시 할 수 있습니까?
- 21. 갤러리보기에서 선택한 이미지를 표시 할 수 없습니다.
- 22. 이미지를 다운로드 할 때 진행률 표시 줄
- 23. 오류가있어서 이미지를 표시 할 수 없습니다.
- 24. 크론 메시지에 이미지를 표시 할 수 있습니까?
- 25. GUIDE에서 이미지를 표시 할 매트릭스 응용 프로그램
- 26. 테이블 뷰에 이미지를 표시 할 수 없습니다.
- 27. 격자보기에서 URL의 이미지를 표시 할 수 없습니다.
- 28. CSS에서 이미지를 클릭하여 "표시"할 수 있습니까?
- 29. Tabbar에서 이미지를 표시 할 수 없습니다.
- 30. 이미지를 회색으로 표시 할 수 있습니까?