欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程實現(xiàn)號碼歸屬地查詢的方法

 更新時間:2016年01月04日 10:59:34   作者:傅榮康  
這篇文章主要介紹了Android編程實現(xiàn)號碼歸屬地查詢的方法,涉及Android xml文件的發(fā)送及WebService的操作技巧,需要的朋友可以參考下

本文實例講述了Android編程實現(xiàn)號碼歸屬地查詢的方法。分享給大家供大家參考,具體如下:

我們通過發(fā)送XML訪問 WebService就可以實現(xiàn)號碼的歸屬地查詢,我們可以使用代理服務器提供的XML的格式進行設置,然后請求提交給服務器,服務器根據請求就會返回給一個XML,XML中就封裝了我們想要獲取的數據。

發(fā)送XML

1.通過URL封裝路徑打開一個HttpURLConnection

2.設置請求方式,Content-Type和Content-Length

XML文件的Content-Type為:application/soap+xml; charset=utf-8

3.使用HttpURLConnection獲取輸出流輸出數據

WebService

1.WebService是發(fā)布在網絡上的API,可以通過發(fā)送XML調用,WebService返回結果也是XML數據

2.WebService沒有語言限制,只要可以發(fā)送XML數據和接收XML數據即可

3.http://www.webxml.com.cn/網站上提供了一些WebService服務,我們可以對其進行調用

4.http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo中提供了電話歸屬地查詢的使用說明

效果圖:

核心代碼:

public class XmlService {
  public String query(String num) throws Exception {
    InputStream in = this.getClass().getClassLoader().getResourceAsStream("query.xml");
    byte[] data = LoadUtils.load(in);
    String xml = new String(data);
    //替換
    xml = xml.replace("#", num);
    byte[] sendData = xml.getBytes("UTF-8");
    //發(fā)送到代理的地址上
    URL url = new URL("http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("POST");
    conn.setRequestProperty("Content-Type", "application/soap+xml; charset=utf-8");
    conn.setRequestProperty("Content-Length", String.valueOf(sendData.length));
    //將請求的xml發(fā)送出去
    conn.setDoOutput(true);
    conn.getOutputStream().write(sendData);
    //獲取從服務器傳回來的數據
    if (conn.getResponseCode() == 200)
      return parse(conn.getInputStream());
    return null;
  }
  //解析流拿到getMobileCodeInfoResult中的數據
  private String parse(InputStream inputStream) throws Exception {
    XmlPullParser parser = Xml.newPullParser();
    parser.setInput(inputStream, "UTF-8");
    //查找getMobileCodeInfoResult標簽,獲取標簽中的數據
    for (int event = parser.getEventType(); event != XmlPullParser.END_DOCUMENT; event = parser.next())
      switch (event) {
        case XmlPullParser.START_TAG:
          if ("getMobileCodeInfoResult".equals(parser.getName()))
            return parser.nextText();
      }
    return null;
  }
}

發(fā)送的xml封裝了電話號碼(query.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>#</mobileCode>
   <userID></userID>
  </getMobileCodeInfo>
 </soap12:Body>
</soap12:Envelope>

希望本文所述對大家Android程序設計有所幫助。

相關文章

最新評論