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

DefaultHttpClient execute 에서부터 실행이 안됩니다...

0 추천

 

btnSend.setOnClickListener(new OnClickListener() {
   public void onClick(View v) {
    System.out.println("btn click");


    String sMessage = etMessage.getText().toString(); // 보내는 메시지를 받아옴
    System.out.println("btn click message : "+etMessage.getText().toString());
    String result = SendByHttp(sMessage); // 메시지를 서버에 보냄

   }
  });

 

 

버튼을 클릭을 해서

 

 

private String SendByHttp(String msg) {
  System.out.println("SendByHttp : "+msg);
  if(msg == null)
   msg = "";
  
  String URL = "주소입니다../db/insert.php";
  
  DefaultHttpClient client = new DefaultHttpClient();
  try {


   /* 체크할 id와 pwd값 서버로 전송 */
   System.out.println("SendByHttp URL : "+URL+"?msg="+msg);
   HttpPost post = new HttpPost(URL+"?msg="+msg);
    

   System.out.println("return :post: "+post);
   HttpResponse response = client.execute(post);
   System.out.println("return :response: "+response);
   BufferedReader bufreader = new BufferedReader(
     new InputStreamReader(response.getEntity().getContent(),
       "utf-8"));

   String line = null;
   String result = "";


   System.out.println("SendByHttp send");
   return result;
   
  } catch (Exception e) {
   e.printStackTrace();
   client.getConnectionManager().shutdown(); // 연결 지연 종료
   return "";
  }
  
 }

을 실행하려고 하는데요.

 


   HttpResponse response = client.execute(post); 여기서 부터 실행이 안됩니다...

 

05-13 08:14:23.315: I/System.out(535): return :post: org.apache.http.client.methods.HttpPost@41643490
05-13 08:14:23.325: W/System.err(535): android.os.NetworkOnMainThreadException
05-13 08:14:23.335: W/System.err(535):  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
05-13 08:14:23.335: W/System.err(535):  at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
05-13 08:14:23.345: W/System.err(535):  at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
05-13 08:14:23.345: W/System.err(535):  at libcore.io.IoBridge.connect(IoBridge.java:112)
05-13 08:14:23.345: W/System.err(535):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
05-13 08:14:23.355: W/System.err(535):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
05-13 08:14:23.355: W/System.err(535):  at java.net.Socket.connect(Socket.java:842)
05-13 08:14:23.365: W/System.err(535):  at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
05-13 08:14:23.365: W/System.err(535):  at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)
05-13 08:14:23.365: W/System.err(535):  at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
05-13 08:14:23.375: W/System.err(535):  at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
05-13 08:14:23.375: W/System.err(535):  at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
05-13 08:14:23.375: W/System.err(535):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
05-13 08:14:23.375: W/System.err(535):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
05-13 08:14:23.384: W/System.err(535):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
05-13 08:14:23.384: W/System.err(535):  at com.sunjin.moneybook.MainActivity.SendByHttp(MainActivity.java:185)
05-13 08:14:23.384: W/System.err(535):  at com.sunjin.moneybook.MainActivity.access$3(MainActivity.java:167)
05-13 08:14:23.395: W/System.err(535):  at com.sunjin.moneybook.MainActivity$1.onClick(MainActivity.java:84)
05-13 08:14:23.395: W/System.err(535):  at android.view.View.performClick(View.java:3511)
05-13 08:14:23.395: W/System.err(535):  at android.view.View$PerformClick.run(View.java:14105)
05-13 08:14:23.405: W/System.err(535):  at android.os.Handler.handleCallback(Handler.java:605)
05-13 08:14:23.405: W/System.err(535):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-13 08:14:23.405: W/System.err(535):  at android.os.Looper.loop(Looper.java:137)
05-13 08:14:23.405: W/System.err(535):  at android.app.ActivityThread.main(ActivityThread.java:4424)
05-13 08:14:23.415: W/System.err(535):  at java.lang.reflect.Method.invokeNative(Native Method)
05-13 08:14:23.415: W/System.err(535):  at java.lang.reflect.Method.invoke(Method.java:511)
05-13 08:14:23.415: W/System.err(535):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-13 08:14:23.415: W/System.err(535):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-13 08:14:23.425: W/System.err(535):  at dalvik.system.NativeStart.main(Native Method)

 

이렇게 로그가 나오는데요.

api버전 바꿔보고 메니페스트파일 수정해보고.. 해봣는데도 잘 모르겠습니다..

 

 

 

꾸우우 (1,140 포인트) 님이 2015년 5월 13일 질문

1개의 답변

0 추천
 
채택된 답변
05-13 08:14:23.325: W/System.err(535): android.os.NetworkOnMainThreadException
익명사용자 님이 2015년 5월 13일 답변
꾸우우님이 2015년 5월 13일 채택됨
아.. 저게 핵심오류내용이군요..감사합니다. ㅠㅜ
찾아서 해보겠습니다.
...