判断是否有网络

private Button query;
private EditText input;
private TextView info;

private final int UPDATE_UI = 1;

@SuppressLint(“HandlerLeak”) private Handler mHandler = new Handler() {
@Override public void handleMessage(Message msg) {
switch (msg.what) {
case UPDATE_UI:
info.setText(msg.obj.toString());
break;
}
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

query = findViewById(R.id.query);
input = findViewById(R.id.input);
info = findViewById(R.id.info);

query.setOnClickListener(new View.OnClickListener() {
  @Override public void onClick(View v) {

    if(/*!hasNetwork()*/!NetUtil.hasNetwork(PostRequestActivity.this)) {
      Toast.makeText(PostRequestActivity.this, "当前无网络", Toast.LENGTH_LONG).show();
      //
      return ;
    }

    new Thread(new Runnable() {
      @Override public void run() {
        //子线程调用查询手机号信息
        queryPhonNumInfo(input.getText().toString());
      }
    }).start();
  }
});

}

//是否有可用的网络
//private boolean hasNetwork() {
//获取网络连接管理服务
// ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//需要访问网络状态权限
// NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
// return activeNetworkInfo != null && activeNetworkInfo.isAvailable();
//}

private String baseUrlStr = “http://tcc.taobao.com/cc/json/mobile_tel_segment.htm”;
//?tel=

//查询手机号信息
private void queryPhonNumInfo(String phonNum) {
try {
//1 url
URL url = new URL(baseUrlStr);
//2 打开连接
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//3 请求方式
urlConnection.setRequestMethod(“POST”);
//超时
urlConnection.setReadTimeout(5000);
urlConnection.setConnectTimeout(5000);
//标识需要输出参数
urlConnection.setDoOutput(true);
//输出参数: tel=xxxxxxxxx
String params = “tel=” + phonNum;
urlConnection.getOutputStream().write(params.getBytes());
urlConnection.getOutputStream().flush();
//获取结果
//状态码
int responseCode = urlConnection.getResponseCode();
String result;
if (responseCode == 200) {
result = stream2String(urlConnection.getInputStream(), “gbk”);

  } else {
    result = "error: " + responseCode;
  }
  //更新 ui
  mHandler.sendMessage(mHandler.obtainMessage(UPDATE_UI, result));
} catch (MalformedURLException e) {
  e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
}

}

private String stream2String(InputStream is, String cs) throws IOException {
StringBuilder stringBuilder = new StringBuilder();

InputStreamReader isr = new InputStreamReader(is, cs);
BufferedReader br = new BufferedReader(isr);

for (String tmp = br.readLine(); tmp != null; tmp = br.readLine()) {
  stringBuilder.append(tmp);
}

return stringBuilder.toString();

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值