`
sunwei_07
  • 浏览: 27856 次
  • 性别: Icon_minigender_1
  • 来自: 嘉兴
社区版块
存档分类
最新评论

Andorid访问WebService的学习笔记

阅读更多
最近学习了Android怎么访问WebService。把过程记录一下

1.设置模拟器可以上网
Windows下,配置好Adroid环境变量后(如将d:\android-sdk-windows-1.0_r1\tools加入系统变量PATH),在命令行窗口输入:

emulator

启动Android 模拟器后, 输入:

adb shell

进入adb shell模式:

将网络连接代理设置写入配置数据库,假如你的上网代理IP是10.193.xx.xx:
sqlite3
/data/data/com.android.providers.settings/databases/settings.db "INSERT
INTO system VALUES(99,'http_proxy','10.193.xx.xx:1080')"

查询一下是否成功更改了系统设置:
sqlite3
/data/data/com.android.providers.settings/databases/settings.db "SELECT *
FROM system"

注意的几点,设置后如果上不了网可以看下DNS是否设置正确
getprop看下NET.DNS1对不对,设成和PC一样就OK了
设置方法 setprop NET.DNS1 xxx.xxx.xxx.xxx 具体值看你自己PC

2.发布WebSerice(我是通过axis2在TOMCAT加了一个简单的数字加减的服务)

1.下载axis2的war文件,扔到Tomcat Webapps
2.写Service类
package rong.service;

/** */
/**
* 计算器运算
*
* @author rongxinhua
*
*/
public class CalculateService {

/** */
/**
* 加法运算
*
* @param x
*            被加数
* @param y
*            加数
* @return x与y的和
*/
public float plus(float x, float y) {
return x + y;
}

/** */
/**
* 减法运算
*
* @param x
*            被减数
* @param y
*            减数
* @return x与y之差
*/
public float minus(float x, float y) {
return x - y;
}

/** */
/**
* 乘法运算
*
* @param x
*            被乘数
* @param y
*            乘数
* @return x与y的乘积
*/
public float multiply(float x, float y) {
return x * y;
}

/** */
/**
* 除法运算
*
* @param x
*            被除数
* @param y
*            除数
* @return x与y的商
*/
public float divide(float x, float y) {
return x / y;
}

}

3.打包服务arr文件,扔到axis2的WEB-INF\service\下


比如:(E:\J2EE\tomcat6\webapps\axis2\WEB-INF\services\CalculateService.aar)

4.Android方面,写个界面,简单的需要一个TextView就需要显示WebService返回的值

package com.suncsdn;

import java.io.IOException;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Hello extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

TextView t = (TextView) findViewById(R.id.text1);

String msg = getServiceStr();

t.setText(msg==null?"无值返回":msg);
}

private String getServiceStr() {

// WebService的命名空间
String namespace = "http://service.rong";
// 服务器发布的地址
String url = "http://192.168.1.121:8080/axis2/services/CalculateService";
// 函数名
String methodName = "plus";
//返回值
String xmlMessage = null;

try {
// 创建HttpTransportSE对象,通过HttpTransportSE类的构造方法可以指定WebService的url
HttpTransportSE transport = new HttpTransportSE(url);

transport.debug = true;

// 指定WebService的命名空间和函数名
SoapObject soapObject = new SoapObject(namespace, methodName);

// 设置调用方法参数的值
soapObject.addProperty("x", 1);
soapObject.addProperty("y", 1);

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER10);
envelope.bodyOut = transport;
envelope.setOutputSoapObject(soapObject);

// 使用call方法调用WebService方法
transport.call(null, envelope);

SoapObject sb = (SoapObject)envelope.bodyIn;
// 获取从服务器端返回的XML字符串
xmlMessage = sb.toString();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return xmlMessage;
}
}

为了方便直接把AAR文件作为附加带上了
分享到:
评论

相关推荐

    Android通过WebService访问SQLServer

    本教程主要探讨如何在Android应用中通过WebService访问SQLServer数据库,实现数据的增、删、查操作。以下是相关知识点的详细说明: 1. **Android平台与Web服务的交互**: Android系统提供了多种方式与远程服务器...

    android 访问webService Demo

    在这个“android 访问webService Demo”中,我们将探讨如何在Android应用中集成和使用Web Service,尤其适合初学者快速上手。 一、理解Web Service Web Service是一种跨平台的通信机制,它允许不同的应用程序通过...

    Android通过webservice连接Sqlserver实例

    本文将详细介绍如何在Android应用中利用WebService接口连接到SQLServer数据库,实现数据的增删改查操作。 首先,理解概念: 1. Android:Android是一种开源操作系统,主要用于移动设备,如智能手机和平板电脑。 2. ...

    Android访问webservice

    在Android开发中,访问Web Service是一项常见的任务,主要用于实现客户端与服务器端的数据交互。Web Service是一种基于网络的、独立于平台的应用程序接口,它能够通过HTTP协议进行通信,允许不同系统间的互操作性。...

    WebService学习笔记

    【WebService学习笔记】 WebService是一种基于互联网的、标准化的、跨平台的、跨语言的通信机制,使得不同系统间的应用程序可以互相交互数据和服务。它的核心理念是服务导向架构(SOA),即通过服务的方式实现应用...

    webService学习笔记

    在本篇WebService学习笔记中,我们将探讨几个关键的概念和技术,包括SOAP协议、JAX-WS、WSDL文档以及一些常用的Web服务框架。 首先,SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在分布式环境...

    webservice学习笔记doc文档

    在本学习笔记中,主要介绍了使用Apache Axis2框架来开发和测试Web Service的过程。Apache Axis2是Apache SOAP栈的一个实现,提供了简单且高效的Web Service开发工具。 首先,开发者需要在Eclipse集成开发环境中搭建...

    Android通过webservice连接SqlServer实例(Android4.0可运行)

    Android通过webservice连接SqlServer实例(Android4.0可运行)从原博http://blog.csdn.net/zhyl8157121/article/details/8169172下载下来的demo,看了评论和其它文章后修改,解决了Android2.3以上StrictMode模式下不...

    delphi XE5 ANDROID平台 调用 webservice并访问操作MSSQL数据库

    Delphi XE5 Android 平台调用 Webservice 并访问操作 MSSQL 数据库 Delphi XE5 是一款功能强大且灵活的开发环境,为开发者提供了跨平台的开发体验。在 Android 平台上,Delphi XE5 提供了强大的支持,允许开发者...

    尚硅谷Webservice学习笔记

    在本篇尚硅谷的学习笔记中,主要涉及了Web Service的基础概念、Schema约束、HTTP协议以及相关面试问题。 1. Schema约束: - Schema是XML Schema Document的缩写,它是一种XML格式,用于定义其他XML文档的结构和...

    android 调用 Webservice源码

    总之,Android调用Webservice源码的示例是一个很好的学习资源,它展示了Android客户端如何利用ksoap2库与C#编写的Web服务进行交互。通过理解这个示例,开发者可以更好地掌握Android与Web服务的集成技术,为自己的...

    WebService学习笔记0001

    【WebService学习笔记0001】 在IT领域,WebService是一种基于开放标准(如XML、SOAP、WSDL和UDDI)的互操作性技术,它允许不同系统间的应用程序通过网络进行通信。本学习笔记将围绕WebService的核心概念、工作原理...

    java android 调用webservice

    本篇将详细讲解如何在Android应用中使用Java调用Webservice。 一、理解Web服务 Web服务是一种基于互联网的、标准化的服务交互方式,它允许不同系统之间的应用程序共享数据和功能。常见的Web服务有SOAP(Simple ...

    android调用webservice jar包

    android中调用webservice:ksoap2.jar

    Android配合WebService访问远程数据库.docx

    Android 配合 WebService 访问远程数据库 Android 与服务器端数据交互是移动应用开发中非常重要的一部分。在本文中,我们将介绍如何使用 WebService 访问远程数据库,并在 Android 客户端中调用服务器端方法获取...

    Android调用WebService

    在Android开发中,调用WebService是一项常见的任务,用于让移动应用与远程服务器进行数据交互。WebService通常基于HTTP协议,提供XML、JSON等格式的数据交换,使得不同平台的应用能够共享服务。本文将深入探讨如何在...

    Android调用webservice进行实体对象的传递Json

    本文将探讨如何在Android中调用WebService并使用JSON来安全地传输实体对象。首先,我们依赖于两个类库:ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar用于Android端,而Newtonsoft.Json.dll则用于服务端...

Global site tag (gtag.js) - Google Analytics