安卓新手求助一段代码的写法。android 调用 webservice 方面的。

lich2005 2019-07-01 02:52:48
背景是想弄一个安卓小程序,与 SQL Server数据库有些操作,但中间打算用 webservice 来做(不知道大家平时怎么来连接数据库,有好的方式还望能细细告知,谢谢)。参考了网上大量的文章,无奈感觉始终有些代码没法写出来,毕竟新手,希望大家能指点一二。

有些环境设置我就直接说了。

开发环境是安卓 7.1.1

ksoap2-android-assembly-3.1.1-jar-with-dependencies.jar 已经放在 libs,并用命令
api files('libs/ksoap2-android-assembly-3.1.1-jar-with-dependencies')编译通过,
...
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
....正常,AS不报错。

我看最新的有个
ksoap2-android-assembly-3.6.4-jar-with-dependencies ,我也用过这个版本,但没有成功。

<uses-permission android:name="android.permission.INTERNET"/>权限已加。


--主要想请大家帮忙看下代码(我的想法是通过调用 ws, 也就是简单的两个数字求和,然后在画面的 textview中显示这个值就可以了)
MainActivity.java

--

public class MainActivity extends AppCompatActivity {

private TextView tv_result;

private String result;

private static final String AddressnameSpace = "http://tempuri.org/";
private static final String Weatherurl = "http://10.100.25.42:8081/WebServiceDemo.asmx";
private static final String Weathermethod = "add";
private static final String WeathersoapAction = "http://tempuri.org/add";

@Override
protected void onCreate(Bundle savedInstanceState) {
getSum();
tv_result.setText(result);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//目前难在这里了,这步改怎么去写,把一个webservice的结果值显示到文本中
//看有些文章需要写成异步执行那种方式来做,这个怎么来写?
//目前运行安卓模拟器报错,程序 stopped 停止运行...
}

public void getSum()
{
result = "";
SoapObject soapObject = new SoapObject(AddressnameSpace, Weathermethod);
soapObject.addProperty("a", "1000");
soapObject.addProperty("b", "2000");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
//这里有些疑问,有的用 ver11,有的用 v12,而且好像都可以通过,怎么来判断那个 ver?
envelope.bodyOut = soapObject;
envelope.dotNet = true;
envelope.setOutputSoapObject(soapObject);
HttpTransportSE httpTransportSE = new HttpTransportSE(Weatherurl);

//--
try {
httpTransportSE.call(WeathersoapAction, envelope);
//
} catch (Exception e) {
e.printStackTrace();//
}
//--
SoapObject object = (SoapObject) envelope.bodyIn;

result = object.getProperty(0).toString();


//--

}
}



还望大家能稍微细细指点一下哈,很多还不是很懂,谢谢了。
...全文
209 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lich2005 2019-07-02
  • 打赏
  • 举报
回复
结帖,自己搞定了,等我把代码整理一下,以后再贴上来吧。是要用到异步执行的方式来写。
lich2005 2019-07-01
  • 打赏
  • 举报
回复
另外再补充一下, webservice 我是用 c#写的,服务正常,没问题。

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧