Android测试是否连接网络

 

屏蔽多次点击事件

/**
 * 测试快速点击事件
 */
 fastButton.setOnClickListener(new OnClickFastListener() {
 /**
 * 自定义实现的抽象方法,不在重写onClick方法,该方法用于执行点击后的逻辑
 */
 @Override
 public void onFastClick(View v) {
 Toast.makeText(mContext, "测试网络...", Toast.LENGTH_LONG).show();
 }
 });

屏蔽网络情况

/**
 * 测试网络状况
 */
networkButton.setOnClickListener(new OnClickNetworkListener() {
 /**
 * 自定义实现的抽象方法,主要用于执行有网络之后的逻辑
 */
 @Override
 public void onNetworkClick(View v) {
 Toast.makeText(mContext, "当前设备有网络,执行后续操作...", Toast.LENGTH_LONG).show();
 }
 
 /**
 * 自定义实现的抽象方法,主要用于执行当前设备没有网络之后的逻辑
 */
 @Override
 public void onNoNetworkClick(View v) {
 Toast.makeText(mContext, "网络错误...", Toast.LENGTH_LONG).show();
 }
});

按钮点击监听网络状况

 

/**
 * 判断当前设备是否有网络的监听类源码
 */
public abstract class OnClickNetworkListener extends BaseClickListener {
 
 @Override
 public void onClick(View v) {
 boolean isNetworkOk = isNetworkConnected(v.getContext());
 
 if (isNetworkOk) {
 onNetworkClick(v);
 } else {
 onNoNetworkClick(v);
 }
 }
 
 // 点击事件--有网络
 public abstract void onNetworkClick(View v);
 
 // 点击事件--没有网络
 public abstract void onNoNetworkClick(View v);
 /**
 * 网络连接是否正常
 *
 * @param context
 * @return
 */
 public static boolean isNetworkConnected(Context context) {
 if (context != null) {
 ConnectivityManager mConnectivityManager = (ConnectivityManager) context
 .getSystemService(Context.CONNECTIVITY_SERVICE);
 NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
 if (mNetworkInfo != null) {
 return mNetworkInfo.isAvailable();
 }
 }
 return false;
 }
}

实现图:

总结:主要是学习一下更多的代码都需要自己去学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值