`
VerRan
  • 浏览: 461021 次
  • 性别: 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();

	}
}

 

分享到:
评论

相关推荐

    Android之Webservice详解与调用天气预报Webservice完整实例

    本实例将深入探讨Android中如何使用Webservice,特别是针对天气预报服务的调用。我们将关注以下几个核心知识点: 1. **Web Service基础**:Web Service是一种基于互联网的、标准化的、能够跨平台进行通信的软件服务...

    Android通过webservice连接Sqlserver实例

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

    android 访问webService Demo

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

    Android使用webservice客户端实例

    以上就是"Android使用webservice客户端实例"的关键知识点,涵盖了从基础概念到具体实现的多个方面。通过学习这些内容,开发者可以有效地将Android应用与各种Web服务集成,实现数据交换和功能扩展。

    android webservice案例

    首先,Android平台对网络访问有严格的限制,必须在主线程之外进行,以避免阻塞UI。可以使用AsyncTask、IntentService或者自定义线程池来执行网络操作。在这个案例中,我们可能会看到如何在后台线程中调用Web Service...

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

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

    android webService

    在Android开发中,Web服务(通常指WebService)是一种允许应用程序之间进行交互的技术,它使得移动应用,如Android应用,能够与远程服务器进行数据交换。在本案例中,开发者遇到了一个常见的问题:`java.lang....

    android调用webservice实例

    2. 确保你的Android设备或模拟器可以访问Web Service所在的网络。 3. 考虑错误处理和网络连接问题,例如异常捕获和重试机制。 4. 在实际应用中,建议使用异步任务或Retrofit等现代网络库来避免阻塞主线程。 通过这...

    android WebService封装 支持回调

    本篇主要讨论的是如何自定义一个封装好的WebService访问模块,支持回调接口。 1. **创建WebService接口**:首先,我们需要定义一个接口,这个接口会包含所有可能的WebService请求方法。例如,我们可以创建一个`...

    android和webservice交互的实例

    本实例将深入探讨如何在Android应用中与Web Service进行通信,以实现数据的获取和传输。 首先,Web Service通常采用SOAP(Simple Object Access Protocol)或REST(Representational State Transfer)协议。在这个...

    Android访问webservice

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

    android、webService 天气预报demo

    通过这个实例,我们可以深入理解Android网络编程以及与WebService的交互方式。 一、Android网络请求基础 在Android中,进行网络操作主要使用HttpURLConnection或第三方库如OkHttp、Volley等。本Demo可能使用了...

    android webservice实例

    在Android开发中,Web服务(Webservice)是一个重要的组成部分,它允许移动应用与远程服务器进行交互,获取或发送数据。本实例将详细讲解如何利用Web服务来查询电话号码的归属地信息。 首先,理解Web服务的基本概念...

    andriod通过Webservice访问SQL Server实例

    本文将深入探讨如何使用Android(Java)通过C#编写的Web服务访问SQL Server实例。 首先,我们要理解Web服务的基本概念。Web服务是一种基于互联网的,能够被其他应用程序(如Android应用)调用的接口。常见的Web服务...

    Android 访问WebServicedemo

    在Android开发中,访问Web Servicedemo涉及到的关键技术是客户端如何与远程服务器进行交互,以获取或发送数据。Web Service通常是一种基于HTTP协议的服务,它允许不同系统间的应用程序通过网络进行通信。本示例着重...

    Android axis调用Webservice

    - 在Android应用中实例化生成的stub类,然后调用对应的方法。 - 参数可以是基本类型、List、Map或自定义对象,根据Web Service接口定义。 - 注意线程管理,由于网络操作不应在主线程进行,通常会使用AsyncTask或...

    andriod 开发webservice 实例

    5. **权限管理**:在AndroidManifest.xml文件中,需要添加`<uses-permission>`标签,如`<uses-permission android:name="android.permission.INTERNET" />`,以允许应用访问网络。 6. **异步处理**:由于网络操作...

    Android 基于 Retrofit2+Okhttp3 通过SOAP协议请求WebService.zip

    总结,Android应用基于Retrofit2+Okhttp3通过SOAP协议请求WebService是一种有效的解决方案,它简化了网络调用的复杂性,同时利用了OkHttp3的高性能特性。通过定义接口、配置Retrofit实例、创建SOAP请求和处理响应,...

    android 调用webservice 有源码+jar

    - 网络权限:在AndroidManifest.xml中添加`<uses-permission android:name="android.permission.INTERNET" />`,以允许应用访问网络。 - 异步调用:由于Android主线程不能执行耗时操作,建议在子线程中调用...

Global site tag (gtag.js) - Google Analytics