編輯:關於Android編程
寫了個函數來判斷手機是否聯網,但是發現,在手機聯網狀態下一切正常,而當手機斷網時則會發現閃退。
首先第一反應是會不會是沒在AndroidManifest.xml文件中設置聯網權限:
/**判斷網絡是否可用 * @param context * @return */ public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); return cm.getActiveNetworkInfo().isAvailable(); }
經過調試,發現當我斷網狀態下,我在cm.getActiveNetworkInfo()中返回的NetworkInfo實例是個空指針,此時調用isAvailable()發生錯誤。所以要對NetworkInfo實例進行判斷。
public static boolean isNetworkAvailable(Context context) { try { ConnectivityManager manger = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = manger.getActiveNetworkInfo(); //return (info!=null && info.isConnected());// if(info != null){ return info.isConnected(); }else{ return false; } } catch (Exception e) { return false; } }
前言團隊項目開發前的統一三要素:統一需求/開發文檔,統一代碼規范,統一環境(編譯/測試/發布)。一個項目團隊,要想有高效的產出,必須在團隊協作上下好功夫,必須在項目開發統
EditText可以通過layer-list來繪制背景: //用白色來填充裡面
SurfaceFlinger自啟動之後,主要有三種類型線程參與工作: 1.binder線程,負責監控binder設備完成與客戶端的交接 2.控制台事件監控線程,負責監控硬
Toast的自定義使用原理與其類似。1.Toast源碼分析老規矩,我們先去看Toast的源碼。Toast有兩種顯示布局方式,一種最常見調用Toast.makeText()