gpt4 book ai didi

java - 尝试从我的 android java 应用程序调用 Web 服务时出现 android.os.NetworkOnMainThreadException 异常?

转载 作者:行者123 更新时间:2023-12-02 00:33:50 27 4
gpt4 key购买 nike

您好,我是 Android java 开发新手,我正在尝试从我的 android java 应用程序调用 java webservice。当我尝试运行此应用程序时,出现一个异常,显示 android.os.NetworkOnMainThreadException。我不知道为什么会出现这个错误..?无论如何我都遇到了这个错误。我在谷歌上搜索了很多,但找不到确切的解决方案..有人可以帮忙吗..?下面是我的代码 fragment 。

        SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION,envelope);
SoapObject so = (SoapObject)envelope.bodyIn;

完成调试后,我认为这些代码行 androidHttpTransport.call(SOAP_ACTION,envelope);
SoapObject so = (SoapObject)envelope.bodyIn;
正在产生问题。代码 envelope.bodyIn 给了我一个 null 值。

最佳答案

您可以使用AsyncTask,这将避免创建自己的线程的麻烦。在 doInBackGround 方法中进行网络调用

代码

 public void onClick(View v) {
new DownloadImageTask().execute(data);
}
class Data {
String namespace;
String method;
}

private class DownloadImageTask extends AsyncTask<data, Void, SoapObject> {

protected SoapObject doInBackground(Data... data) {
//make your network call and return SoapObject
}


protected void onPostExecute(SoapObject obj) {
//process the Soap Object returned
}
}

关于java - 尝试从我的 android java 应用程序调用 Web 服务时出现 android.os.NetworkOnMainThreadException 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8322057/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com