首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android -尝试发送POST请求,抛出无消息的异常

Android -尝试发送POST请求,抛出无消息的异常
EN

Stack Overflow用户
提问于 2015-04-15 23:24:53
回答 2查看 60关注 0票数 0

简单的代码:

代码语言:javascript
复制
 String URL = "http://www.google.com";
                        try {
                            HttpClient httpClient = new DefaultHttpClient();
                            HttpPost httpPost = new HttpPost("http://xocircle.freeiz.com/index.php?id=425231&data=joiragiiij99newooo");
                            // Add your data
                            List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>(2);
                            httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairList));
                            // execute HTTP post request
                            HttpResponse response = httpClient.execute(httpPost);
                        } catch(Exception ex) {
                            ex.printStackTrace();
                            Log.w("Error", ex.getMessage());
                        }

我在我的android应用程序上运行它,它使应用程序崩溃。下面是要传达的信息:

代码语言:javascript
复制
04-15 18:21:27.645  16150-16150/com.nimrod.xocircle W/Error﹕ Try to send
04-15 18:21:27.765  16150-16150/com.nimrod.xocircle W/System.err﹕ android.os.NetworkOnMainThreadException
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1156)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)

04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at java.net.InetAddress.getAllByName(InetAddress.java:214)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:167)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:125)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at org.apache.http.impl.client.DefaultRequestDirector.executeOriginal(DefaultRequestDirector.java:1227)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:677)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at com.nimrod.xocircle.PlayBoard$1.onClick(PlayBoard.java:94)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at android.view.View.performClick(View.java:4630)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at android.view.View$PerformClick.run(View.java:19339)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at android.os.Handler.handleCallback(Handler.java:733)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:95)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at android.os.Looper.loop(Looper.java:157)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5335)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at java.lang.reflect.Method.invokeNative(Native Method)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:515)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
04-15 18:21:27.770  16150-16150/com.nimrod.xocircle W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
04-15 18:21:27.775  16150-16150/com.nimrod.xocircle W/System.err﹕ at dalvik.system.NativeStart.main(Native Method)
04-15 18:21:27.775  16150-16150/com.nimrod.xocircle W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41fcdc08)

但是我不能理解我自己。

我确实有权限,而且我确实有互联网连接。

有什么帮助吗?

EN

回答 2

Stack Overflow用户

发布于 2015-04-15 23:28:00

你有一个android.os.NetworkOnMainThreadException,你需要在一个线程中执行所有的网络操作。因此,只需将代码包装在线程或异步任务中,它就应该可以工作。

票数 1
EN

Stack Overflow用户

发布于 2015-04-15 23:43:06

您可以使用

代码语言:javascript
复制
    new Thread(new Runnable()
    {
        @Override
        public void run()
        {

        }
    }).start();

并将您的代码放入run方法中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29654293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档