新建项目 GPRS
简单的布局
给 button 绑定点击事件,点击控件会产生两种可能,如果有网络就显示“有网络”,如果没有网络显示“没有网络”.
第一给button绑定点击事件代码如下:
新建一个类 :OnClickNetWerk.java
1 package com.example.gprs; 2 3 import android.app.Activity; 4 import android.content.Context; 5 import android.net.ConnectivityManager; 6 import android.net.NetworkInfo; 7 import android.view.View; 8 import android.view.View.OnClickListener; 9 import android.widget.TextView; 10 import android.widget.Toast; 11 12 public class OnClickNetWerk implements OnClickListener{ 13 private Context context ; 14 private TextView textView ; 15 private ConnectivityManager cm ; 16 public OnClickNetWerk(Context context){ 17 this.context = context; 18 } 19 20 @Override 21 public void onClick(View v) { 22 Activity act = (Activity) context; 23 textView = (TextView) act.findViewById(R.id.textView1); 24 25 int color ; //存放颜色 26 String text ; //存放显示的内容 27 28 NetworkInfo netIntfo = null; 29 try { 30 cm = (ConnectivityManager) act.getSystemService(act.CONNECTIVITY_SERVICE); 31 netIntfo = cm.getActiveNetworkInfo(); 32 } catch (Exception e) { 33 //异常处理 34 Toast.makeText(act, "没有网络权限,请给予相关权限", Toast.LENGTH_LONG).show(); 35 } 36 37 if(netIntfo==null){ 38 //如果没有网络 显示不正常 39 text = act.getResources().getString(R.string.netWerk_1); 40 color = act.getResources().getColor(R.color.palegreen); 41 42 }else{ 43 //如果没有网络 显示不正常 44 text = act.getResources().getString(R.string.netWerk_0); 45 color = act.getResources().getColor(R.color.beige); 46 47 } 48 //设置文本 49 textView.setText(text); 50 //设置背景颜色 51 textView.setBackgroundColor(color); 52 53 54 55 } 56 57 }
注:
1.最好给如下代码加入异常处理,预防出现权限的报错,把整个程序终止了。
cm=(ConnectivityManager)act.getSystemService(act.CONNECTIVITY_SERVICE);
netIntfo = cm.getActiveNetworkInfo();
2.给程序加入相关的网络权限(AndroidManifest.xml)
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
第二:在MainActivity.java
代码如下:
package com.example.gprs; import android.app.Activity; import android.os.Bundle; import android.widget.Button; public class MainActivity extends Activity { private Button but ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); but = (Button) this.findViewById(R.id.isGprs); but.setOnClickListener( new OnClickNetWerk(this)); } }