utils部分--一些通用的工具類封裝

一、簡介 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分別對播放音頻和錄音進行了封裝。

相關文章
相關標籤/搜索