WanGiao
这是一款用Flutter开发的学习App,主要数据api来自WanAndroid。 GitHub访问太慢了,如果有想看最新代码的可以这里 APK下载
前言
学习Flutter也有一段时间了,开发这款App也是系统的使用一些Flutter知识。
Flutter基础
- 因为Flutter需要用到Dart语言,所以如果要开发Flutter应用需要先了解一下Dart的基本语法和特点,根据位学习下来的情况,其实和java有一些类似,如果有java基础的话,学习起来会容易一些。
- 因为Flutter的应用不像传统的Android项目布局文件是xml形式的,更像google新推出的jectpack compose,是一种声明式的UI,而且是一种树形结构的写法,一开始可能会不习惯,多写一些代码就好了。Flutter基础学习的话可以看看Flutter。
开发中使用到框架
1.Getx 项目中的状态管理和路由管理都是使用。GetX集成了状态管理,路由管理,依赖注入,使用GetX可以大大减少页面使用StatefulWidget和setState()的使用,可以做到哪里需要刷新就刷新哪里,更加直观,很类似于Android中的LiveData,数据驱动页面刷新。
2.Dio,Cookie管理 一个App肯定少不了网络交互,这里我使用的是Dio,项目中我进行了二次封装,更好的统一处理返回数据和错误异常提示。
3.sp_util 数据持久化使用了sp_util这个库,其实也就是对[shared_preferences]进行了二次的封装,存储一些对象或者list数据更方便。如果做过Android开发的同学,应该会对shared_preferences比较熟悉,使用方式也比较类似。
4.flutter_screenutil 移动端开发肯定少不了屏幕适配,尤其是Android开发的同学,屏幕适配也是很大的工作量。flutter_screenutil是一个屏幕适配的框架。
6.图片缓存
7.动态权限
8轮播图
结束
项目还在持续更新当中,也会不断完善代码结构,另外还有以前用kotlin语言开发的WanAndroid项目,有兴趣也可以看看...