Android菜鸟成长记6 -- 网络连接的检查
在android开发中我们要经常考虑到各种问题。在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒。一般可以通过ConnectivityManager来完成该工作。
那么具体步骤是怎样的呢?
首先,我们想写一个简单的测试layout,添加一个button和textview。
然后我们创建一个BtnListener类,继承OnClickListener接口,注意是(import android.view.View.OnClickListener包下的,要导错包)
1 package com.example.day02; 2 3 4 import android.app.Activity; 5 import android.content.Context; 6 import android.net.ConnectivityManager; 7 import android.net.NetworkInfo; 8 import android.view.View; 9 import android.view.View.OnClickListener; 10 import android.widget.TextView; 11 import android.widget.Toast; 12 13 public class BtnListener implements OnClickListener { 14 15 private Context context; 16 private TextView tv1; 17 private ConnectivityManager cm; 18 public BtnListener (Context context) { 19 this.context = context; 20 } 21 22 public void onClick(View v) { 23 Activity a = (Activity)context; 24 tv1 = (TextView) a.findViewById(R.id.tsTestNetWorkBtn); 25 cm = (ConnectivityManager) a.getSystemService(a.CONNECTIVITY_SERVICE); 30 NetworkInfo info = cm.getActiveNetworkInfo(); 31 if(info == null){ 32 //提示没有网络 33 tv1.setText("当前没有网络"); 34 tv1.setBackgroundResource(R.color.red); 35 Toast.makeText(context, "当前没有网络", Toast.LENGTH_LONG).show(); 36 } 37 else{ 38 //不需要提示,然后继续相关代码 39 40 tv1.setBackgroundResource(R.color.blueviolet); 41 } 42 }45 46 } 47 48 }
然后我们在回到MainActivity类中,写上button的点击事件
1 package com.example.day02; 2 3 4 import android.app.Activity; 5 import android.app.AlertDialog; 6 import android.app.AlertDialog.Builder; 7 import android.content.ComponentName; 8 import android.content.Context; 9 import android.content.DialogInterface; 10 import android.content.Intent; 11 import android.os.Bundle; 12 import android.widget.Button; 13 14 15 public class MainActivity extends Activity { 16 17 private Button btn; 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 btn = (Button) this.findViewById(R.id.button1); 23 btn.setOnClickListener(new BtnListener(MainActivity.this)); 24 25 } 26 27 28 29 }
为了能让项目正常运行,还有加上权限,在AndroidManifest.xml下进行配置
1 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 2 <uses-permission android:name="android.permission.INTERNET"/>
接着我们就可以来测试我们的项目了,在模拟器上进行安装。
结果:
有网络的结果
无网络的结果: