android从wedserver上获取数据

</pre><pre name="code" class="java">package com.example.itknowledge.data;

import java.io.IOException;
import java.net.UnknownHostException;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONObject;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import com.example.itknowledge.bean.Group;

public class KnowledgeData {
	//Web Service服务的地址
	private static final String SERVER_URL = "http://ios.insigmaedu.com/px/wcf/KnowService.svc";
	
	//命名空间
	 private static final String NAME_SPACE = "http://tempuri.org/";
	
	//分组的命名模块
	private static final String TNS = "IKnowService/";
	
	//具体的访问方法,到WSDL文件中的wsdl:binding 节点找operation属性
	private static String SOAP_ACTION_GET_GROUP_LIST = "GetGroupList";
	private static String SOAP_ACTION_GET_TYPE_LIST = "GetTypeList";
	private static String SOAP_ACTION_GET_INFO_ITEM = "GetInfoItem";
	private static String SOAP_ACTION_GET_INFO_LIST_WITH_PAGE_OUT_COUNT = "GetInfoListWithPageOutCount";
	
	/**
	 * 获得所有的面试题分组 如 Java IOS C++...
	 * @return ArrayList<Group> 结构
	 */
	public static ArrayList<Group> findGroupList() throws NetworkProblemException{
		ArrayList<Group> groupList = new ArrayList<Group>();
		
		//构建SoapObject
		SoapObject so = new SoapObject(NAME_SPACE, SOAP_ACTION_GET_GROUP_LIST);
		so.addProperty("keyWord", "");
		
		//构建一个Envelope
		SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
		envelope.dotNet = true;
		envelope.bodyOut = so;
		envelope.setOutputSoapObject(so);
		
		//建立连接
		HttpTransportSE ht = new HttpTransportSE(SERVER_URL);
		
		try {
			//发起请求,ksoap2会把返回结果放入envelope
			ht.call(NAME_SPACE + TNS + SOAP_ACTION_GET_GROUP_LIST, envelope);
			
			SoapPrimitive responseData = (SoapPrimitive)envelope.getResponse();
			String json = responseData.toString();
			
			//解析json数据
			JSONObject jo = new JSONObject(json);
			JSONArray ja = jo.getJSONArray("List");
			for (int i = 0; i < ja.length(); i++) {
				JSONObject joo = ja.getJSONObject(i);
				
				Group group = new Group();
				group.id = joo.getInt("DjLsh");
				group.name = joo.getString("GroupName");
				
				groupList.add(group);
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return groupList;
	}
}

下面这个事放置数据的Group类

package example.itknowledge.bean.Group;

public class Group {
	public int id;
	public String groupName;
	public int sortNum;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值