/wan_giao

学习flutter,所以系统的做一款应用来实践一下。这款应用也开发了很多内容了,后续还要继续更新功能。开发这个项目主要也是熟悉flutter的树形结构的写法和UI组件,项目中也用到了flutter比较流行的框架。

Primary LanguageDartApache License 2.0Apache-2.0

WanGiao

这是一款用Flutter开发的学习App,主要数据api来自WanAndroid。 GitHub访问太慢了,如果有想看最新代码的可以这里 APK下载

APK下载

前言

学习Flutter也有一段时间了,开发这款App也是系统的使用一些Flutter知识。

Flutter基础

  1. 因为Flutter需要用到Dart语言,所以如果要开发Flutter应用需要先了解一下Dart的基本语法和特点,根据位学习下来的情况,其实和java有一些类似,如果有java基础的话,学习起来会容易一些。
  2. 因为Flutter的应用不像传统的Android项目布局文件是xml形式的,更像google新推出的jectpack compose,是一种声明式的UI,而且是一种树形结构的写法,一开始可能会不习惯,多写一些代码就好了。Flutter基础学习的话可以看看Flutter

开发中使用到框架

1.Getx 项目中的状态管理和路由管理都是使用。GetX集成了状态管理,路由管理,依赖注入,使用GetX可以大大减少页面使用StatefulWidget和setState()的使用,可以做到哪里需要刷新就刷新哪里,更加直观,很类似于Android中的LiveData,数据驱动页面刷新。

2.DioCookie管理 一个App肯定少不了网络交互,这里我使用的是Dio,项目中我进行了二次封装,更好的统一处理返回数据和错误异常提示。

3.sp_util 数据持久化使用了sp_util这个库,其实也就是对[shared_preferences]进行了二次的封装,存储一些对象或者list数据更方便。如果做过Android开发的同学,应该会对shared_preferences比较熟悉,使用方式也比较类似。

4.flutter_screenutil 移动端开发肯定少不了屏幕适配,尤其是Android开发的同学,屏幕适配也是很大的工作量。flutter_screenutil是一个屏幕适配的框架。

5.列表的刷新和上拉加载框架pull_to_refresh

6.图片缓存

7.动态权限

8轮播图

结束

项目还在持续更新当中,也会不断完善代码结构,另外还有以前用kotlin语言开发的WanAndroid项目,有兴趣也可以看看...