您好,登錄后才能下訂單哦!
/**
* 測試ConnectivityManager
* ConnectivityManager主要管理和網絡連接相關的操作
* 相關的TelephonyManager則管理和手機、運營商等的相關信息;WifiManager則管理和wifi相關的信息。
* 想訪問網絡狀態,首先得添加權限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
* NetworkInfo類包含了對wifi和mobile兩種網絡模式連接的詳細描述,通過其getState()方法獲取的State對象則代表著
* 連接成功與否等狀態。
*
*/
public void testConnectivityManager() {
ConnectivityManager connManager = (ConnectivityManager) this
.getSystemService(CONNECTIVITY_SERVICE);
// 獲取代表聯網狀態的NetWorkInfo對象
NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
// 獲取當前的網絡連接是否可用
boolean available = networkInfo.isAvailable();
if(available){
Log.i("通知", "當前的網絡連接可用");
}
else{
Log.i("通知", "當前的網絡連接可用");
}
State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
if(State.CONNECTED==state){
Log.i("通知", "GPRS網絡已連接");
}
state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(State.CONNECTED==state){
Log.i("通知", "WIFI網絡已連接");
}
// 跳轉到無線網絡設置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
// 跳轉到無限wifi網絡設置界面
startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
}
(注意:上面的代碼只是示例,直接運行的話有待修改。)
上面判斷網絡類型的方法只是為了展示用法,其實完全可以通過networkInfo.getType()的返回值來判斷。
如:
[java] view plaincopy
Context context = listActivity.getApplicationContext();//獲取應用上下文
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);//獲取系統的連接服務
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();//獲取網絡的連接情況
if(activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){
//判斷WIFI網
}else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {
//判斷3G網
}
android.util.Log常用的方法有以下5個:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根據首字母對應VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的調試顏色為黑色的,任何消息都會輸出,這里的v代表verbose啰嗦的意思,平時使用就是Log.v("","");
2、Log.d的輸出顏色是藍色的,僅輸出debug調試的意思,但他會輸出上層的信息,過濾起來可以通過DDMS的Logcat標簽來選擇.
3、Log.i的輸出為綠色,一般提示性的消息information,它不會輸出Log.v和Log.d的信息,但會顯示i、w和e的信息
4、Log.w的意思為橙色,可以看作為warning警告,一般需要我們注意優化Android代碼,同時選擇它后還會輸出Log.e的信息。
5、Log.e為紅色,可以想到error錯誤,這里僅顯示紅色的錯誤信息,這些錯誤就需要我們認真的分析,查看棧的信息了。
注意:不同的打印方法在使用時都是某個方法帶上(String tag, String msg)參數,tag表示的是打印信息的標簽,msg表示的是需要打印的信息。
下面是我做的一個簡單的LogDemo(Step By Step):
Step 1:準備工作(打開LogCat視窗).
啟動Eclipse,在Window->Show View會出來一個對話框,當我們點擊Ok按鈕時,會在控制臺窗口出現LogCat視窗.如下圖:
Step 2:新建一個Android工程,命名為LogDemo.
Step 3:設計UI界面,我們在這里就加了一個Button按鈕(點擊按鈕出現Log日志信息).
Main.xml代碼如下:
[xhtml] view plaincopy
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/bt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Presse Me Look Log"
/>
</LinearLayout>
Step 4:設計主類LogDemo.java,代碼如下:
[java] view plaincopy
public class LogDemo extends Activity {
private static final String ACTIVITY_TAG="LogDemo";
private Button bt;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//通過findViewById找到Button資源
bt = (Button)findViewById(R.id.bt);
//增加事件響應
bt.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
Log.v(LogDemo.ACTIVITY_TAG, "This is Verbose.");
Log.d(LogDemo.ACTIVITY_TAG, "This is Debug.");
Log.i(LogDemo.ACTIVITY_TAG, "This is Information");
Log.w(LogDemo.ACTIVITY_TAG, "This is Warnning.");
Log.e(LogDemo.ACTIVITY_TAG, "This is Error.");
}
});
}
}
Step 5:運行LogDemo工程,效果如下:
當我們點擊按鈕時,會觸發事件,在Logcat視窗下有如下效果:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。