我在Github上面主推了一個項目,是工作之中一點點收集的實用工具類,可以減少很多查詢方法或者寫代碼的時間,希望對大家有所幫助。
https://github.com/SenhLinsh/Utils-Everywhere
Utils-Everywhere
整理并收集各種常用的覆蓋面廣的工具類。
簡介
Utils-Everywhere 是日常項目和工作中將常用的代碼進行封裝和整理形成的工具類,一部分是結(jié)合自己再實際開發(fā)中整理而得,一部分則是直接參考或使用其他優(yōu)秀的開源工具類(文末和代碼中均標(biāo)明出處,部分遺漏之處請諒解)。使用封裝后的工具庫,可以大大提高我們的開發(fā)效率,一方面可以減少非常多的重復(fù)代碼,另一方面可以避免對某些代碼或API的死記硬背,工具類會以盡可能平白簡單的方式來讓大家熟悉并使用其中的方法。
由于部分工具類是由本人『親自操刀』,而本人能力有限離,離大神的尚且遙遠(yuǎn),可能部分方法沒有經(jīng)過優(yōu)化甚至存在 BUG,希望廣大碼友進行指正。通過也歡迎大家對工具類進行補充和完善,一起打造一個覆蓋面廣的工具類集合。
使用
添加依賴
1.在項目根目錄的build.gradle中添加自定義倉庫
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
2.在module里面添加依賴
dependencies {
compile 'com.github.SenhLinsh:Utils-Everywhere:2.0.0'
}
初始化
在使用本項目中工具類的方法之前,請先進行初始化
Utils.init(context);
工具類介紹
工具類(utils)
| 工具類 | 簡介 | 主要 API |
|---|---|---|
| AccessibilityUtils | 輔助功能(無障礙服務(wù)功能)相關(guān) | - |
| ActivityLifecycleUtils | Activity 生命周期回調(diào)相關(guān),目前主要用于獲取頂部 Activity 以及判斷 APP 是否處于后臺 | - |
| AppUtils | APP 相關(guān) | - |
| ArrayUtils | 數(shù)組相關(guān) | - |
| BitmapUtils | Bitmap 相關(guān),如對 Bitmap 對象的獲取、處理、轉(zhuǎn)化和保存 | - |
| CameraUtils | 攝像頭相關(guān),如檢查攝像頭設(shè)備、檢查前后置攝像頭等 | - |
| ChineseNumberUtils | 中文數(shù)字處理 | - |
| ClassUtils | Class 字節(jié)碼相關(guān)、反射相關(guān) | - |
| CleanUtils | 清理緩存和數(shù)據(jù)相關(guān) | - |
| ClipboardUtils | 剪貼板相關(guān) | - |
| ColorUtils | 顏色處理 | - |
| ContextUtils | APP Context 的獲取,簡化 Context 方法 | - |
| DateUtils | 日期相關(guān) | - |
| DeviceUtils | 設(shè)備相關(guān),判斷手機或平板設(shè)備 | - |
| EncodeUtils | 編碼解碼相關(guān) | - |
| EncryptUtils | 加密解密相關(guān) | - |
| FileUtils | 文件或文件夾操作相關(guān),如讀寫文件、操作文件等 | - |
| FragmentUtils | Fragment 相關(guān) | - |
| HandlerUtils | 默認(rèn)開啟一個 Handler,方便在各個地方隨時執(zhí)行主線程任務(wù) | - |
| IntentUtils | Intent 意圖相關(guān) | - |
| IOUtils | IO 流對象相關(guān),用于簡化關(guān)閉流操作 | - |
| KeyboardUtils | 操作系統(tǒng)鍵盤 | - |
| ListUtils | 對集合進行操作 | - |
| LogUtils | Log 日志打印簡化 | - |
| LunarCalendarUtils | 農(nóng)歷日期的解析和格式化等 | - |
| LunarConverseUtils | 陽歷陰歷轉(zhuǎn)換相關(guān) | - |
| NetworkUtils | 網(wǎng)絡(luò)相關(guān),如檢查網(wǎng)絡(luò)、獲取 IP 等 | - |
| OSUtils | 判斷當(dāng)前 OS 系統(tǒng) | - |
| PermissionUtils | 權(quán)限處理相關(guān) | - |
| PhoneStateUtils | 手機狀態(tài)相關(guān),如判斷鎖屏、屏幕是否亮著 | - |
| PhoneUtils | 設(shè)備硬件相關(guān),獲取手機信息(廠商、品牌、型號、IMEI 碼、IMSI 碼、IP 等) | - |
| RandomUtils | 隨機數(shù)相關(guān) | - |
| RegexUtils | 正則相關(guān) | - |
| ResourceUtils | 簡化資源的對象的獲?。ㄙY源 id、圖片、字符串、顏色等) | - |
| ScreenUtils | 屏幕相關(guān),如獲取屏幕尺寸、方向、截屏等 | - |
| SDCardUtils | 外部儲存相關(guān),如檢查 SD 卡,獲取根目錄、容量等 | - |
| SharedPreferenceUtils | 簡化 SharedPreference 配置的保存和獲取 | - |
| ShellUtils | Shell 命令相關(guān) | - |
| ShortcutUtils | 桌面快捷方式相關(guān) | - |
| StringUtils | 字符串處理 | - |
| ToastUtils | Toast 相關(guān),簡化調(diào)用 | - |
| UnitConverseUtils | 單位轉(zhuǎn)換相關(guān),如 dp、px、sp 之間的轉(zhuǎn)換 | - |
| XmlUtils | XML 相關(guān),目前有生成 Shape 和狀態(tài)選擇器 | - |
| ZipUtils | 壓縮相關(guān) | - |
2.輔助類(tools)
| 工具類 | 簡介 | 主要 API |
|---|---|---|
| AccessibilityHelper | 簡化 AccessibilityService 的使用 | - |
| ColorSelectorBuilder | 構(gòu)建顏色選擇器的輔助類 | - |
| ContactsEditor | 對系統(tǒng)聯(lián)系人 (Contacts) 進行增刪改的幫助類 | - |
| CursorHelper | 簡化 Cursor 對象的操作 | - |
| DrawableSelectorBuilder | 構(gòu)建圖像選擇器的輔助類 | - |
| IntentBuilder | Intent 構(gòu)建輔助類,鏈?zhǔn)骄幊毯喕?Intent 構(gòu)建,傳遞數(shù)據(jù)時可隱藏 key 的使用 | - |
| ShapeBuilder | 構(gòu)建 Shape 的復(fù)制類 | - |
| WhereBuilder | 構(gòu)建 SQL 查詢條件篩選語句的幫助類 | - |
參考
本項目中參考并借鑒了多個優(yōu)秀開源項目的工具類,包括但不限于以下:
- AndroidUtilCode : https://github.com/Blankj/AndroidUtilCode
- android-common : https://github.com/litesuits/android-common
- Lazy : https://github.com/l123456789jy/Lazy