文章目录
- 1、下载模块flutter_xupdate
- 2、图片拍照和选择image_picker
- 3、滚轮选择flutter_datetime_picker
- 4、手机IP获取dart_ipify
- 5、对html解析为文本的库flutter_widget_from_html
- 6、对于金钱数值的处理money2
- 7、生成手机标志uuid
- 8、发布/订阅事件总线event_bus
- 9、应用信息的获取package_info
- 10、对于微信SDK的封装处理fluwx
- 11、AES加密encrypt
- 12、字符串占位符sprintf
- 13、状态管理provider
- 14、简单的文件存储sp_util
- 15、简单的路由导航fluro
- 16、Flutter版本的网页显示webview_flutter
- 17、设备信息device_info
- 18、通用工具库common_utils
- 19、Android升级库flutter_xupdate
- 20、Flutter升级库update_app
本文整理这些第三方库主要是为了加速实际开发中的效率
1、下载模块flutter_xupdate
flutter_xupdate是一个只支持Android的应用升级功能,使用该组件可以快速在应用中集成升级功能
链接:https://pub.flutter-io.cn/packages/flutter_xupdate
2、图片拍照和选择image_picker
image_picker是一个在应用中快速实现拍照和相册选择功能的库。
缺点:
1、不过该库不支持九宫格选择
2、Android 10是采用了临时解决方案,无法兼容Android11版本
3、拍完照后不能对图片进行裁剪功能,如果需要的话需要额外集成其它库
链接:https://pub.flutter-io.cn/packages/image_picker
3、滚轮选择flutter_datetime_picker
flutter_datetime_picker是一个快速实现底部时间滚轮选择的库
缺点:
1、时间格式不能调整,比如只能显示为年月日,不能显示年月
链接:https://pub.flutter-io.cn/packages/flutter_datetime_picker
4、手机IP获取dart_ipify
有时候会需要获取手机ip来防止刷接口,可以使用dart_ipify来进行处理
链接:https://pub.flutter-io.cn/packages/dart_ipify
5、对html解析为文本的库flutter_widget_from_html
有时候后台会返回一个html样式的文本,让我们选择,但是并不是显示成网页。对于这种需求可以使用flutter_widget_from_html进行解决
链接:https://pub.flutter-io.cn/packages/flutter_widget_from_html
6、对于金钱数值的处理money2
有时候,对于金钱需要做一些格式处理,比如 处理成 ¥1000,00,00,可以使用money2 处理
链接:https://pub.flutter-io.cn/packages/money2
7、生成手机标志uuid
用于生成UUID标志
链接:https://pub.flutter-io.cn/packages/uuid
8、发布/订阅事件总线event_bus
dart版的事件发布event_bus。可以在多个类里面进行事件传递。不过这个写不好的话会导致项目很难维护,另外Flutter提供了很多种对于这种问题的解决方式,比如Stream,如果涉及到UI刷新,则有其它的局部刷新方式
链接:https://pub.flutter-io.cn/packages/event_bus
9、应用信息的获取package_info
主要用于获取程序的名称、版本号等内容
链接:https://pub.flutter-io.cn/packages/package_info
10、对于微信SDK的封装处理fluwx
由于微信SDK没有提供Flutter版本,不过网上有人对此进行了封装,可以进行很方面的集成进来.
链接:https://pub.flutter-io.cn/packages/fluwx
11、AES加密encrypt
加密是个很复杂的功能,简单的api接口不代表内部实现也简单,如果封装不好,会导致各个平台加解密的内容对不上,而这个加解密可以和Android、Java、Web、IOS的加解密数据保持一致,并且不会需要那么多的专业知识。
链接:https://pub.flutter-io.cn/packages/encrypt
12、字符串占位符sprintf
在实际开发中,有时候会对字符串的某些位置采用占位符处理,这是Java上的基础功能,可惜Flutter不支持,好在有人开发出了相应的第三方库,虽然并不能完全支持,但是也能进行简单的数据处理
链接:https://pub.flutter-io.cn/packages/sprintf
13、状态管理provider
状态管理顾名思义就是对于程序中的各种状态管理,在这里,可以将状态进行统一处理、获取、更新等等。使整个程序更加规范。减少了代码直接的耦合,比如减少了直接使用构造函数传值。这样可以避免后期更改数据时候大面积进行代码改动。
链接:https://pub.flutter-io.cn/packages/provider
14、简单的文件存储sp_util
在flutter上面快速简单的存储一些简单数据,是Android上面SharedPreferences的Flutter版本。
缺点:
1、不能定义文件名字,不过这个问题在目前的第三库中都存在,因为都是对于一份源码的封装。由于该问题的存在,导致flutter这边存入数据后,native层不知道该怎么取出数据。对于有这种需求的项目来说只能自己再封装一个新的SharedPreferences库了
链接:https://pub.flutter-io.cn/packages/sp_util
15、简单的路由导航fluro
fluro是对Flutter版本中的Navigator的封装处理,可以让用户更加方面的使用。
缺点:对于复杂的程序跳转逻辑不适用,比如跳转到之前存在的某个页面并把栈顶的页面移除,也无法处理返回参数
链接:https://pub.flutter-io.cn/packages/fluro
16、Flutter版本的网页显示webview_flutter
webview_flutter是官方开发的用于在Flutter上面显示网页的库
缺点:对于WebView上面的一些特性依然不能完整支持,比如https和http混用问题
链接:https://pub.flutter-io.cn/packages/webview_flutter
17、设备信息device_info
有时候需要获取手机设备的一些信息,这里可以使用device_info来进行处理
链接:https://pub.flutter-io.cn/packages/device_info
18、通用工具库common_utils
对于这个库来说最好用的莫过于里面的时间格式转换了,比如将时间戳转换为 xxxx年xx月xx日。而这个功能是其他日期库都不具备的。
链接:https://pub.flutter-io.cn/packages/common_utils
19、Android升级库flutter_xupdate
一个支持Android程序升级的Flutter库,带有精美的UI效果
链接:https://pub.flutter-io.cn/packages/flutter_xupdate
flutter_xupdate: ^1.0.2
update_app: ^0.1.5
20、Flutter升级库update_app
一个支持Android和IOS的Flutter升级库。Android采用的是系统自带的升级功能,IOS是跳转到应用商店,这个可以和flutter_xupdate配合使用
链接:https://pub.flutter-io.cn/packages/update_app