基本信息
源码名称:android 调用webservice Demo实例源码
源码大小:1.74M
文件格式:.rar
开发语言:Java
更新时间:2017-11-25
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
选择指定的省市,然后显示对应城市的天气预报,天气预报接口已停用,不过可参考其用法。
选择指定的省市,然后显示对应城市的天气预报,天气预报接口已停用,不过可参考其用法。
package com.example.webservicedemo;
import java.util.ArrayList;
import java.util.List;
import org.ksoap2.serialization.SoapObject;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import com.example.utils.ProgressDialogUtils;
import com.example.utils.WebServiceUtils;
import com.example.utils.WebServiceUtils.WebServiceCallBack;
/**
* 显示天气省份的Activity
*
* @see http://blog.csdn.net/xiaanming
*
* @author xiaanming
*
*/
public class MainActivity extends Activity {
private List<String> provinceList = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
final ListView mProvinceList = (ListView) findViewById(R.id.province_list);
//显示进度条
ProgressDialogUtils.showProgressDialog(this, "数据加载中...");
//通过工具类调用WebService接口
WebServiceUtils.callWebService(WebServiceUtils.WEB_SERVER_URL, "getSupportProvince", null, new WebServiceCallBack() {
//WebService接口返回的数据回调到这个方法中
@Override
public void callBack(SoapObject result) {
//关闭进度条
ProgressDialogUtils.dismissProgressDialog();
if(result != null){
provinceList = parseSoapObject(result);
mProvinceList.setAdapter(new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, provinceList));
}else{
Toast.makeText(MainActivity.this, "获取WebService数据错误", Toast.LENGTH_SHORT).show();
}
}
});
mProvinceList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent intent = new Intent(MainActivity.this, CityActivity.class);
intent.putExtra("province", provinceList.get(position));
startActivity(intent);
}
});
}
/**
* 解析SoapObject对象
* @param result
* @return
*/
private List<String> parseSoapObject(SoapObject result){
List<String> list = new ArrayList<String>();
SoapObject provinceSoapObject = (SoapObject) result.getProperty("getSupportProvinceResult");
if(provinceSoapObject == null) {
return null;
}
for(int i=0; i<provinceSoapObject.getPropertyCount(); i ){
list.add(provinceSoapObject.getProperty(i).toString());
}
return list;
}
}