`
VerRan
  • 浏览: 451508 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

Android webService访问实例

    博客分类:
  • JAVA
阅读更多

参考网上的例子实现一个简单的天气查看功能。 界面包含一个按钮,当点击按钮时 已tips 提示框的方式展现天气信息。

package com.lht.WebService;

import java.io.UnsupportedEncodingException;

import android.app.Activity;
import android.os.Bundle;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class WebService extends Activity {
	private static final String NAMESPACE = "http://WebXml.com.cn/";
	// WebService地址
	private static String URL = "http://www.webxml.com.cn/webservices/weatherwebservice.asmx";
	private static final String METHOD_NAME = "getWeatherbyCityName";
	private static String SOAP_ACTION = "http://WebXml.com.cn/getWeatherbyCityName";

	private String weatherToday;

	private Button okButton;
	private SoapObject detail;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		okButton = (Button) findViewById(R.id.ok);

		okButton.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View v) {
				showWeather();
			}
		});
	}

	private void showWeather() {
		String city = "西安";
		getWeather(city);
	}

	@SuppressWarnings("deprecation")
	public void getWeather(String cityName) {
		try {
			System.out.println("rpc------");
			SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
			System.out.println("rpc" + rpc);
			System.out.println("cityName is " + cityName);
			rpc.addProperty("theCityName", cityName);

			AndroidHttpTransport ht = new AndroidHttpTransport(URL);
			ht.debug = true;

			SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
					SoapEnvelope.VER11);

			envelope.bodyOut = rpc;
			envelope.dotNet = true;
			envelope.setOutputSoapObject(rpc);

			ht.call(SOAP_ACTION, envelope);

			SoapObject result = (SoapObject) envelope.bodyIn;
			detail = (SoapObject) result
					.getProperty("getWeatherbyCityNameResult");

			System.out.println("result" + result);
			System.out.println("detail" + detail);
			Toast.makeText(WebService.this, detail.toString(),
					Toast.LENGTH_LONG).show();
			parseWeather(detail);

			return;
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	private void parseWeather(SoapObject detail)
			throws UnsupportedEncodingException {
		String date = detail.getProperty(6).toString();
		weatherToday = "今天:" + date.split(" ")[0];
		weatherToday = weatherToday + "\n天气:" + date.split(" ")[1];
		weatherToday = weatherToday + "\n气温:"
				+ detail.getProperty(5).toString();
		weatherToday = weatherToday + "\n风力:"
				+ detail.getProperty(7).toString() + "\n";
		System.out.println("weatherToday is " + weatherToday);
		Toast.makeText(WebService.this, weatherToday, Toast.LENGTH_LONG).show();

	}
}

 

分享到:
评论

相关推荐

    andriod通过Webservice访问SQL Server实例

    andriod通过Webservice访问SQL Server实例,webservice 使用C#, andriod使用java

    HttpUrlConnection请求WebService.rar

    Java原生HttpUrlConnection访问WebService实例,附相关jar包...新手整理不喜勿喷

    Android通过Webservice操作sqlserver数据库实例代码

    首页在AndroidManifest.xml中添加访问数据库权限 <uses android:minSdkVersion=7> <uses android:name=android.permission.INTERNET> 在src中新建一个连接webservice的类,名字随意,这里叫做“HttpConnSoap”。...

    Android实例代码

    13.5、使用WebService进行网络编程: 第14章、管理Android手机桌面 14.1、管理手机桌面: 14.2、改变手机壁纸: 14.3、桌面快捷方式: 14.4、管理桌面小控件: 14.5、实时文件夹(LiveFolder): 第15章、传感器...

    疯狂Android讲义(第2版)完整清晰版 part2

    《疯狂Android讲义(第2版)》内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信...

    疯狂Android讲义(第2版) part1

    《疯狂Android讲义(第2版)》内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信...

    《疯狂Android讲义(第2版)》 PDF

    全书内容覆盖了Android用户界面编程、Android组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信编程、Android平台的WebService、...

    疯狂安卓讲义第2版--par1

    《疯狂Android讲义(第2版)》内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信...

    疯狂安卓讲义第2版--par3共3部分

    《疯狂Android讲义(第2版)》内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信...

    疯狂安卓讲义第2版--par2

    《疯狂Android讲义(第2版)》内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信...

    Android编程获取图片数据的方法详解

    本文实例讲述了Android编程获取图片数据的方法。分享给大家供大家参考,具体如下: 网络的访问在我们日常生活中太重要了,如果没有网络我们的生活将会是什么样子呢?Android手机和浏览器也是一样的,也可以通过网络...

    Android编程实现号码归属地查询的方法

    本文实例讲述了Android编程实现号码归属地查询的方法。分享给大家供大家参考,具体如下: 我们通过发送XML访问 WebService就可以实现号码的归属地查询,我们可以使用代理服务器提供的XML的格式进行设置,然后请求...

Global site tag (gtag.js) - Google Analytics