一、簡介 java
utils部分是對一些經常使用的工具類進行簡單的封裝,使用起來比較方便。這裏列舉經常使用的一些。 算法
二、ContextUtils使用 api
主要封裝了網絡判斷。一些方法解釋以下: 緩存
//判斷是否存在網絡鏈接 public static boolean hasNetwork(Context context); //判斷GPS是否打開 public static boolean isGpsEnabled(Context context); //SD卡是否可用 public static boolean hasSdCard()三、 HttpUtils使用
這個只作了簡單請求封裝,沒有支持圖片上傳功能,要使用圖片上傳功能相見dazzle.common.http部分。 網絡
//GET請求,可帶參數,使用UTF-8編碼,鏈接超時和請求超時默認12s public static String requestURL(String url, Map<String, String> params) throws IOException; //POST請求,使用UTF-8編碼 public static String requestURLPost(String url, Map<String, String> paramsMap); //下載文件,輸出流到file裏 public static void downloadURLToFile(String downloadUrl, File file) throws Exception;
四、ToastUtils使用 app
對ToastUtils作了簡單的封裝,使用更加方便,基本一句話搞定。 工具
//顯示吐司信息(較長時間) public static void displayTextLong(Context context, String text); //顯示吐司信息(較短期) public static void displayTextShort(Context context, String text); //顯示吐司信息交給handler處理(較長時間) public static void displayTextLong2Handler(final Context context, final String text, Handler handler); //顯示吐司信息交給handler處理(較短期) public static void displayTextShort2Handler(final Context context, final String text, Handler handler);五、 ProgressDialogUtils使用
是對ProgressDialog的簡單封轉,使調用更加簡單,一句話搞定。至於實現部分可能static的引用了Context,可能會引發所謂的內存泄露危險,待後面考慮改進。 this
//單例的progressDialog顯示 public void show(String title); //單例的progressDialog隱藏 public void dismiss(); //單例的progressDialog影藏,在線程中使用 public void dismiss(Handler handler); //上面說的單例能夠這樣生成單例 ProgressDialogUtils pdu = ProgressDialogUtils.instance(this);
六、PreferenceModel使用 編碼
主要是對SharedPreferences存儲的封裝,使用簡單一句話搞定。 url
//保存寫法,其中name是key,xuan是value,Types.String是類型 PreferenceModel.instance(this).saveSystemProperties("name","xuan",Types.STRING); //獲取寫法,其中name是key,"anan"是在獲取不到值時的默認值,Types.String你懂的 PreferenceModel.instance(this).getSystemProperties("name","anan",Types.STRING);七、緩存cache部分使用
主要是對LRU算法的緩存實現。在手機內存有限的狀況下,這種緩存算法性價比仍是比較高的。下面是從keel裏面拷貝過來的一個很簡陋的cache。其實sdk高版本的api中已經有實現的叫:LruCache類。有空用這個重寫一下,人家寫的總歸牛逼點,雖然使用過程當中也沒看出來咱們本身寫的比較差。不過去看過源碼後發現,人家的確實比較牛逼的。
//獲取一個默認緩存,默認容量20個數量,若是要緩存bitmap之類的這種緩存有弊端 LRUPlusCache cache = LRUPlusCacheFactory.getDefaultCache(); //把對象放入緩存 XuanObj xuanObj = new XuanObj(); cache.putInCache("name",xuanObj); //獲取 XuanObj xuanObj = (XuanObj)cache.getFromCache("name"); //清理緩存 cache.removeAll();
八、其餘
固然上面只是一些比較經常使用,還有一些其餘的,大體說一下把
(1)ActionUtils類。封裝了打電話,發短信接口。
(2)AlertDialogUtils類。AlertDialog的封裝。相似網頁的啊alert,還有多選單選框。
(3)DateUtils類。keel裏面拷貝過來的。對日期的簡化封裝。
(4)ServiceUtils類。對Service操做的封裝。
(5)StringUtils類。字符串操做的封裝。
(6)TextViewHtmlUtils類。對TextView可能設置HTML的封裝。
(7)UpdateManager類。更新APK使用模塊。包括了APK的下載,和自動安裝。
(8)Validators類。keel裏面拷貝過來的,是一些經常使用的校驗方法。
(9)VersionUtils類。能夠獲取app系統的一些版本號和版本名稱。
九、media模塊
該模塊有兩個重要的類。MediaPlayerModel和MediaRecorderModel分別對播放音頻和錄音進行了封裝。