Flutter 日记APP-开篇

序言

在跟着wendux大佬的书学习flutter后,开始着手写个app进行实战。考虑到没有服务器,所以主要写工具类,无网络交互的app。之前看了《小狗钱钱》这本书,里面的梦想笔记让我印象深刻,便开始着手写一个记录自己梦想笔记的app。

App 构想

  1. 创建自己的梦想
    1.1 梦想内容和描述
    1.2 梦想日记提醒时间,开启后会设置闹钟定时提醒
  2. 创建梦想日记
    2.1 日记标题和内容
    2.2 为了方便日记输入,接入苹果的文本扫描功能
    2.3 日记每天可多次添加或修改
  3. 日记走势
    3.1 根据每天记录的日记数量进行统计,展示一个charts图
  4. 设置功能
    4.1 支持日夜模式
    4.2 支持国际化语言切换

目前大概就这些后面准备持续更新日记内容,比如新增记账日记,记录每一笔开销和收入,然后统计每月的开销和收入,让自己对于自己的账目管理更加一目了然;还有行程记录,比如出行提醒,旅游日记等等。为了后面更好的兼容,在开始构建的时候会预留相应的字段。

App 三方选择

  1. get
    状态管理、国际化、皮肤管理于一体的三方库。当然还有其他功能,目前app比较简单仅使用这些。在选择的时候也在犹豫,要不要用Bloc和Provider,相对来说,另外两个三方要更加轻量一些,provider的侵入性也没有那么强。最后选择get 是考虑到国际化管理和换肤等,使用get一步到位。比如国际化通常会用intl。
  2. sqflite
    用于数据存储,把日记都保存到本地数据库进行缓存。
  3. shared_preferences 本地轻量数据缓存,主要是用来存语言国际化等配置信息。
  4. easy_refresh
    上拉刷新,下拉加载
  5. fluttertoast
    Toast 弹窗,需要注意如果兼容其他平台(window)的话需要传入context。

剩下的就是更新库到本地,传统技艺:put get

基本上就是用了这些,可以说麻雀虽小,五脏俱全。后面会持续分享app的开发进度,和一些开发中遇到的问题。

相关推荐
大龄秃头程序员1 小时前
Flutter 最少代码验证:为什么子 Isolate 调原生,一定要先回到主 Isolate?
flutter
FungLeo2 小时前
成为全栈·Flutter App 篇·分类、标签与搜索:移动端内容发现
flutter·移动开发·标签·搜索·分类管理·成为全栈
庚鑫3 小时前
iOS 27 兼容放大模式下,keyboardFrame 与 UIScreen.bounds 的坐标差异
ios·objective-c
m0_738185824 小时前
Flutter 鸿蒙化实战:the_apple_sign_in 适配 OpenHarmony,Apple 登录
flutter·华为·harmonyos·鸿蒙
HEJOO94 小时前
iOS 高效绘图:从 Core Graphics 到 Metal 的实践指南
macos·ios·cocoa
HEJOO94 小时前
iOS 性能优化全面详解
ios·性能优化·cocoa
ii_best4 小时前
iOS 自动化脚本工具更新|按键精灵 适配 Relaxin(青霉素)越狱,兼容 iOS16~iOS26 主流越狱环境
ios·自动化·按键精灵
m0_738185824 小时前
Flutter 鸿蒙化实战:umeng_analytics_plugin 适配 OpenHarmony,友盟统计
flutter·华为·harmonyos·鸿蒙
万年咸鱼4 小时前
iOS 27 适配笔记
笔记·ios·cocoa
HEJOO95 小时前
iOS Dark Mode 适配笔记
笔记·ios·cocoa