新建項目 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)); } }