安卓获取航班信息
-
效果截图:
-
工程截图:
-
关键代码:
package com.example.service;
import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE;
/** * WebService工具类 * * @author 锐 * */ public class WebServiceUitl { /** * 静态方法获取结果 * * @param endPoint * webService地址 * @param methodName * 方法 * @param soapAction * SoapAction * @param nameSpace * 命名空间 * @param pars * 参数名数组 * @param vals * 参数值数组 * @return SoapObject对象 */ public static SoapObject getResult(String endPoint, String methodName, String soapAction, String nameSpace, String[] pars, String[] vals) { // 创建 SoapObject 对象,指定命名空间和调用的方法 SoapObject soapObject = new SoapObject(nameSpace, methodName); // 判断参数 if (pars != null) { // 设置参数名和参数值 for (int i = 0; i < pars.length; i++) { soapObject.addProperty(pars[i], vals[i]); } } // 生成SOAP请求信息,并指定SOAP的版本 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); // 申明调用的是 dotNet 开发的 WebService envelope.dotNet = true;// 相当于envelope.bodyOut=soapObject; // 将SoapObject 对象设置到请求信息中 envelope.setOutputSoapObject(soapObject); // 传输协议对象,指定访问的webService地址 HttpTransportSE transportSE = new HttpTransportSE(endPoint); try { // 访问WebService,指定SoapAction和请求信息 transportSE.call(soapAction, envelope); } catch (Exception e) { e.printStackTrace(); } // 获得返回数据 SoapObject object = (SoapObject) envelope.bodyIn; // 返回数据 return object; } }
package com.example.uitl;
import java.util.ArrayList; import java.util.List;
import org.ksoap2.serialization.SoapObject;
import com.example.entity.AirlineEntity; /** * 工具类 * @author 锐 * */ public class MyUitl { /** * 静态方法解析航班信息数据 * * @param result * SoapObject结果对象 * @return List<AirlineEntity> */ public static List<AirlineEntity> getResult(SoapObject result) { List<AirlineEntity> airlineEntities = new ArrayList<AirlineEntity>(); SoapObject getDomesticAirlinesTimeResult = (SoapObject) result .getProperty("getDomesticAirlinesTimeResult"); SoapObject diffgram = (SoapObject) getDomesticAirlinesTimeResult .getProperty("diffgram"); SoapObject Airlines = (SoapObject) diffgram.getProperty("Airlines"); for (int i = 0; i < Airlines.getPropertyCount(); i++) { SoapObject AirlinesTime = (SoapObject) Airlines.getProperty(i); String company = String .valueOf(AirlinesTime.getProperty("Company")); String airlineCode = String.valueOf(AirlinesTime .getProperty("AirlineCode")); String startDrome = String.valueOf(AirlinesTime .getProperty("StartDrome")); String arriveDrome = String.valueOf(AirlinesTime .getProperty("ArriveDrome")); String startTime = String.valueOf(AirlinesTime .getProperty("StartTime")); String arriveTime = String.valueOf(AirlinesTime .getProperty("ArriveTime")); String mode = String.valueOf(AirlinesTime.getProperty("Mode")); String airlineStop = String.valueOf(AirlinesTime .getProperty("AirlineStop")); String week = String.valueOf(AirlinesTime.getProperty("Week")); AirlineEntity airlineEntity = new AirlineEntity(company, airlineCode, startDrome, arriveDrome, startTime, arriveTime, mode, airlineStop, week); airlineEntities.add(airlineEntity); } return airlineEntities; } }
工程是用4点3的版本开发的,不同版本的改一下版本号,dome资源地址:http://download.csdn.net/detail/u013897264/7039547