編輯:關於Android編程
上篇文章給大家介紹了Android 網絡狀態實時監聽代碼實例(一),感興趣的朋友可以點擊了解詳情,本文接著給大家介紹android網絡狀態監聽相關知識,具體內容如下所示:
在開發android應用時,涉及到要進行網絡訪問,時常需要進行網絡狀態的檢查,以提供給用戶必要的提醒。一般可以通過ConnectivityManager來完成該工作。
ConnectivityManager有四個主要任務:
1、監聽手機網絡狀態(包括GPRS,WIFI, UMTS等)
2、手機狀態發生改變時,發送廣播
3、當一個網絡連接失敗時進行故障切換
4、為應用程序提供可以獲取可用網絡的高精度和粗糙的狀態
當我們要在程序中監聽網絡狀態時,只要一下幾個步驟即可:
1、定義一個Receiver重載其中的onReceive函數,在其中完成所需要的功能,如根據WIFI和GPRS是否斷開來改變空間的外觀或者提示是否能訪問網絡
package com.bsharksdk.receiver; import com.bsharksdk.main.BSharkApi; import com.bsharksdk.ui.BSToast; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; /** * @author Javen * */ public class ConnectionChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager=(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mobNetInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); NetworkInfo wifiNetInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) { BSToast.showLong(context, "網絡不可以用"); //改變背景或者 處理網絡的全局變量 }else { //改變背景或者 處理網絡的全局變量 } } }
2、在適當的地方注冊Receiver,可以在程序中注冊,在onCreate中調用如下函數即可:
private void registerReceiver(){ IntentFilter filter=new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); myReceiver=new ConnectionChangeReceiver(); this.registerReceiver(myReceiver, filter); }
3、在適當時取消注冊Receiver,可以在程序中取消,在onDestroye中調用如下函數即可:
private void unregisterReceiver(){ this.unregisterReceiver(myReceiver); }
記得在 Activity中 設置變量 private ConnectionChangeReceiver myReceiver;
記得添加訪問網絡需要的權限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET" />
以上所述是小編給大家介紹的Android網絡狀態實時監聽實例代碼(2),希望對大家有所幫助!
在牛客(一個很多筆試面試交流的平台,感覺每天一套可以萌萌哒(☆_☆))上看到一個大神,簡直是offer收割機TAT,其面經中好多東西都是基礎,覺得自己有必要總結並學習我不
Android系統裡面有個東西很好用,也很常用,那就是Toast,但是長期使用也會發現,Toast有他的不足之處:形式單一,只有文字,風格不變等等,那麼要如
由於在項目開發時,有這樣的簡單需求,問谷歌,網絡上也有好多Utils工具類,但是比較冗余。自己就簡單的寫了一個簡單幫助類。/** * 下載文件,更新UI簡單幫助類 *
(一).前言:今天我們的項目繼續更新,今天我們主要講解MVP開發模式以及具體實例。 (二).簡介:MVP(Model ViewPrese