2026-03-08 12:48:06 +08:00
2026-03-08 01:43:26 +08:00
2026-03-08 01:43:26 +08:00
2026-03-08 12:48:06 +08:00
2026-03-05 10:06:32 +08:00
2026-03-05 10:06:32 +08:00
2026-03-05 10:06:32 +08:00
2026-03-05 10:06:32 +08:00
2026-03-06 13:49:13 +08:00
2026-03-08 01:43:26 +08:00
2026-03-08 01:43:26 +08:00
2026-03-07 14:58:26 +08:00

MookNote - Flutter 观影阅读笔记应用

项目简介

MookNote 是一款用于记录观影、阅读和笔记的 Android 应用,使用 Flutter 框架开发。

功能特性

主界面

  • 顶部导航栏: 左侧菜单按钮 + 标题 + 搜索按钮
  • 三个标签页: 观影、阅读、笔记
  • 底部导航栏: 主页、新增、我的

观影模块

  • 三个状态筛选:已看、想看、在看
  • 显示影片标题、年份、评分、观看日期、笔记
  • 支持添加和管理观影记录

阅读模块

  • 三个状态筛选:读完、在读、准备读
  • 显示书籍标题、作者、评分、阅读日期、笔记
  • 支持添加和管理书籍记录

笔记模块

  • 显示所有笔记列表
  • 支持标签分类
  • 显示笔记内容和更新时间

侧边菜单

  • GitHub 风格热力图(年度记录可视化)
  • 统计功能入口
  • 回收站入口
  • 设置入口

环境要求

必需软件

  1. Flutter SDK (建议 3.5.0+)

  2. Android Studio

  3. Android SDK (通过 Android Studio 安装)

环境配置步骤

Windows 系统

  1. 下载并安装 Flutter SDK

    - 下载 Flutter SDK zip 文件
    - 解压到 C:\src\flutter或其他非系统目录
    - 将 C:\src\flutter\bin 添加到系统环境变量 Path
    
  2. 验证 Flutter 安装

    flutter --version
    flutter doctor
    
  3. 安装 Android Studio

    - 下载并安装 Android Studio
    - 打开 Android Studio → Settings → Appearance & Behavior → System Settings → Android SDK
    - 安装 Android SDK Platform建议 API 33+
    - 安装 Android SDK Build-Tools
    - 安装 Android Emulator可选用于模拟器测试
    
  4. 接受 Android 许可证

    flutter doctor --android-licenses
    

运行项目

1. 克隆/复制项目后,进入项目目录

cd mooknote

2. 安装依赖

flutter pub get
# 如果失败可以先添加代理再进行get
$env:HTTP_PROXY="http://127.0.0.1:10808"
$env:HTTPS_PROXY="http://127.0.0.1:10808"

3. 连接设备或启动模拟器

  • 连接 Android 真机(需开启 USB 调试)
  • 或启动 Android 模拟器

4. 运行应用

flutter run

或使用 Android Studio:

  • 打开项目
  • 点击运行按钮 (Run)

技术栈

  • Flutter: 跨平台移动应用框架
  • Dart: 编程语言
  • Provider: 状态管理
  • Material Design 3: UI 设计规范

后续开发计划

数据存储

  • 集成 SQLite 数据库sqflite 包)
  • 实现本地数据持久化
  • 数据备份与恢复

功能增强

  • 添加/编辑表单页面
  • 详情页完整实现
  • 搜索功能
  • 统计图表页面
  • 回收站功能

高级功能

  • 导出功能JSON
  • 云同步

双向同步规则

双向同步的规则如下:

1. 数据库文件同步规则:

情况 操作
远程数据库不存在 上传本地数据库
本地较新(>10秒 上传本地数据库
远程较新(>10秒 下载远程数据库
时间相近±10秒 不传输数据库,仅同步图片

2. 图片同步规则:

情况 操作
本地有,远程没有 上传到远程
远程有,本地没有 下载到本地
两边都有 不处理(暂不支持基于时间戳的图片同步)

3. 同步方向选项:

  • 双向同步 - 按上述规则自动判断上传/下载
  • 仅上传 - 只上传本地数据库和所有本地图片
  • 仅下载 - 只下载远程数据库和所有远程图片

4. 时间戳比较:

// 10秒误差范围内视为相同 
if (timeDiff > 10) {  
    // 本地较新,上传 
} else if (timeDiff < -10) 
{  
    // 远程较新,下载 
} else 
{  
    // 时间相近,仅同步图片 
}

5. 文件路径:

  • 数据库:/mooknote/mooknote.db
  • 图片:/mooknote/images/图片文件名

注意:

  • 目前图片同步是基于文件存在性判断,不是基于修改时间
  • 下载新数据库后,应用会自动重新加载数据(调用 Provider 的 load 方法)
  • 首次同步会创建远程目录结构
Description
记录观影、阅读和笔记的 Android 软件
Readme AGPL-3.0 68 MiB
Languages
Dart 94.2%
HTML 4.1%
C++ 0.8%
CMake 0.6%
Swift 0.1%
Other 0.1%