Flutter 工具类整理

3,341 阅读4分钟

在 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

最后

  如果在使用过程遇到问题,欢迎下方留言交流。

  工具类库地址

学习资料

请大家不吝点赞!因为您的点赞是对我最大的鼓励,谢谢!