Flutter 工具類整理


https://www.jianshu.com/p/761c5830c832

在 Flutter 項目中用到的一些工具類,現整理分享出來,大家一起學習、交流。

匯總

  1. Http網絡請求:基於 dio 封裝的網絡請求工具類
  2. DateUtil:日期格式化工具類
  3. EnumUtil:枚舉與字符串轉換工具類
  4. EventManager:事件通知工具類(廣播)
  5. LcfarmSize:屏幕適配工具類
  6. LogUtil:日志輸出工具類
  7. NumberUtil:數字格式化工具類
  8. ObjectUtil:對象管理工具類
  9. RegexUtil:常用正則判斷工具類
  10. SpUtil:Shared Preferences存儲工具類
  11. StorageUtil:文件目錄訪問工具類
  12. 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
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM