android處理webservice
package com.demo.weather;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.AndroidHttpTransport;
public class WeatherReport implements IWeather{
private static String LOG_TAG = "Weather";
private static boolean DEBUG = false;
private static final int SHOW_ABOUT = 0x0001;
private static final String NAMESPACE = ""; //WebService地址
//private static String SOAP_ACTION = "";
private static String SOAP_ACTION = "";
//private static String URL = "";
private static String URL = "";
//private static final String METHOD_NAME = "getWeatherbyCityName";
private static final String METHOD_NAME = "getWeather";
private SoapObject detail = null;
public WeatherBean getWeatherBean(String paramString){
WeatherBean wb = new WeatherBean();
detail = getWeatherSoap(paramString);
if(detail == null) return null;
if(detail.getPropertyCount()<5) return null;//系統維護 免費使用者服務暫停。;
String date = detail.getProperty(7).toString();
StringBuffer weatherToday = new StringBuffer();
weatherToday.append(date.split(" ")[0]);
weatherToday.append("n天氣:");
weatherToday.append(date.split(" ")[1]);
weatherToday.append("n氣溫:");
weatherToday.append(detail.getProperty(8).toString());
weatherToday.append("n風力:");
weatherToday.append(detail.getProperty(9).toString());
weatherToday.append("n");
wb.setWeatherToday(weatherToday.toString());
wb.setWeatherCurrent(detail.getProperty(4).toString());
StringBuffer weatherTomorrow = new StringBuffer();
date = detail.getProperty(12).toString();
weatherTomorrow.append(date.split(" ")[0]);
weatherTomorrow.append("n天氣:");
weatherTomorrow.append(date.split(" ")[1]);
weatherTomorrow.append("n氣溫:");
weatherTomorrow.append(detail.getProperty(13).toString());
weatherTomorrow.append("n風力:");
weatherTomorrow.append(detail.getProperty(14).toString());
weatherTomorrow.append("n");
wb.setWeatherTomorrow(weatherTomorrow.toString());
StringBuffer weatherAfterday = new StringBuffer();
date = detail.getProperty(17).toString();
weatherAfterday.append(date.split(" ")[0]);
weatherAfterday.append("n天氣:");
weatherAfterday.append(date.split(" ")[1]);
weatherAfterday.append("n氣溫:");
weatherAfterday.append(detail.getProperty(18).toString());
weatherAfterday.append("n風力:");
weatherAfterday.append(detail.getProperty(19).toString());
weatherAfterday.append("n");
wb.setWeatherAfterday(weatherAfterday.toString());
StringBuffer weatherSuggest = new StringBuffer();
weatherSuggest.append(detail.getProperty(6).toString());
wb.setWeatherSuggest(weatherSuggest.toString());
return wb;
}
public SoapObject getWeatherSoap(String paramString){
try{
//第一步:建立SoapObject物件,指定WebService的名稱空間和呼叫方法
SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
//rpc.addProperty("theCityName",paramString);
rpc.addProperty("theCityCode",paramString);
//建立SoapSerializationEnvelope物件,並指定WebService的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
//設定bodyOut屬性
envelope.bodyOut=rpc;
//設定.net的WebService,不然出錯
envelope.dotNet=true;
envelope.setOutputSoapObject(rpc);
//建立HttpTransport物件,指定WSDL文件的URL
AndroidHttpTransport ht = new AndroidHttpTransport(URL);
ht.debug = true;
//呼叫WebService
ht.call(SOAP_ACTION,envelope);
//SoapObject result = (SoapObject)envelope.bodyIn;
//detail = (SoapObject)result.getProperty("getWeatherbyCityNameResult");
//detail = (SoapObject)result.getProperty("getWeatherResponse");
SoapObject result = (SoapObject)envelope.getResponse();
return result;
}catch(Exception e){
e.printStackTrace();
return null;
}
}
}
package com.demo.weather;
import java.io.Serializable;
public class WeatherBean implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
//今天天氣
private String weatherToday;
private String weatherTomorrow;
private String weatherAfterday;
private String weatherCurrent;
private String weatherSuggest;
public String getWeatherSuggest() {
return weatherSuggest;
}
public void setWeatherSuggest(String weatherSuggest) {
this.weatherSuggest = weatherSuggest;
}
public String getWeatherToday() {
return weatherToday;
}
public void setWeatherToday(String weatherToday) {
this.weatherToday = weatherToday;
}
public String getWeatherTomorrow() {
return weatherTomorrow;
}
public void setWeatherTomorrow(String weatherTomorrow) {
this.weatherTomorrow = weatherTomorrow;
}
public String getWeatherAfterday() {
return weatherAfterday;
}
public void setWeatherAfterday(String weatherAfterday) {
this.weatherAfterday = weatherAfterday;
}
public String getWeatherCurrent() {
return weatherCurrent;
}
public void setWeatherCurrent(String weatherCurrent) {
this.weatherCurrent = weatherCurrent;
}
public String toString(){
return "歡迎使用天氣預報元件";
}
}
package com.demo.weather;
public interface IWeather {
public abstract WeatherBean getWeatherBean(String paramString);
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25261409/viewspace-1048604/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java webservice 帶請求頭方式處理JavaWeb
- Kettle通過Http post請求webservice介面以及結果解析處理HTTPWeb
- WebService系列之Axis Https(SSL)證書校驗錯誤處理方法WebHTTP
- Android與ARM處理器Android
- Android音視訊處理之MediaCodecAndroid
- Android音視訊處理之MediaMuxerAndroidUX
- Android許可權處理分類Android
- Android處理按鈕重複點選Android
- Android的事件處理——監聽介面方式Android事件
- android簡單的圖形特效處理Android特效
- 關於Android的幾種事件處理Android事件
- Android 介面顯示與邏輯處理Android
- Android tabLayout+viewPager+fragment處理懶載入AndroidTabLayoutViewpagerFragment
- 原始碼分析:Android訊息處理機制原始碼Android
- Android應用程式訊息處理機制Android
- Android技能樹 — 網路小結(4)之socket/websocket/webserviceAndroidWeb
- Android執行出現android Installation failed due to invalid URI! 錯誤處理AndroidAI
- Android 必知必會 – Android Splash 頁秒開之細節處理Android
- Android 橫豎屏處理的知識小結Android
- Android中的非同步訊息處理機制Android非同步
- Android進階;App的異常崩潰處理AndroidAPP
- Android中OpenGL濾鏡和RenderScript圖片處理Android
- Android 中的轉場動畫及相容處理Android動畫
- [Android P] Android P版本 新功能介紹和相容性處理(一)Android
- Android優雅地處理按鈕重複點選Android
- android圖片處理,讓圖片變成圓形Android
- 處理Android安卓line-height無法垂直居中Android安卓
- 深入理解Android非同步訊息處理機制Android非同步
- webservice介面呼叫Web
- SpringBoot+webserviceSpring BootWeb
- 細說WebServiceWeb
- webservice簡介Web
- WebService XML SoapFormatterWebXMLORM
- Android包管理機制(三)PMS處理APK的安裝AndroidAPK
- Android音訊處理知識(一)MediaRecorder錄製音訊Android音訊
- Android 優雅地處理後臺返回的騷資料Android
- 多對一處理 和一對多處理的處理
- JSP 異常處理如何處理?JS
- android音視訊指南-處理音訊輸出的變化Android音訊