丰富的任务图标
在app中,每项任务都会带有一个图标,而app提供了所有 Flutter 自带的 Material design 风格的图标,这些图标,你可以进行任意颜色的自定义
多样的自定义组合
在app中,有多项其他的操作是你可以进行自定义的
比如说主页测滑栏的头部展示内容,当然,还有一些其他的操作,就由你去自行体验了
完成列表
当你完成了一项任务后,这个任务就会从主页转移到完成列表页面,在这里你可以看到任务的一些额外信息
那么,对于使用者的介绍就到这里结束
下面就是为广大开发者们介绍的时间了!
面向开发者的介绍
如果你对于Flutter有着浓厚的兴趣而又迟迟没有行动,那么就不要犹豫了,快点上车吧!这个项目对于新手司机再适合不过了。
各位开发者们请扶好你们的秀发,下面就我来带领各位参观参观这个项目的内部构造
第三方库
项目中使用了一些非常优秀的第三方库,也特别感谢这些开发者们,让我的发量保持健康
下面就是这些控件的信息
项目架构
项目使用的状态管理框架是 Provider ,而整个项目的架构如下
View 层用于展示布局,基本上就是各种被 ChangeNotifierProvider 包裹的 StatelessWidget 页面
Model层用于处理数据,是继承了 ChangeNotifier 的各种Model类
Logic 层不会保存任何数据,只进行逻辑操作
看起来是不是和 Android 中的 MVP 模式很像呢?其实都差不多的,只是名字略有不同罢了,你也可以就把上面的模式当作是 MVP 模式。
Flutter 可以说是特别适合这种架构模式的,因为视图跟随数据而变化,你基本上不用去关心View,只要去对数据进行操作就好了。
目录结构
项目目录结构如下:
├── android
├── build
├── images
├── intl.sh
├── ios
├── lib
├── local_json
├── pubspec.lock
├── pubspec.yaml
├── res
├── svgs
├── test
└── todo_list.iml
先说明一下除了 lib 外的其他目录:
目录说明
images用于存放各种图片
local_json我将Flutter的Icon信息封装成了Json文件存放在这个目录中
res存放“国际化”插件生成的语言文件
svgs存放svg格式的图片
然后是 lib 目录
目录说明
config存放各种配置类,比如Dio请求封装类等
database存放数据库操作相关类
i10n存放国际化相关操作的类
items存放部分List列表的Item类
json各种网络请求、数据库等相关的json文件
logic上面提到的,Locig层的目录
modelModel层的目录
pages存放各个页面,是View层的目录
utils封装好的各️工具类,比如文件操作等
widgets封装好的各种Widget
ToDo
登录功能,账号系统
云端存储数据
附录
app下载
Android 下载地址:
Ios 下载地址:
目前尚未购买一年99$的ios开发者账号,所以暂时没有。
注意:目前项目运行环境是flutter 1.7.8 hotfix的版本,改版本相对以往而言多了一些破坏性修复,
如果你的flutter版本比当前版本低,项目中依赖的某些第三方库将无法运行,到时候请降低他们的版本
下面是在1.5.4版本下需要修改的第三方库
- flutter_svg: ^0.12.4+2
- image_crop: ^0.2.1
- photo_view: ^0.3.3
如果你觉得这个app不错,或者这个项目有帮助到你,不妨给这个项目一个Star吧。项目后面也会持续保持更新和维护!