編輯:Android開發實例
調用 WebService 分以下幾步:
1、指定 WebService 的命名空間和調用方法;
2、設置調用方法的參數值,如果沒有參數,可以省略,設置方法的參數值的代碼如下:
rpc.addProperty("abc", "test");
要注意的是,addProperty方法的第1個參數雖然表示調用方法的參數名,但該參數值並不一定與服務端的WebService類中的方法參數名一致,只要設置參數的順序一致即可。
3、生成調用Webservice方法的SOAP請求信息。
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet = false; //這裡如果設置為TRUE,那麼在服務器端將獲取不到參數值(如:將這些數據插入到數據庫中的話)
envelope.setOutputSoapObject(rpc);
創建SoapSerializationEnvelope對象時需要通過SoapSerializationEnvelope類的構造方法設置SOAP協議的版本號。
該版本號需要根據服務端WebService的版本號設置。
在創建SoapSerializationEnvelope對象後,不要忘了設置SOAPSoapSerializationEnvelope類的bodyOut屬性, 該屬性的值就是在第一步創建的SoapObject對象。
4、創建HttpTransportsSE對象。
這裡不要使用 AndroidHttpTransport ht = new AndroidHttpTransport(URL); 這是一個要過期的類
private static String URL = "http://www.webxml.com.cn/webservices/weatherwebservice.asmx";
HttpTransportSE ht = new HttpTransportSE(URL);
ht.debug = true;
5、使用call方法調用WebService方法
private static String SOAP_ACTION = "http://WebXml.com.cn/getWeatherbyCityName";
ht.call(SOAP_ACTION, envelope);
6、獲得WebService方法的返回結果
有兩種方法:
(1)、使用getResponse方法獲得返回數據。
(2)、使用 bodyIn 及 getProperty。
7、 這時候執行會出錯,提示沒有權限訪問網絡
需要修改 AndroidManifest.xml 文件,賦予相應權限
簡單來說就是增加下面這行配置:<uses-permission android:name="android.permission.INTERNET"></uses-permission>
本文著重講解如何使用MaskFilter創建模糊陰影以及浮雕效果。 我們知道Canvas中的各種
在Activity中覆寫下面兩個方法:代碼如下: // 創建菜單 @Override public boo
隨著Android設備增多,不少網站都開始設備Android設備,而Android主流設備類型以手機和平板為主。網站在適配時通過User Agent(用戶代理,以
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我