다음 자바 코드가 있습니다.
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.1.105/test.php");
List<NameValuePair> teste = new ArrayList<NameValuePair>(1);
teste.add(new BasicNameValuePair("test", "test"));
httppost.setEntity(new UrlEncodedFormEntity(test));
HttpResponse response = (HttpResponse) httpclient.execute(httppost);
} catch (IOException e) {
e.printStackTrace();
}
주석을 제거하거나 주석을 달 때마다 HttpResponse response = (HttpResponse) httpclient.execute(httppost);
앱이 충돌하거나 충돌하지 않습니다. 매니페스트에 대한 인터넷 권한 이 있으며 서버에서 json_encoded 메시지를 얻고 싶습니다. 나는 "모든 것"을 시도했지만 여전히 그것을 작동시킬 수 없었다.
로그 :
07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : FATAL EXCEPTION : main 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : java.lang.IllegalStateException : 활동의 메소드를 실행할 수 없음 07 -10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at android.view.View $ 1.onClick (View.java:3591) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at android.view.View view.View.performClick (View.java:4084) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at android.view.View $ PerformClick.run (View.java:16966) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : android.os.Handler.handleCallback (Handler.java:615) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : android.os.Handler.dispatchMessage에서 (Handler.java:92) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : android.os.Looper.loop (Looper.java:137) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : android.app.ActivityThread.main (ActivityThread.java : 4745) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at java.lang.reflect.Method.invokeNative (Native Method) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at java.lang.reflect.Method.invoke (Method.java:511) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit. java : 786) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : com.android.internal.os.ZygoteInit.main (ZygoteInit.java:553) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at dalvik.system.NativeStart.main (Native Method) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : 원인 : java.lang.reflect.InvocationTargetException 07-10 15:04 : 30.197 : E / AndroidRuntime (19382) : at java.lang.reflect.Method.invokeNative (Native Method) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at java.lang.reflect.Method.invoke ( Method.java:511) 07-10 15 : 04 : 30.197 :E / AndroidRuntime (19382) : at android.view.View $ 1.onClick (View.java:3586) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : ... 11 more 07-10 15:04 : 30.197 : E / AndroidRuntime (19382) : 원인 : android.os.NetworkOnMainThreadException 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at android.os.StrictMode $ AndroidBlockGuardPolicy.onNetwork (StrictMode.java:1117 ) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : libcore.io.BlockGuardOs.connect (BlockGuardOs.java:84) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : libcore에서 .io.IoBridge.connectErrno (IoBridge.java:127) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : libcore.io.IoBridge.connect (IoBridge.java:112) 07-10 15:04 : 30.197 : E / AndroidRuntime (19382) : java.net.PlainSocketImpl.connect (PlainSocketImpl.java:192) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : java.net.PlainSocketImpl.connect ( PlainSocketImpl.java :459) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : java.net.Socket.connect (Socket.java:842) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : org.apache.http.conn.scheme.PlainSocketFactory.connectSocket (PlainSocketFactory.java:119) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection (DefaultClientConnectionOperator.java:144) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at org.apache.http.impl.conn.AbstractPoolEntry.open (AbstractPoolEntry.java:164) 07-10 15:04 : 30.197 : E / AndroidRuntime (19382) : org.apache.http.impl.conn.AbstractPooledConnAdapter.open (AbstractPooledConnAdapter.java:119) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : 조직에서. apache.http.impl.client.DefaultRequestDirector.execute (DefaultRequestDirector.java:360) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at org.apache.http.impl.client.AbstractHttpClient.execute (AbstractHttpClient.java:555) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at org.apache.http.impl.client.AbstractHttpClient.execute (AbstractHttpClient.java : 487) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at org.apache.http.impl.client.AbstractHttpClient.execute (AbstractHttpClient.java:465) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : at com.diverse.just.LoginActivity.newAccount (LoginActivity.java:92) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : ... 14 more197 : E / AndroidRuntime (19382) : at com.diverse.just.LoginActivity.newAccount (LoginActivity.java:92) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : ... 14 more197 : E / AndroidRuntime (19382) : at com.diverse.just.LoginActivity.newAccount (LoginActivity.java:92) 07-10 15 : 04 : 30.197 : E / AndroidRuntime (19382) : ... 14 more
AsyncTask
백그라운드 성능을 위해 코드를에 넣어야합니다 .
그러나 서버 데이터를 더 잘 다운로드하려면 AsyncHttpClient라는 프레임 워크를 사용하십시오. 여기에서 찾을 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다