今天呢我们来说一说实现网络判断的一些操作
网络判断就是在运行Demo的时候,系统会判断一下,手机是否存在网络,如果有网络的话就会自动的去加载数据,在没有网络的情况下就会在我们的项目上面弹出对话框,在AlertDialog上面实现对话框的功能,并且给对话框进行设置标题,以及按钮的一些功能实现,之后我们没网的情况下就会弹出来对话框,对话框上面有两个按钮,一个是去联网,一个是不联网,点击去联网就会跳转到手机上的联网的页面,点击不联网的话,之后就会加载数据库里面的本地数据.
那我们就说说这个功能是怎么在代码中实现的吧 O(∩_∩)O
首先我们在Activity上面先实现两个方法,一个是创建网络连接器的方法,另一个是对话框的方法
public boolean isOnline() {
//得到一个连接管理者
ConnectivityManager connMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
//得到联网信息
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
//判断设备是否联网
return (networkInfo != null && networkInfo.isConnected());
}
以上就是对连接管理者和得到联网信息的一些方式,并让设备判断是否存在网络
private void showDialog(){
//创建一个对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//给对话框设置标题
builder.setMessage("怎么可没网呢");
//点击不联网取消对话框
builder.setNegativeButton("不联网,",null);
//点击联网跳转到连接网络的页面
builder.setPositiveButton("联网", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//跳转网络设置界面
startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
}
});
builder.create().show();
}
以上就是对话框的一些功能
最后我们来判断一下会否有网络
if(isOnline()) {
//有网,联网请求数据
getData();
}else{
//弹出提示对话框
showDialog();
}
这样我们的网络判断就实现了.
下面给大家看看功能的效果!