我在Github上面主推了一個(gè)項(xiàng)目旗们,是工作之中一點(diǎn)點(diǎn)收集的實(shí)用工具類丽焊,可以減少很多查詢方法或者寫代碼的時(shí)間,希望對(duì)大家有所幫助砾肺。
https://github.com/SenhLinsh/Utils-Everywhere
Utils-Everywhere
整理并收集各種常用的覆蓋面廣的工具類凑术。
簡(jiǎn)介
Utils-Everywhere 是日常項(xiàng)目和工作中將常用的代碼進(jìn)行封裝和整理形成的工具類翩蘸,一部分是結(jié)合自己再實(shí)際開發(fā)中整理而得,一部分則是直接參考或使用其他優(yōu)秀的開源工具類(文末和代碼中均標(biāo)明出處淮逊,部分遺漏之處請(qǐng)諒解)催首。使用封裝后的工具庫(kù)扶踊,可以大大提高我們的開發(fā)效率,一方面可以減少非常多的重復(fù)代碼翅帜,另一方面可以避免對(duì)某些代碼或API的死記硬背姻檀,工具類會(huì)以盡可能平白簡(jiǎn)單的方式來(lái)讓大家熟悉并使用其中的方法命满。
由于部分工具類是由本人『親自操刀』涝滴,而本人能力有限離,離大神的尚且遙遠(yuǎn)胶台,可能部分方法沒有經(jīng)過(guò)優(yōu)化甚至存在 BUG歼疮,希望廣大碼友進(jìn)行指正。通過(guò)也歡迎大家對(duì)工具類進(jìn)行補(bǔ)充和完善诈唬,一起打造一個(gè)覆蓋面廣的工具類集合韩脏。
使用
添加依賴
1.在項(xiàng)目根目錄的build.gradle中添加自定義倉(cāng)庫(kù)
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
2.在module里面添加依賴
dependencies {
compile 'com.github.SenhLinsh:Utils-Everywhere:2.0.0'
}
初始化
在使用本項(xiàng)目中工具類的方法之前,請(qǐng)先進(jìn)行初始化
Utils.init(context);
工具類介紹
工具類(utils)
工具類 | 簡(jiǎn)介 | 主要 API |
---|---|---|
AccessibilityUtils | 輔助功能(無(wú)障礙服務(wù)功能)相關(guān) | - |
ActivityLifecycleUtils | Activity 生命周期回調(diào)相關(guān)铸磅,目前主要用于獲取頂部 Activity 以及判斷 APP 是否處于后臺(tái) | - |
AppUtils | APP 相關(guān) | - |
ArrayUtils | 數(shù)組相關(guān) | - |
BitmapUtils | Bitmap 相關(guān)赡矢,如對(duì) Bitmap 對(duì)象的獲取、處理阅仔、轉(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 的獲取空民,簡(jiǎn)化 Context 方法 | - |
DateUtils | 日期相關(guān) | - |
DeviceUtils | 設(shè)備相關(guān),判斷手機(jī)或平板設(shè)備 | - |
EncodeUtils | 編碼解碼相關(guān) | - |
EncryptUtils | 加密解密相關(guān) | - |
FileUtils | 文件或文件夾操作相關(guān)羞迷,如讀寫文件界轩、操作文件等 | - |
FragmentUtils | Fragment 相關(guān) | - |
HandlerUtils | 默認(rèn)開啟一個(gè) Handler,方便在各個(gè)地方隨時(shí)執(zhí)行主線程任務(wù) | - |
IntentUtils | Intent 意圖相關(guān) | - |
IOUtils | IO 流對(duì)象相關(guān)衔瓮,用于簡(jiǎn)化關(guān)閉流操作 | - |
KeyboardUtils | 操作系統(tǒng)鍵盤 | - |
ListUtils | 對(duì)集合進(jìn)行操作 | - |
LogUtils | Log 日志打印簡(jiǎn)化 | - |
LunarCalendarUtils | 農(nóng)歷日期的解析和格式化等 | - |
LunarConverseUtils | 陽(yáng)歷陰歷轉(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 | 手機(jī)狀態(tài)相關(guān)热鞍,如判斷鎖屏葫慎、屏幕是否亮著 | - |
PhoneUtils | 設(shè)備硬件相關(guān),獲取手機(jī)信息(廠商碍现、品牌幅疼、型號(hào)、IMEI 碼昼接、IMSI 碼爽篷、IP 等) | - |
RandomUtils | 隨機(jī)數(shù)相關(guān) | - |
RegexUtils | 正則相關(guān) | - |
ResourceUtils | 簡(jiǎn)化資源的對(duì)象的獲取(資源 id慢睡、圖片逐工、字符串铡溪、顏色等) | - |
ScreenUtils | 屏幕相關(guān),如獲取屏幕尺寸泪喊、方向棕硫、截屏等 | - |
SDCardUtils | 外部?jī)?chǔ)存相關(guān),如檢查 SD 卡袒啼,獲取根目錄哈扮、容量等 | - |
SharedPreferenceUtils | 簡(jiǎn)化 SharedPreference 配置的保存和獲取 | - |
ShellUtils | Shell 命令相關(guān) | - |
ShortcutUtils | 桌面快捷方式相關(guān) | - |
StringUtils | 字符串處理 | - |
ToastUtils | Toast 相關(guān),簡(jiǎ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)
工具類 | 簡(jiǎn)介 | 主要 API |
---|---|---|
AccessibilityHelper | 簡(jiǎn)化 AccessibilityService 的使用 | - |
ColorSelectorBuilder | 構(gòu)建顏色選擇器的輔助類 | - |
ContactsEditor | 對(duì)系統(tǒng)聯(lián)系人 (Contacts) 進(jìn)行增刪改的幫助類 | - |
CursorHelper | 簡(jiǎn)化 Cursor 對(duì)象的操作 | - |
DrawableSelectorBuilder | 構(gòu)建圖像選擇器的輔助類 | - |
IntentBuilder | Intent 構(gòu)建輔助類靶庙,鏈?zhǔn)骄幊毯?jiǎn)化 Intent 構(gòu)建,傳遞數(shù)據(jù)時(shí)可隱藏 key 的使用 | - |
ShapeBuilder | 構(gòu)建 Shape 的復(fù)制類 | - |
WhereBuilder | 構(gòu)建 SQL 查詢條件篩選語(yǔ)句的幫助類 | - |
參考
本項(xiàng)目中參考并借鑒了多個(gè)優(yōu)秀開源項(xiàng)目的工具類娃属,包括但不限于以下:
- AndroidUtilCode : https://github.com/Blankj/AndroidUtilCode
- android-common : https://github.com/litesuits/android-common
- Lazy : https://github.com/l123456789jy/Lazy