사용자가 미디어 갤러리에서 이미지를 선택하거나 카메라로 이미지를 가져올 수있는 활동에 nostra13/ImageLoader (https://github.com/nostra13/Android-Universal-Image-Loader)를 사용하려고합니다. 이 작업이 완료되면 그림의 전체 경로가 "/mnt/sdcard/DCIM/100ANDRO/whatever.jpg"로 표시됩니다. 즉, sdcard에 저장된 이미지입니다. 나는 다음과 같은 오류 얻을하여 ImageLoader에이 이미지를로드 할 때 : 정말 오류를 이해하고 있지 않다ImageLoader로 로컬 이미지를로드하려고 할 때 NullPointerException이 발생했습니다.
11-12 16:05:18.966: E/ImageLoader(12905): null
11-12 16:05:18.966: E/ImageLoader(12905): java.lang.NullPointerException
11-12 16:05:18.966: E/ImageLoader(12905): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.saveImageOnDisc(LoadAndDisplayImageTask.java:239)
11-12 16:05:18.966: E/ImageLoader(12905): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:138)
11-12 16:05:18.966: E/ImageLoader(12905): at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:72)
11-12 16:05:18.966: E/ImageLoader(12905): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:444)
11-12 16:05:18.966: E/ImageLoader(12905): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
11-12 16:05:18.966: E/ImageLoader(12905): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
11-12 16:05:18.966: E/ImageLoader(12905): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
11-12 16:05:18.966: E/ImageLoader(12905): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
11-12 16:05:18.966: E/ImageLoader(12905): at java.lang.Thread.run(Thread.java:1019)
을, 이미지의 경로 I가 노력하고있어 이미지보기도 null가 아닌 이미지를로드하십시오. 매니페스트에 필요한 사용 권한이 있으며 원격 이미지는로드 할 수 있지만 로컬 이미지는로드 할 수 없습니다. 무슨 일이 일어날 지에 대한 아이디어가 있습니까?
미리 감사드립니다.
ImageView m_ivAvatar = (ImageView) findViewById(R.id.pdi_image_detail);
imageLoader.displayImage(imagen.getUrl(), m_ivAvatar);
하고 XML :
<RelativeLayout
android:id="@+id/pdi_header_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/pdi_image_detail"
android:layout_width="80dp"
android:layout_height="80dp"
android:scaleType="fitCenter"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"/>
<RelativeLayout
android:id="@+id/pdi_detail_action_icons_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true">
<ImageButton
android:id="@+id/pdi_detail_icon_share"
android:layout_width="30dp"
android:layout_height="30dp"
android:scaleType="fitCenter"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"/>
<ImageButton
android:id="@+id/pdi_detail_icon_map"
android:layout_width="30dp"
android:layout_height="30dp"
android:scaleType="fitCenter"
android:layout_below="@id/pdi_detalle_icon_share"
android:layout_alignParentLeft="true"/>
</RelativeLayout>
</RelativeLayout>
무엇이 imagen입니까? imagen.getURL()이 반환하는 것은 무엇입니까? – ariefbayu
죄송합니다. imagen은 응용 프로그램 내부의 이미지를 나타내는 객체입니다. 여기에는 getURL() 메소드에서 반환되는 url (이미지의 전체 경로)을 비롯한 몇 가지 정보가 들어 있습니다. 이 URL은 로컬 경로 /mnt/sdcard/.../image.jpg 또는 원격 http : //.../image.jpg가 될 수 있습니다. – sparragol