通过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);
        }
    }




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值