某些情況下我們可能需要與Mysql或者Oracle數據庫進行數據交互,有些朋友的第一反應就是直接在Android中加載驅動然後進行數據的增刪改查。我個人不推薦這種做法,一是手機畢竟不是電腦,操作大量數據費時費電;二是流量貴如金那。我個人比較推薦的做法是使用Java或PHP等開發接口或者編寫WebService進行數據庫的增刪該查,然後Android調用接口或者WebService進行數據的交互。本文就給大家講解在Android中如何調用遠程服務器端提供的WebService。
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /2012年資料/3月/10日/在Android中調用WebService【附源碼】/
既然是調用WebService,我們首先的搭建WebService服務器。為了便於操作,我們就使用網上免費的WebService進行學習。
地址:http://www.webxml.com.cn/zh_cn/index.aspx
下面演示的就是如何通過該網站提供的手機號碼歸屬地查詢WebService服務查詢號碼歸屬地
調用地址http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo。
首先,將請求消息保存在XML文件中,然後使用$替換請求參數,如下:
mobilesoap.xml
- <?xml version="1.0" encoding="utf-8"?>
- <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
- <soap12:Body>
- <getMobileCodeInfo xmlns="http://WebXml.com.cn/">
- <mobileCode>$mobile</mobileCode>
- <userID></userID>
- </getMobileCodeInfo>
- </soap12:Body>
- </soap12:Envelope>
其次,設計MainActivity布局文件,
main.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="手機號碼" />
- <EditText
- android:id="@+id/mobileNum"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text=""
- />
- <Button
- android:id="@+id/btnSearch"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="查詢"
- />
- <TextView
- android:id="@+id/mobileAddress"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- </LinearLayout>