先看下用到的基本的第三方库(上拉加载,下拉刷新的库打算后期比较懂了后自己尝试封装下,提升下技能):
cached_network_image: ^0.8.0
permission_handler: ^3.1.0 # 如果No permissions found in manifest, flutter clean后重新安装运行 https://github.com/BaseflowIT/flutter-permission-handler/issues/91
fluttertoast: ^3.1.0 # Androidx兼容https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility https://blog.csdn.net/I123456789T/article/details/89414324
image_picker: ^0.6.0+8 # https://pub.dev/packages/image_picker
dio: 2.1.6 # http
shared_preferences: ^0.5.3
event_bus: ^1.1.0
flutter_webview_plugin: ^0.3.5
总体效果
1. 关于Androidx兼容性问题,官方有介绍,照着整就行。其中注意:一开始fluttertoast我用的版本有点低,导致编译报错,纠结了半天,然后找到官方最新版本号,就解决了这个问题了。AndroidX compatibility 官方的看着如果困难的话,来个别人做的总结,好伐:https://blog.csdn.net/I123456789T/article/details/89414324
2. 关于Android权限配置。虽然我用的第三方的permission_handler权限库,但是了,还是需要配置android/app/src/main/AndroidManifest.xml下的权限,不然打包后手机上网络等权限有问题,同时也无法动态申请权限!
3. 打包配置来简单说下吧:
3.1 首先创建文件key.properties 放到工程的 android/下,
3.2 然后android/app/build.gradle下面加载这个key.properties,然后进行打包信息配置,然后flutter build apk打包即可
4. 关于asset资源使用,来个图就好
5. 关于工程结构,比较不好,也贴一贴,暂时有个思路。后续迭代完善封装
目前页面还有一些bug,跳转也有一些进度圈未消失的问题。同时重用的界面也未进行封装。整体还需要等对控件比较熟悉以后,方可进行完善。不然用的不行,没办法做进一步封装,也没办法尝试搞什么刷新加载库。
经过一个多星期的实践以及瞎几把搞了搞, 还是有收获。也明确了自己还有那几个点:
1. 首先控件根本不熟悉,官方文档介绍少的自己就很难下手或者说调试到自己想要的布局效果;
2. 控件的属性配置等有冗余代码,还是因为对控件用法不熟悉;
3. 对控件嵌套的效果很多不知道,导致只能来回使用那几个熟悉的控件做列表,应该还有更好的方式才对!
4. 是该需要有个深入的学习以及更多的界面练习才行,就像当初学约束布局MonkeyLei:Android-ConstraintLayout(约束布局)-替代线性相对复杂布局案例一样,不也是搞了一久,然后结合项目也做了锻炼才基本ok的了。
以上项目是个人项目,设计到一个请求连接的东西,就暂时不公开,主要是讲一些思路吧。也没什么高深的东西。希望大家可以共勉。。。有问题可以一起学习,交流,进步!
这个项目目前会结合Vue(Vue也是因为之前有参与公司项目,所以会一些就正好用来做个人项目了)的前端页面,也是小萌新自己搞了一个简单的项目,并且可以使用的状态。就一个简单列表页面,这是一个项目地址(用来实践学习的)NetNut/Vue_Html_Div_Css学习
附录:过程中遇到问题首先看官方,然后看中文官方,不行再看第三方,这样能较好的锻炼独立的思维方式,我习惯记录一些链接啥的,你也可以试试。。。有些问题可能会上stackoverflow,我很多刁钻问题在上面找到了答案,习惯就好!采坑总是难免的....
基本上flutter第三方库都在image_picker | Flutter Package pub上面,如果我们是新开的项目,可以争取直接用最新的版本。目前小萌新的项目基本都是最新版本,也都兼容性ok。一般主流的开源库,更新频率还是有保证的。
shared_preferences | Flutter Packagepub.flutter-io.cn