php– 使用Android的httppost错误

php– 使用Android的httppost错误,第1张

概述在我决定到达这里之前,我已经在Stackoverflow和互联网上查看了大部分q/a的答案.我正在尝试在我的网站上调用一个php页面,并在调用httpclient.execute时不断收到此错误:08-1912:42:33.889:E/AndroidRuntime(5340):FATALEXCEPTION:main08-1912:42:33.889:E/AndroidRuntim

在我决定到达这里之前,我已经在Stackoverflow和互联网上查看了大部分q / a的答案.

我正在尝试在我的网站上调用一个PHP页面,并在调用httpclIEnt.execute时不断收到此错误:

08-19 12:42:33.889: E/AndroIDRuntime(5340): FATAL EXCEPTION: main 08-19 12:42:33.889:E/AndroIDRuntime(5340): java.lang.IllegalStateException: Could not execute method of the activity 08-19 12:42:33.889: E/AndroIDRuntime(5340):at androID.vIEw.VIEw.onClick(VIEw.java:3046)

所以我读了一些帖子和一件事我确定我有

<uses-permission androID:name="androID.permission.INTERNET" />

添加到我的清单(我这样做)下面是我从互联网上获得的一个剪辑 – 我从按钮onclick事件调用:

 httpClIEnt httpclIEnt = new DefaulthttpClIEnt();        httpPost httppost = new httpPost("http://mywebsite/scripts/test.PHP");        try {            // Add your data            List<nameValuePair> nameValuePairs = new ArrayList<nameValuePair>(3);            nameValuePairs.add(new BasicnameValuePair("function", "1"));            nameValuePairs.add(new BasicnameValuePair("user", "username"));            nameValuePairs.add(new BasicnameValuePair("pass", "123"));            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));            // Execute http Post Request            httpResponse response = httpclIEnt.execute(httppost);            Log.e("log_tag", response.toString());        } catch (ClIEntProtocolException e) {             Log.e("log_tag", e.toString());        } catch (IOException e) {            Log.e("log_tag", e.toString());        }

完整日志:

08-19 12:42:16.365: I/System.out(5340): Sending WAIT chunk08-19 12:42:16.365: W/ActivityThread(5340): Application com.example.equinetravels is waiting for the deBUGger on port 8100...08-19 12:42:16.373: I/dalvikvm(5340): DeBUGger is active08-19 12:42:16.373: I/System.out(5340): DeBUGger has connected08-19 12:42:16.373: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:16.576: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:16.779: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:16.982: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:17.186: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:17.381: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:17.584: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:17.779: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:17.982: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:18.186: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:18.381: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:18.584: I/System.out(5340): waiting for deBUGger to settle...08-19 12:42:18.787: I/System.out(5340): deBUGger has settled (1432)08-19 12:42:19.037: D/libEGL(5340): loaded /system/lib/egl/libGLES_androID.so08-19 12:42:19.045: D/libEGL(5340): loaded /vendor/lib/egl/libEGL_POWERVR_SGX540_120.so08-19 12:42:19.053: D/libEGL(5340): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so08-19 12:42:19.053: D/libEGL(5340): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so08-19 12:42:19.162: D/Openglrenderer(5340): Enabling deBUG mode 008-19 12:42:33.834: D/AndroIDRuntime(5340): Shutting down VM08-19 12:42:33.834: W/dalvikvm(5340): threadID=1: thread exiting with uncaught exception (group=0x40ab6210)08-19 12:42:33.889: E/AndroIDRuntime(5340): FATAL EXCEPTION: main08-19 12:42:33.889: E/AndroIDRuntime(5340): java.lang.IllegalStateException: Could not execute method of the activity08-19 12:42:33.889: E/AndroIDRuntime(5340):     at androID.vIEw.VIEw.onClick(VIEw.java:3046)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at androID.vIEw.VIEw.performClick(VIEw.java:3526)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at androID.vIEw.VIEw$PerformClick.run(VIEw.java:14133)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at androID.os.Handler.handleCallback(Handler.java:605)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at androID.os.Handler.dispatchMessage(Handler.java:92)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at androID.os.Looper.loop(Looper.java:137)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at androID.app.ActivityThread.main(ActivityThread.java:4697)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at java.lang.reflect.Method.invokeNative(Native Method)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at java.lang.reflect.Method.invoke(Method.java:511)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:554)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at dalvik.system.NativeStart.main(Native Method)08-19 12:42:33.889: E/AndroIDRuntime(5340): Caused by: java.lang.reflect.InvocationTargetException08-19 12:42:33.889: E/AndroIDRuntime(5340):     at java.lang.reflect.Method.invokeNative(Native Method)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at java.lang.reflect.Method.invoke(Method.java:511)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at androID.vIEw.VIEw.onClick(VIEw.java:3041)08-19 12:42:33.889: E/AndroIDRuntime(5340):     ... 11 more08-19 12:42:33.889: E/AndroIDRuntime(5340): Caused by: androID.os.networkonmainthreadException08-19 12:42:33.889: E/AndroIDRuntime(5340):     at androID.os.StrictMode$AndroIDBlockGuardPolicy.onNetwork(StrictMode.java:1119)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at java.net.InetAddress.lookupHostByname(InetAddress.java:441)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at java.net.InetAddress.getAllBynameImpl(InetAddress.java:243)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at java.net.InetAddress.getAllByname(InetAddress.java:220)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at org.apache.http.impl.conn.DefaultClIEntConnectionoperator.openConnection(DefaultClIEntConnectionoperator.java:137)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at org.apache.http.impl.clIEnt.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at org.apache.http.impl.clIEnt.AbstracthttpClIEnt.execute(AbstracthttpClIEnt.java:555)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at org.apache.http.impl.clIEnt.AbstracthttpClIEnt.execute(AbstracthttpClIEnt.java:487)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at org.apache.http.impl.clIEnt.AbstracthttpClIEnt.execute(AbstracthttpClIEnt.java:465)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at com.example.equinetravels.MainActivity.postData(MainActivity.java:79)08-19 12:42:33.889: E/AndroIDRuntime(5340):     at com.example.equinetravels.MainActivity.sendlogon(MainActivity.java:47)08-19 12:42:33.889: E/AndroIDRuntime(5340):     ... 14 more

解决方法:

看起来你正在获得networkonmainthreadException

尝试在不同的线程上运行它?

来自Javadocs:

“应用程序尝试在其主线程上执行网络 *** 作时引发的异常.

仅针对Honeycomb SDK或更高版本的应用程序进行此 *** 作.针对早期SDK版本的应用程序可以在其主要事件循环线程上进行网络连接,但是非常不鼓励这样做.请参阅文档设计响应性. “

总结

以上是内存溢出为你收集整理的php – 使用Android的httppost错误全部内容,希望文章能够帮你解决php – 使用Android的httppost错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1118887.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存