别人都唱为你写诗,咱这做程序员的也没啥本事就为儿子写个 App 吧。

module 技术选型
数据库 room
音视频 androidx.media
首页 FragmentActivity + Fragment
includeBuild Gradle 复合构建,完成多版本统一依赖版本号控制 https://segmentfault.com/a/1190000010129596
上拉加载与下拉刷新 使用多 type 对应的 recyclerview 的框架,配合新增的自定义 adapter 完成下拉加载与下拉刷新的无感知
content1 content2

20210912 第一阶段

完成了 百分宝贝 的第一阶段,首页框架初步完成,使用 假数据 去做的 UI 填充,下一步就是增加交互,增加数据库存储增加和减少分数的存储,另外需要设计和实现项目的增删改查的交互,例如单击 item 的时候可以选择更改此项的内容还是删除此条目。

待添加功能 涉及模块
条目修改 单击条目弹窗提示可以拥有的交互,例如删除、修改等
数据库设计 设计几个关键的 table
room 使用学习 学习 room 的创建与使用 例如增删改查
增加 viewmodel 完成对数据库的操作 在 viewmodel 里与数据库交互
viewmodel 使用 flow 处理数据 在 viewmodel 中使用 flow 在 io 线程去操作数据的读取与转换,在 main 线程去更新 livedata 数据
使用 meituan 老哥的 livedatabus 使用基于 livedatabus 的事件通知框架,正好更好的理解他的思想,或者自己直接把代码撸下来,在源码基础上做一些优化也是可以的,没看他就是使用装饰器去修改之前基于反射的实现吗,反射有两个问题一个是效率有轻微影响,再者是反射可能有些 api 谷歌会屏蔽
content1 content2
content1 content2

下一版本规划

增加语音日记功能,增加语音导出功能(导出为 zip 文件,解压之后都是 mp3)

研究那个坚果云的备份机制是怎样的,尝试接入对应的 api 使用云备份本地数据。