https://www.jianshu.com/p/761c5830c832
在 Flutter 項目中用到的一些工具類,現整理分享出來,大家一起學習、交流。
匯總
- Http網絡請求:基於 dio 封裝的網絡請求工具類
- DateUtil:日期格式化工具類
- EnumUtil:枚舉與字符串轉換工具類
- EventManager:事件通知工具類(廣播)
- LcfarmSize:屏幕適配工具類
- LogUtil:日志輸出工具類
- NumberUtil:數字格式化工具類
- ObjectUtil:對象管理工具類
- RegexUtil:常用正則判斷工具類
- SpUtil:Shared Preferences存儲工具類
- StorageUtil:文件目錄訪問工具類
- TimerUtil:定時器/倒計時工具類
API
HttpManager 網絡工具類
init : 初始化baseUrl,超時時間等 get : get請求同步回調 post : post請求同步回調 upload : 文件上傳同步回調 download : 文件下載同步回調 getAsync : get 請求異步方式 postAsync : post 請求異步方式 uploadAsync : 文件上傳異步方式 downloadAsync : 文件下載異步方式
具體使用請參與:Flutter 網絡請求 Dio 封裝
DateUtil 日期時間工具類
getDateTime : 根據日期字符串格式化日期 DateTime getDateTimeByMilliseconds : 根據時間戳格式化日期 字符串 getDateMillisecondsByTimeStr : 根據日期字符串格式化日期 毫秒 getNowDateMilliseconds : 獲取當前 毫秒 getNowDateMicroseconds : 獲取當前 微秒 getNowDateStr : 獲取當前 日期字符串.(yyyy-MM-dd HH:mm:ss) getDateStrByTimeStr : 獲取日期字符串 By DateTime(Format格式輸出) getDateStrByMillisecond : 獲取日期字符串 By 毫秒(Format格式輸出) getDateMsByTimeStr : 獲取毫秒 By 日期字符串(Format格式輸出). getDateStrByTimeStr : 獲取日期字符串 By 日期字符串(Format格式輸出) getWeekDay : 獲取WeekDay By DateTime getZHWeekDay : 獲取星期 By DateTime getWeekDayByMs : 獲取WeekDay By 毫秒 getZHWeekDayByMs : 獲取星期 By 毫秒 isLeapYearByYear : 是否是閏年 yearIsEqual : 是否同年 getDayOfYear : 在今年的第幾天 isYesterday : 是否是昨天 isToday : 是否是今天 isWeek : 是否是本周
EnumUtil 枚舉工具類
enumValueToString : 枚舉格式化 String enumValueFromString : String反顯枚舉
EventManager 消息管理工具類
post : 發送消息 on : 監聽消息 destroy : 銷毀
LogUtil日志工具類
init(isDebug, tag) : isDebug: 模式, tag 標簽 e(object, tag) : 日志e v(object, tag) : 日志v,只在debug模式輸出
LcfarmSize 屏幕適配工具類
screenWidth : 獲取屏幕寬
screenHeight : 獲取屏幕高
screenWidthPx : 獲取屏幕寬 px
screenHeightPx : 獲取屏幕高 px
screenDensity : 獲取屏幕密度
statusBarHeight : 獲取狀態欄高度
bottomBarHeight : 獲取底部安全區距離
statusBarHeightPx : 獲取狀態欄高度 px
bottomBarHeightPx : 獲取底部安全區距離 px
textScaleFactory : 字體縮放比例
pixelRatio : 獲取像素密度
dp : 默認根據寬度適配
sp : 字體大小適配方法
具體使用請參與:Flutter 屏幕適配、顏色、樣式、Icon 管理
NumberUtil 數字格式化工具類
formatNum : 數字千位符,小數點、位數格式化 getNumByValueStr : 保留x位小數 by 數字字符串 getNumByValueDouble : 保留x位小數 by double getIntByValueStr : 數字字符串轉int getDoubleByValueStr : 數字字符串轉double getIntByValueObject : 數字對象串轉int getDoubleByValueObject : 數字對象串轉double ObjectUtil
ObjectUtil 對象管理工具類
isEmptyString : 判斷String是否為空 isEmptyList : 判斷List是否為空 isEmptyMap : 判斷Map是否為空 isEmpty : 判斷對象是否為空.(String List Map) isNotEmpty : 判斷對象是否非空.(String List Map) twoListIsEqual : 判斷兩個List是否相等 getLength : 取得對象的長度
RegexUtil 常用正則判斷工具類
isMobileSimple : 簡單驗證手機號
isMobileExact : 精確驗證手機號
isTel : 驗證電話號碼
isIDCard : 驗證身份證號碼
isIDCard15 : 驗證身份證號碼 15 位
isIDCard18 : 簡單驗證身份證號碼 18 位
isIDCard18Exact : 精確驗證身份證號碼 18 位
isEmail : 驗證郵箱
isURL : 驗證 URL
isZh : 驗證漢字
isDate : 驗證 yyyy-MM-dd 格式的日期校驗,已考慮平閏年
isIP : 驗證 IP 地址
SpUtil 存儲工具類
init : 初始化方法 hasKey : key是否存在 getString : 獲取key對應的String類型值 putString : 儲存key對應的String類型值 getBool : 獲取key對應的bool類型值 putBool : 儲存key對應的bool類型值 getInt : 獲取key對應的int類型值 putInt : 儲存key對應的int類型值 getDouble : 獲取key對應的double類型值 putDouble : 儲存key對應的double類型值 getStringList : 獲取key對應的List<String>類型值 putStringList : 儲存key對應的List<String>類型值 getDynamic : 獲取key對應的dynamic類型值 remove : 刪除指定key對應的值 clear : 清除所有的值
StorageUtil 文件目錄訪問工具類
createDirSync : 同步創建文件夾
createDir : 異步創建文件夾
getTempPath : 取得臨時目錄中文件路徑
getAppDocPath : 取得文檔目錄中文件路徑
getStoragePath : 取得外部儲存路徑
createTempDir : 異步創建臨時文件目錄
createAppDocDir : 異步創建文檔文件目錄
createStorageDir : 異步創建外部儲存文件目錄
TimerUtil 定時器/倒計時工具類
setInterval : 設置Timer間隔
setTotalTime : 設置倒計時總時間
startTimer : 啟動定時Timer
startCountDown : 啟動倒計時Timer
updateTotalTime : 重設倒計時總時間
isActive : Timer是否啟動
cancel : 取消計時器
setOnTimerTickCallback : 計時器回調
使用
在項目pubspec.yaml添加依賴
dependencies: flutter_common_utils: ^1.1.0
最后
如果在使用過程遇到問題,歡迎下方留言交流。
學習資料
請大家不吝點贊!因為您的點贊是對我最大的鼓勵,謝謝
作者:Cheney2006
鏈接:https://www.jianshu.com/p/761c5830c832
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。