안드로이드 개발 질문/답변
(글 수 45,052)
Item_View_List.java원격웹이미지 리스트
HttpGet httpRequest = null; Bitmap bm = null; InputStream is = null; try { URL bitmapUrl = new URL(image_url); httpRequest = new HttpGet(bitmapUrl.toURI()); HttpClient httpclient = new DefaultHttpClient(); HttpResponse response = (HttpResponse) httpclient.execute(httpRequest); HttpEntity entity = response.getEntity(); BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity); is = bufHttpEntity.getContent(); bm = BitmapFactory.decodeStream(is); is.close(); item_image.setImageBitmap(cropBitmap(bm)); } catch (IOException e) { //item_image.setImageResource(R.drawable.file_not_found); Log.e("DEBUGTAG", "Remote Image Exception", e); } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); }
원격 웹이미지를 커스텀리스트에 뿌려주는데 맨 마지막 부분에서 에러납니다.
331 라인에서요.
HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
에뮬레이터나 안드로이드폰 와이파이에서는 에러가 나도 별지장없이 잘 돌아가는데,
3G 상태로 안드로이드폰에서 에러나면 렉이 걸려서 않 움직이고
(ㅇㅇㅇ활동(ㅇㅇㅇ응용프로그램)이 응답하지 않습니다)에러 메시지 납니다.
도와 주세요.. 며칠째 고생하고 있습니다.. ㅠ..ㅠ
에러 메시지
10-08 07:24:16.469: ERROR/DEBUGTAG(226): Remote Image Exception
10-08 07:24:16.469: ERROR/DEBUGTAG(226): java.net.UnknownHostException: Host is unresolved: jumoni.comnull:80
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at java.net.Socket.connect(Socket.java:1002)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:129)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at com.marketn.app.jumoni.Item_View_List$List_Item_Adapter.getView(Item_View_List.java:331)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.widget.AbsListView.obtainView(AbsListView.java:1255)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.widget.ListView.makeAndAddView(ListView.java:1658)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.widget.ListView.fillDown(ListView.java:637)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.widget.ListView.fillGap(ListView.java:608)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:2489)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:2313)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.os.Handler.handleCallback(Handler.java:587)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.os.Handler.dispatchMessage(Handler.java:92)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.os.Looper.loop(Looper.java:123)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at android.app.ActivityThread.main(ActivityThread.java:4203)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at java.lang.reflect.Method.invoke(Method.java:521)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
10-08 07:24:16.469: ERROR/DEBUGTAG(226): at dalvik.system.NativeStart.main(Native Method)
제가 안드로이드 개발초보라 잘 몰랐네요..
비동기처리방식으로 리스트에 원격웹이미지들을 불러오지 않아서 생긴 문제 같습니다.
비동기처리방식에 대해 공부중입니다.