序言
在跟着wendux大佬的书学习flutter后,开始着手写个app进行实战。考虑到没有服务器,所以主要写工具类,无网络交互的app。之前看了《小狗钱钱》这本书,里面的梦想笔记让我印象深刻,便开始着手写一个记录自己梦想笔记的app。
App 构想
- 创建自己的梦想
1.1 梦想内容和描述
1.2 梦想日记提醒时间,开启后会设置闹钟定时提醒 - 创建梦想日记
2.1 日记标题和内容
2.2 为了方便日记输入,接入苹果的文本扫描功能
2.3 日记每天可多次添加或修改 - 日记走势
3.1 根据每天记录的日记数量进行统计,展示一个charts图 - 设置功能
4.1 支持日夜模式
4.2 支持国际化语言切换
目前大概就这些后面准备持续更新日记内容,比如新增记账日记,记录每一笔开销和收入,然后统计每月的开销和收入,让自己对于自己的账目管理更加一目了然;还有行程记录,比如出行提醒,旅游日记等等。为了后面更好的兼容,在开始构建的时候会预留相应的字段。
App 三方选择
- get
状态管理、国际化、皮肤管理于一体的三方库。当然还有其他功能,目前app比较简单仅使用这些。在选择的时候也在犹豫,要不要用Bloc和Provider,相对来说,另外两个三方要更加轻量一些,provider的侵入性也没有那么强。最后选择get 是考虑到国际化管理和换肤等,使用get一步到位。比如国际化通常会用intl。 - sqflite
用于数据存储,把日记都保存到本地数据库进行缓存。 - shared_preferences 本地轻量数据缓存,主要是用来存语言国际化等配置信息。
- easy_refresh
上拉刷新,下拉加载 - fluttertoast
Toast 弹窗,需要注意如果兼容其他平台(window)的话需要传入context。
剩下的就是更新库到本地,传统技艺:put get
基本上就是用了这些,可以说麻雀虽小,五脏俱全。后面会持续分享app的开发进度,和一些开发中遇到的问题。