Flutter 工具类整理
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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。