Android开发,需要连接webservice,之前就想用谷歌提供的jar包,下载地址:http://pan.baidu.com/s/1hqMTUHe

把它下载下来粘贴到libs文件夹下即可:

网上有很多类似的方法,我尝试了很多都没有成功,最后发现是我下载的jar包有问题导致我一直卡在哪儿。

首先添加网络权限:

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

这是全部代码,包括获取远程webservice当中数据并用ListView显示:

package com.example.webservice;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import org.ksoap2.SoapEnvelope;
import org.ksoap2.SoapFault;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException; import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast; public class MainActivity extends Activity {
//命名空间
String nameSpace="http://tempuri.org/";
//调用方法
String methodName="selectStuAll";//webservice存在的方法名称
String endPoint="http://10.0.2.2:8011/WebService.asmx?wsdl";//本地测试完整的链接
String soapAction="http://tempuri.org/selectStuAll";//命名空间和调用方法名 private ListView listview;
private ListAdapter adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listview=(ListView) findViewById(R.id.listView1); adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,getsource());
listview.setAdapter(adapter);
listview.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO 自动生成的方法存根
Toast.makeText(MainActivity.this, ">>"+adapter.getItem(arg2),).show();
}
});
}
public List<String> getsource()
{
List<String> list=new ArrayList<String>(); //实例化SoapObject对象
SoapObject request=new SoapObject(nameSpace, methodName);
//第二步:假设方法有参数的话,设置调用方法参数
/* request.addProperty("username","1");
request.addProperty("password","2");
request.addProperty("tel","3");*/
//获得序列化的Envelope
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER12);
envelope.bodyOut=request;
envelope.dotNet=true;
HttpTransportSE transport=new HttpTransportSE(endPoint);
try {
transport.call(soapAction, envelope);
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
SoapObject result = null;
try {
result = (SoapObject)envelope.getResponse();
} catch (SoapFault e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} int count=result.getPropertyCount();
for(int index=;index<count;index=index+){
list.add(result.getProperty(index).toString());
}
return list;
}
}

这样就大功告成了,如果用到这个方法有问题,在下面评论,我会帮你解决。

Android 连接webservice(利用谷歌提供的jar包)的更多相关文章

  1. jdbc数据连接池dbcp要导入的jar包

    jdbc数据连接池dbcp要导入的jar包 只用导入commons-dbcp-x.y.z.jarcommons-pool-a.b.jar

  2. Android tips(八)-->Android Studio打包apk,aar,jar包

    文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...

  3. android studio 代码混淆如何忽略第三方jar包

    日前在打包混淆包含第三方jar包的Android studio项目时 报出了各种错误,但是debug版本却能正常运行,于是怀疑android studio 打包的时候把第三方jar包给混淆了,第三方j ...

  4. Android Studio打包apk,aar,jar包

    转载请标明出处:一片枫叶的专栏 文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独 ...

  5. Android开发 互相调用模式之导出Jar包、扩展MainActivity、Java主导

    首先讲导出Jar包,在以前都是用这种方法,但是现在官方不推荐使用此方法,官方推荐导出Aar包 (1)首先创建一个Android空工程 注意:这里选择API 16,因为Unity支持的最低是API 16 ...

  6. 解决Android studio首次启动gradle无法下载jar包

    换了个电脑,原来的配置都烂了,重新使用studio,发现界面就停留在gradle下载界面不动.原因估计你会懂得.. 网上流传的配置 Gradle Vm options 或是 配置build.gradl ...

  7. 【android】在Eclipse在联想引jar包源代码

    (前提是你有jar包源代码!!) .确保Referenced LIbraies下已经有该jar包,否则的话,右击该jar包选build path->add to build path. 二.右键 ...

  8. Android Studio 在项目中引用第三方jar包

    在Android Studio项目中引用第三方jar包的方法: 步骤: 1.在build.gradle文件中添加如下代码: 备注:要添加在Android作用域下 sourceSets { main { ...

  9. Android studio导入framework编译的classes.jar包

    1.在libs文件夹中加入jar包,并将其置顶 注:studio3.1的scope没有Provided选项,都默认选择implementation,studio2.3及以下版本需要将scope设置为P ...

随机推荐

  1. [置顶] TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)

    eclipse .MyEclipse 配置安装 git:http://wenku.baidu.com/link?url=gMT4a7K6EJWAztuwun73oPHiKqlydEdn5F3S2Win ...

  2. 通过php获取用户微信openid

    // 基于CI框架 // 访问开始页面 public function url() { // wxAction/oauth2 微信回调地址:微信传入code值,通过该code在wxAction/oau ...

  3. Linux下安装Redis3.2.4

    安装: 通过wget方式直接在linux上下载Redis $ wget http://download.redis.io/releases/redis-3.2.4.tar.gz , 默认下载到路径是r ...

  4. php导出数据到excel,防止身份证等数字字符格式变成科学计数的方法

    而关于php的也有,但是大多都是用phpExcel导出的方法或者spreadsheet等类或者控件之类的导出方法,而我所在维护的系统却用很简单的方法,如下,网上很少有讲如何设置要导出数据的EXcel格 ...

  5. 深入理解asp.net里的HttpModule机制

    刚工作的时候看<asp.net深入解析>,第一次知道HttpModule和HttpHandler.当时对我而言,它们不过就是两个新名词而已,仅仅知道工作原理但是理解的不深刻.随着经验的累积 ...

  6. [LeetCode]题解(python):116 Populating Next Right Pointers in Each Node

    题目来源 https://leetcode.com/problems/populating-next-right-pointers-in-each-node/ Given a binary tree ...

  7. openfire及xmpp简单介绍

    一.oprenfire 1.openfire是采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.可以使用它轻易的构建高效率的即时通信服务器. 2.Openfire安装和 ...

  8. Android动画设计源码地址

    Android动画设计源码地址 http://blog.csdn.net/shanghaibao123/article/details/45223825

  9. oracle 判断字符串是否日期格式

    select case when to_char(TO_DATE(NVL('2015- 8', 'a'), 'yyyy-mm'),'yyyy-mm')='2015- 8' then 1 else 0 ...

  10. 用命令实现SQLServerr的备份与还原

    一.备份数据库,命令如下: USE master; GO BACKUP DATABASE mytest TO DISK='E:\disk\mytest.bak' /* mytest为数据库名称,'E: ...