安卓獲取航班信息
-
效果截圖:
-
工程截圖:
-
關鍵代碼:
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