迁移空安全
1、 执行flutter pub outdated --mode=null-safety
,检查自己项目依赖的库是否都支持空安全
比较给力的是Freadhub
所用到的三方库大多都已升级了空安全
版本,唯一不支持的分享插件flutter_share_plugin
已使用官网分享库 share
替换 😂–大家在升级过程中也可尝试。如果是使用频度较高的库,大概率会很快升级的。不然就找下替代库即可。
全支持会出现 All your dependencies declare support for null-safety.
提示
如果还有不支持空安全
的库–那就再等等。因为自己下载下来修改成本太高,且后期维护成本也不小。
2、 如果都支持了,执行 dart migrate --apply-changes
。执行完毕之后,你的 Dart SDK
版本会自动改为大于2.12.0
。
注意:执行 dart migrate 命令必须确保 SDK
是小于 2.12.0
的; 不加 --apply-changes
的话,会有一个浏览器地址,打开之后,可以在浏览器中进行修改
3 、工具执行完成一定会有一些 错误
,根据自己的业务场景对代码进行更正。
使用官方分享库
前文提到:Freadhub
之前版本使用的分享插件为flutter_share_plugin
,遗憾的是该库未升级 空安全
支持。故使用官方分享插件share
替换。
其实之前使用flutter_share_plugin
的原因在于官方的share
插件功能太单一了只支持分享文本不支持分享文件。如今官方插件支持分享文件且支持空安全
换回来何乐不为。—0.6.5
版本开始增加分享文件功能。
丰富分享效果
之前版本Freadhub
只支持列表长按分享卡片模式,且不支持分享指定App(常见的QQ、微信、微博等)
最新版本支持:资讯详情页分享文本链接到微信好友
、QQ
、微博
、钉钉
、企业微信
、复制链接
、浏览器打开
、更多
。
最新版本:资讯列表及资讯详情分享页支持卡片(图片)分享到微信好友
、朋友圈
、QQ
、微博
、钉钉
、企业微信
、更多
等。–且内置Freadhub卡片
样式及掘金卡片
样式两种效果选择
注:该功能涉及修改 share
插件-版本2.0.1
当前最新版,且只修改了Android
部分,iOS
未找到相应实现方式,且网上实现方式均是2017年
左右代码,拷贝运行未调起相关App。–如有大佬知道iOS
如何使用系统自带分享功能指定App的麻烦不吝赐教,感谢🙏!
Android只支持64位cpu
Freadhub
最初版本Android设置 armeabi-v7a
这样可支持市场绝大多数32及64位cpu手机。现在最新版本1.2.6
设置arm64-v8a
即:只支持64位cpu手机
其它小优化
1、全局增大圆角效果原先的6增大到12-包括AlertDialog
、更多信息Dialog
、底部ModalBottomSheet
、卡片圆角线及Card
、选择主题Button
圆角
2、优化选择主题方式-将原来的折叠形式改为底部弹出ModalBottomSheet
模式
3、修改toast组件oktoast
为bot_toast
,并修改ToastUtitl
默认使用悬浮通知卡片模式
4、去除文本段前段后的空白字符,优化显示更多资讯逻辑。
5、资讯详情页增加底部分享FloatingActionButton
,方便单手操作
当前版本运行环境
使用三方库 2021-6-10
environment:
sdk: ‘>=2.12.0 ❤️.0.0’
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.3
国际化支持
flutter_localizations:
sdk: flutter
状态管理State
provider: ^5.0.0
吐司toast
bot_toast: ^4.0.1
设备信息
device_info_plus: ^1.0.1
应用包信息
package_info_plus: ^1.0.2
WebView
webview_flutter: ^2.0.8
网络请求相关dio
dio: ^4.0.0
加载网络图片
cached_network_image: ^3.0.0
synchronized: ^3.0.0
下拉刷新
pull_to_refresh: ^2.0.0
本地缓存sp
shared_preferences: ^2.0.6
#用于做骨架屏-闪光效果
shimmer: ^2.0.0
#跳转系统浏览器/打电话等
url_launcher: ^6.0.6
#二维码-生成
qr_flutter: ^4.0.0
#工具类
flustars: ^2.0.1
#动态权限申请-8.0.0版本需在Profile申请需要启用的权限 https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler/example/ios/Podfile
permission_handler: ^8.0.1
#文件路径
path_provider: ^2.0.1
#分享文字及文件-注意保存文件位置
#注意0.1.2以后的版本分享图片微信提示获取资源失败,分享到其它平台正常
flutter_share_plugin: 0.1.2
share: ^2.0.1
使用官网分支增加分享特定App/App某个方法 增加判断App是否安装方法-Android
参考官网 https://flutter.dev/docs/development/packages-and-plugins/using-packages
share:
git:
url: git://github.com/AriesHoo/plugins.git
path: packages/share
ref: master
mac分享才有意义web及windows无意义shareFile方法都没有实现shareText也是调用的url_launcher
share_plus: ^2.1.2
自适应断点?—响应式
adaptive_breakpoints: ^0.0.4
desktop窗口控制
desktop_window: ^0.4.0
macos webView
flutter_macos_webview:
path: ./plugins/flutter_macos_webview
运行环境 2021-6-10
% flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.0, on macOS 11.4 20F71 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2020.3.3)
[✓] VS Code (version 1.56.2)
[✓] Connected device (5 available)
• No issues found!
主要功能一览
浅色主题 | 深色主题 |
---|---|
资讯详情 | 分享链接 |
Freadhub卡片 | Freadhub卡片-深色模式 |
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4378bad417094062bc73cdf |
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
e9898923a~tplv-k3u1fbpfcp-zoom-1.image) | |
| 掘金样式卡片 | 掘金样式卡片-深色模式 |
| | |
| 分享微博效果 | 分享邮箱效果 |
图片转存中…(img-M1KuonJa-1638556133887)] |
| 掘金样式卡片 | 掘金样式卡片-深色模式 |
| [外链图片转存中…(img-ILSa31Lb-1638556133887)] | [外链图片转存中…(img-HC629M4z-1638556133887)] |
| 分享微博效果 | 分享邮箱效果 |