마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Android-Universal-Image-Loader 사용법 문의드립니다.

0 추천

listview와 gridview를 이용하고 싶어서

 

https://github.com/nostra13/Android-Universal-Image-Loader

 

위의 사이트에서 예제를 다운 받아서 샘플을 해봤습니다.

다운받은 프로젝트에서 소스를 수정해서 제가 원하는 이미지를 출력하는것까지는 성공했는데

그 코드를 다른 프로젝트로 옮기면 에러가 납니다.

아무래도 null point error 이거나 혹은 library 초기화와 관련된 문제인데 몇시간을봐도 어디에서 에러가 나는지 모르겠습니다.

 

아마도 

 

    listView = (GridView) findViewById(R.id.gridview);

    ((GridView) listView).setAdapter(new ImageAdapter());

 

이 부분에서 호출할때 에러가 나는 것 같습니다.

 

아래 에러 메세지 첨부합니다.

 

 

03-25 18:24:17.208: D/AndroidRuntime(312): Shutting down VM
03-25 18:24:17.208: W/dalvikvm(312): threadid=1: thread exiting with uncaught exception (group=0x41693438)
03-25 18:24:17.228: E/AndroidRuntime(312): FATAL EXCEPTION: main
03-25 18:24:17.228: E/AndroidRuntime(312): java.lang.IllegalStateException: ImageLoader must be init with configuration before using
03-25 18:24:17.228: E/AndroidRuntime(312): at com.nostra13.universalimageloader.core.ImageLoader.checkConfiguration(ImageLoader.java:359)
03-25 18:24:17.228: E/AndroidRuntime(312): at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:200)
03-25 18:24:17.228: E/AndroidRuntime(312): at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:162)
03-25 18:24:17.228: E/AndroidRuntime(312): at com.kmob.camera.ImageGridActivity$ImageAdapter.getView(ImageGridActivity.java:117)
03-25 18:24:17.228: E/AndroidRuntime(312): at android.widget.AbsListView.obtainView(AbsListView.java:2449)
03-25 18:24:17.228: E/AndroidRuntime(312): at android.widget.GridView.onMeasure(GridView.java:1030)
03-25 18:24:17.228: E/AndroidRuntime(312): at android.view.View.measure(View.java:15364)
03-25 18:24:17.228: E/AndroidRuntime(312): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617)
03-25 18:24:17.228: E/AndroidRuntime(312): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399)
03-25 18:24:17.228: E/AndroidRuntime(312): at android.view.View.measure(View.java:15364)
03-25 18:24:17.228: E/AndroidRuntime(312): at 
 
맛있다얍얍 (1,130 포인트) 님이 2013년 3월 26일 질문

1개의 답변

+1 추천

java.lang.IllegalStateException: ImageLoader must be init with configuration before using

 

이미지 로더를 사용하기 전에 configuration을 잡아 주셔야 합니다.

 

저는 요로코롬 쓰고 있어요 ㅋ 

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
		.threadPriority(Thread.NORM_PRIORITY - 2)
		.memoryCacheSize(2 * 1024 * 1024) // 2 Mb
		.denyCacheImageMultipleSizesInMemory()
		.discCacheFileNameGenerator(new Md5FileNameGenerator())
		.imageDownloader(new ExtendedImageDownloader(getApplicationContext()))
		.tasksProcessingOrder(QueueProcessingType.LIFO)
		.enableLogging() // Not necessary in common
		.build();
		
		ImageLoader.getInstance().init(config);

 

갈무리 (12,430 포인트) 님이 2013년 3월 26일 답변
전체적인 flow 좀 알 수 없을까요? 설명서 읽어봐도 너무 대략적으로만 적어놔서....
샘플 코드만 보셔도 충분합니다.

Configuration, displayImage, loadImage 이 3개만 있으면 충분히 쓰시는데는 지장이 없습니다.

그리고 전체적인 flow는 라이브러리 소스 보시면 다 나와 있습니다 ㅠㅠ
...