通過IP地址獲取省份城市位置信息

	private String mResult = null;
	private String mProvinceName;  //省份
	private String mChCityName;  //城市         
        private int GET_CITY_SUCCESS = 1;
        private int GET_CITY_FAILURE = 2;

 //Handler接收到消息進行處理,取出需要的信息
privateHandler mHandler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            super.handleMessage(msg);
            if (msg.what == GET_CITY_SUCCESS) {
	//src.split("\t") 返回的是以製表符(TAB鍵)分隔的字符串數組
                String[] results = mResult.split("\t");
                if (results.length >= 5) {
                    mProvinceName = results[4];
                    mChCityName = results[5];
                }
                Log.i("----省份:"+mProvinceName, "----城市:"+mChCityName);
            } else if(msg.what == GET_CITY_FAILURE)
		{
                   //獲取失敗
		}
        };
};

 //訪問新浪接口,獲取ip和地理位置信息
 //返回數據格式:1 121.15.0.0121.15.215.255 中國 廣東 深圳 電信
  private void getCurrentProvinceAndCity() {
        final String url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?";
        HttpGet httpGet = new HttpGet(url);
        try {
            HttpResponse httpResponse = new DefaultHttpClient().execute(httpGet);
            StatusLine statusLine =httpResponse.getStatusLine();
            if (statusLine != null && statusLine.getStatusCode() ==200) {
                mResult = EntityUtils.toString(httpResponse.getEntity()).trim();
                mHandler.sendEmptyMessage(GET_CITY_SUCCESS);
            }
        } catch (Exception e) {
            Log.d(TAG, "getCurrentProvinceAndCity, Exception");
            e.printStackTrace();
            mHandler.sendEmptyMessage(GET_CITY_FAILURE);
        }
    }




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章