可定制的笔记应用程序 Flutter 和 Kotlin 源代码

2026-02-07 0 310

可定制的笔记应用程序 Flutter 和 Kotlin 源代码

目前它仅在 Android 上可用,但应该可以相对轻松地移植到其他平台,因为源代码是用 Flutter 编写的。

变更日志

v1.3.0

新增页面和分类背景图片设置

添加了强制同步指示器

修复自动同步不起作用的问题

v1.2.1

添加了与 Google 的同步

修复排序问题

导出时压缩 DB

免费导入和同步功能

免费提供文本格式和注释功能

v1.1.0

添加笔记查看模式

新增列表查看模式

添加排序选项:自定义顺序 | 标题(描述)| 创建日期(描述)| 更新日期(描述)
添加了克隆注释

仅在内容更改时刷新注释更新日期

小修复

特征

用跨平台语言 Flutter 和 Kotlin 编写

已经集成了用于高级升级的应用内购买

对主要应用程序功能使用最佳包,例如用于文本编辑器的 flutter_quill、用于共享的 share_plus 以及用于主机 API 抽象的 Pigeon

使用 SQLite 进行高性能数据查找

自定义数据库迁移系统处理数据库版本控制并允许您轻松添加数据库迁移

惰性笔记列表项呈现高性能列表,处理大量笔记列表没有问题,例如。 即使有数以万计的音符,也只有其中的少数被处理和渲染

该应用程序是使用 Flutter 和 Kotlin 构建的。 我使用 VSCode 作为编辑器,并假设您也会这样做。

局限性

该代码是专门为Android设计的,没有考虑任何其他平台。

入门

获取 google-services.json 并将其放入 android/app 文件夹中。 您可能想阅读将 Firebase 添加到您的 Android 项目 | Android 版 Firebase (google.com)

将 android/key.properties.example 复制到 android/key.properties 并进行相应更新

编辑 rename-app 中的变量部分以反映您的新应用程序和包名称

在项目文件夹中运行:./rename-app

测试构建项目,请参阅下面的部署部分

构建疑难解答

如果构建失败,请尝试这些。

杀死 gradle: pgrep -f gradle

清理缓存:flutter clean

清理 gradle 缓存(在 android/ 中运行):./gradlew clean

或 rm -rf android/.gradle

** 请注意,您应该设置 Play 商店 API 访问权限才能使播放计费正常工作,当您的应用内产品显示在 UpgradeDialog 上时,您可以确认播放计费有效。

部署

没有服务器部署,因此这只是构建要上传到 Google Play 商店的包。

假设您已经安装了 Flutter,则部署很简单,只需在项目文件夹中运行以下脚本即可:

./bump-buildversion
这将增加 pubspec.yaml 中的构建版本(文件中 version: 1.0.0+1 行中 + 号后面的数字)

./build-appbundle
这将简单地运行 flutter build appbundle,它会生成 .aab 文件,您在创建版本时需要将其上传到 Google Play 商店

设计细节

该应用程序由几个屏幕组成,其中有订阅某些状态的小部件。 状态只是一组反应变量和一些用于执行应用程序业务逻辑的方法。 各州可能会使用一些处理读写的存储库
数据到数据库。

逻辑视图

屏幕

该应用程序仅由几个屏幕组成:

主屏幕:这是显示当前所选类别的笔记列表的主屏幕。 用户可以从类别选项卡列表中选择活动类别。 在顶部栏上有一些当前配置为的按钮
显示,它们是:搜索、添加注释、紧凑/完整视图、设置和菜单按钮

设置屏幕:显示用于配置哪些按钮在顶部栏上可见以及主屏幕上的注释项目的选项。 还有一些外观设置仅在应用程序的专业版中可用(用户需要购买付费升级)。
还有导出或导入数据的选项以及管理隐藏笔记密码的选项

ArchiveScreen:显示已存档笔记的列表。 用户可以在此处选择要取消存档或删除的笔记。 删除的笔记将显示在垃圾箱屏幕上

TrashScreen:显示已删除笔记的列表。 在这里用户可以选择选择要恢复/取消删除或永久删除的笔记

NoteScreen:显示注释编辑器。 该编辑器支持富文本编辑和嵌入(仅适用于入门版)。 用户还可以添加显示在文本和图像/视频嵌入顶部的注释/绘图

状态

状态根据其域进行分割,以最大限度地减少小部件更新(只有订阅状态的小部件才会被重建)。 这些州是:

CategoryState:处理类别业务逻辑,包括:添加、删除、修补、重新排序类别

NoteState:处理注释业务逻辑,包括:添加、删除、归档、恢复、重新排序以及获取已归档、删除、隐藏和搜索查询过滤器的当前活动过滤器的注释

DragState:提供注释和类别拖动状态

SettingsState:处理设置业务逻辑

EditState:处理笔记编辑业务逻辑

焦点状态

VendingState:提供当前许可证层状态

存储库

应用程序中很少有存储库来处理向数据库读取和写入数据。 它们根据域进行分组,分别是:

类别存储库

笔记库

设置存储库

自动售货库

数据库

该应用程序使用 SQLite 存储所有数据,包括注释、类别、设置和缓存的购买。

数据库迁移

迁移数据库只需打开 repositories/migrations.dart 文件并将另一个 migrate() 调用添加到 migrateAll 函数中列表的底部即可完成。

** 请注意,发布应用程序后不应重新排序 migrate() 调用以保持正确的版本检查顺序,否则某些迁移将不会执行。 这是使用具有更多样板的 switch/case 结构的权衡
添加迁移时。

应用程序

FunNotes 是一款可定制的笔记应用程序,专注于文本编辑和个性化。 从多种颜色和按钮可见性中进行选择,让您的笔记真正属于您自己。 有了 FunNotes,记笔记从未如此有趣和轻松!

特征

轻松管理笔记:添加、删除、固定、隐藏、编辑、重新排序、移动到其他类别、存档、永久删除、取消存档和取消删除。

创建类别来组织笔记并通过添加、删除、重命名和重新排序选项对其进行自定义。

富文本格式选项:粗体、斜体、字体、颜色、背景颜色等等。 将图像、视频、表情符号插入笔记中

注释和绘图:在笔记中创建它们

以图像形式分享您的笔记

自定义 FunNotes 的可见按钮和外观,包括暗模式、基本主题、默认笔记背景/图钉颜色、每个笔记背景/图钉颜色等选项

轻松搜索笔记并突出显示找到的搜索词

导出并备份您的笔记以确保您的数据始终安全

导入和恢复您的笔记以在设备之间切换或恢复丢失的数据

这些只是使 FunNotes 成为终极笔记工具的众多强大功能中的一小部分。 立即尝试 FunNotes,开始以有趣且个性化的方式记笔记!

** 请注意,提到的某些功能可能是高级功能,需要付费升级。 请参阅下面的升级选项了解更多详细信息。

升级选项

您可以通过应用内购买轻松升级和访问高级功能。

专业版

所有免费功能

定制

我们的路线图中计划开发许多功能。 我们将非常感谢您对该应用程序的支持。 谢谢。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 可定制的笔记应用程序 Flutter 和 Kotlin 源代码 https://www.zuozi.net/57033.html

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务