webService 很久不用了,第一次使用还是13年, 早已忘记怎么搞了.今天看了篇博文,写了个demo .记录下吧!

首先要下载skoap2  .... xxx.jar  ,我用的是最新的3.6.2 , 下载地址网上很多. 随便下载个版本就行.

public class MainActivity extends AppCompatActivity {

    private Button btn;

    @Override
protected void onCreate(Bundle savedInstanceState) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.button); btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new Thread(){
@Override
public void run() {
getRemoteInfo();
}
}.start();
}
});
} /**
* 得到远程数据
*/
private void getRemoteInfo() {
//String nameSpace = "http://WebXml.com.cn/";//命名空间
String nameSpace = "http://WebXml.com.cn/";//命名空间
//String methodName = "getMobileCodeInfo";//调用的方法名
String methodName = "getOpenFundString";//调用的方法名
//String endPoint = "http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx";
String endPoint = "http://ws.webxml.com.cn/WebServices/ChinaOpenFundWS.asmx";
//String soapAction = "http://WebXml.com.cn/getMobileCodeInfo";
String soapAction = "http://WebXml.com.cn/getOpenFundString";
//指定webservice的命名空间和调用方法
SoapObject rpc = new SoapObject(nameSpace,methodName);
//需要传入的参数
//rpc.addProperty("theCityName","郑州");
//rpc.addProperty("",null);
//生产调用webService方法的SOAP请求信息,并指定SOAP的版本 ,这个版本 根据 asdl文件中是1.1还是1.2协议来指定的. 一般VER11或者VER12都可以,以前还有VER10
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
envelope.bodyOut = rpc;
envelope.dotNet = true;//设置是否调用的是dotNet开发的webService
//(new MarshalBase64()).register(envelope);
// 等价于envelope.bodyOut = rpc;
envelope.setOutputSoapObject(rpc);
HttpTransportSE transportSE = new HttpTransportSE(endPoint);
transportSE.debug = true;
try {
//调用webService
transportSE.call(soapAction,envelope);
transportSE.call(null,envelope);
if(envelope.getResponse()!=null){
//获取返回的结果
// SoapObject object = (SoapObject) envelope.bodyIn;
// List<String> list= new ArrayList<>();
// int count = object.getPropertyCount();
// for (int i=0;i<count;i++){
// SoapObject subObject = (SoapObject) object.getProperty(i);
// String name = subObject.getPropertyAsString(i);
//
// list.add(name);
// }
// Log.e("集合长度",list.size()+"");
String result = String.valueOf(envelope.getResponse());
Log.e("返回结果--------->",result);
Message message = Message.obtain();
message.obj = result;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
} private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
String result = (String) msg.obj;
}
};
}

代码中有一大段注释,这里可以 获取网络数据并解析,一般情况下获取的数据有3种样式,xml 或者 json, 前两者都好说.

还有一种是anyType{string=xxxx; string=1232; ...}

参考:

http://blog.csdn.net/xf396191344/article/details/32135729

http://www.cnblogs.com/bruceli-net/p/5688216.html

http://blog.csdn.net/yuanyuan_186/article/details/51122579

android 和 webService交互的更多相关文章

  1. Android 与 Webservice 的快速保存

    前面写了一篇android对sqllite的快速保存博客,今天我们来看看android与webservice的交互,相信很多有经验的人自然就想到了soap.但是如果在小型项目中,具有大材小用之嫌.实际 ...

  2. Android与H5交互(java与js的交互)

    一.理论概述 1.js调用java方法 直接调用WebView的该方法就可以添加接口了,不过先要启动交互 // 启用javascript mWebView.getSettings().setJavaS ...

  3. Android调用WebService(转)

    Android调用WebService WebService是一种基于SOAP协议的远程调用标准,通过 webservice可以将不同操作系统平台.不同语言.不同技术整合到一块.在Android SD ...

  4. android loginDemo +WebService用户登录验证

        android loginDemo +WebService用户登录验证 本文是基于android4.0下的loginActivity Demo和android下的Webservice实现的.l ...

  5. Android平台调用WebService详解

    上篇文章已经对Web Service及其相关知识进行了介绍(Android开发之WebService介绍 ),相信有的朋友已经忍耐不住想试试在Android应用中调用Web Service.本文将通过 ...

  6. struts2中获取request、response,与android客户端进行交互(文件传递给客户端)

    用struts2作为服务器框架,与android客户端进行交互需要得到request.response对象. struts2中获取request.response有两种方法. 第一种:利用Servle ...

  7. 解决android开发webservice的发布与数据库连接的问题

    由于app后续开发的需要,移植了两次webservice和数据库,遇到了不少问题,也花费了很多时间,实践告诉我要学会寻找问题的根源,这样才能在开发中节省时间,尽快解决问题!好,废话不多说,转入正题…… ...

  8. Android JS桥交互("Uncaught ReferenceError: xxx is not defined or xxx has no method")

    网上android和js交互的代码有不少,也很容易搜到.最近在做的项目需要用到js桥,遇到了一些问题,记录下来,希望以后遇到能马上解决掉. 一开始我找的demo是从这个:http://blog.csd ...

  9. Android GIS +webservice

    Android新手经典入门教程 Android开发教程(完全免费版) Android SDK v3.1.0 Android定位功能(一) Android定位功能(二) Android 百度地图开发(一 ...

随机推荐

  1. charles(version4.2.1)抓包手机数据

    点击菜单栏的Proxy项,选择Proxy Settings. 设置HTTP Proxy的Port. 勾选透明代理Enable transparent HTTP proxying,也可不勾选. 设置代理 ...

  2. Java——异常处理

    1.java提供的异常不可能预见所有的问题,所以需要自己定义异常类,必须从已有的异常类继承,最好选择意思相近的异常类继承. class MyException extends Exception{} ...

  3. Notepad++编辑器——Verilog、代码片段、F6编译

    Notepad++是一款精致小巧的编辑器,自带Verilog语法识别功能,插件也挺好用的.这里陈列一下我的设置. 版本:Notepad++ 7.6.6 ,32位 //================= ...

  4. I firmly believe

    I firmly believe, what you plant now, you will harvest later.

  5. python+爬虫+微信机器人 打造属于你的网购价格监督利器

    写在最前 程序是为人类服务的,最近正好身边小伙伴们在做球衣生意,当然是去nikenba专区购买了,可是有些热门球衣发布几分钟就被抢完,有些折扣球衣也是很快就被抢售一空,那么我们只能靠自己的眼睛一直盯着 ...

  6. Unity经典案例之:Fire Balls 多个圆环以及圆环的变速变向

    版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...

  7. 2018年蓝桥杯b组国赛真题

    1.标题:换零钞x星球的钞票的面额只有:100元,5元,2元,1元,共4种.小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱.小明有点强迫症,他坚持要求200元换出 ...

  8. 单元测试之NUnit二

    NUnit 分三篇文章介绍,入门者可阅读文章,有基础者直接参考官方文档.初次写博客,望大家指点. 导航: 单元测试之NUnit一 单元测试之NUnit二 单元测试之NUnit三 本文介绍常用的NUni ...

  9. 在vue.js引用图片的问题

    <div id="img"> <img src="img.png" class="img"> </div> ...

  10. Docker学习总结(四)--应用部署

    MySQL部署 1) 拉取 mysql 镜像 docker pull centos/mysql:5.7 2) 创建容器 docker run -di --name=mysql -p 33306:330 ...