Przeglądaj źródła

修改课件显示的文件夹规则

infinite.likelins 5 lat temu
rodzic
commit
28e00b4170
96 zmienionych plików z 142 dodań i 55 usunięć
  1. 37 3
      README.MD
  2. 0 0
      app/src/main/assets/chapter/先导一《我是小贝的好朋友》/cover.webp
  3. 0 0
      app/src/main/assets/chapter/先导一《我是小贝的好朋友》/resources/1.webp
  4. 0 0
      app/src/main/assets/chapter/先导一《机器人的世界》/cover.webp
  5. BIN
      app/src/main/assets/chapter/先导一《机器人的世界》/resources/1.webp
  6. 0 0
      app/src/main/assets/chapter/先导三《一起去游玩》/cover.webp
  7. BIN
      app/src/main/assets/chapter/先导三《一起去游玩》/resources/1.webp
  8. 0 0
      app/src/main/assets/chapter/先导三《爱心小天使》/cover.webp
  9. BIN
      app/src/main/assets/chapter/先导三《爱心小天使》/resources/1.webp
  10. 0 0
      app/src/main/assets/chapter/先导二《跳跳镇》/cover.webp
  11. BIN
      app/src/main/assets/chapter/先导二《跳跳镇》/resources/1.webp
  12. 0 0
      app/src/main/assets/chapter/先导二《送小贝去游玩》/cover.webp
  13. BIN
      app/src/main/assets/chapter/先导二《送小贝去游玩》/resources/1.webp
  14. 0 0
      app/src/main/assets/chapter/先导五《场景模块》/cover.webp
  15. BIN
      app/src/main/assets/chapter/先导五《场景模块》/resources/1.webp
  16. 0 0
      app/src/main/assets/chapter/先导四《一起去游乐园》/cover.webp
  17. BIN
      app/src/main/assets/chapter/先导四《一起去游乐园》/resources/1.webp
  18. 0 0
      app/src/main/assets/chapter/先导四《遗失的金币》/cover.webp
  19. BIN
      app/src/main/assets/chapter/先导四《遗失的金币》/resources/1.webp
  20. 0 0
      app/src/main/assets/chapter/第一单元《我会对“机器人”发出指令》/cover.webp
  21. BIN
      app/src/main/assets/chapter/第一单元《我会对“机器人”发出指令》/resources/1.webp
  22. BIN
      app/src/main/assets/chapter/第一单元《我是小贝的好朋友》/cover.webp
  23. BIN
      app/src/main/assets/chapter/第一单元《我是小贝的好朋友》/resources/1.webp
  24. 0 0
      app/src/main/assets/chapter/第一单元《敬业的公交车司机》/cover.webp
  25. BIN
      app/src/main/assets/chapter/第一单元《敬业的公交车司机》/resources/1.webp
  26. 0 0
      app/src/main/assets/chapter/第七单元《乐于助人好宝宝》/cover.webp
  27. BIN
      app/src/main/assets/chapter/第七单元《乐于助人好宝宝》/resources/1.webp
  28. 0 0
      app/src/main/assets/chapter/第七单元《最短的路》/cover.webp
  29. BIN
      app/src/main/assets/chapter/第七单元《最短的路》/resources/1.webp
  30. 0 0
      app/src/main/assets/chapter/第七单元《火山》/cover.webp
  31. BIN
      app/src/main/assets/chapter/第七单元《火山》/resources/1.webp
  32. 0 0
      app/src/main/assets/chapter/第三单元《奇幻寻宝》/cover.webp
  33. BIN
      app/src/main/assets/chapter/第三单元《奇幻寻宝》/resources/1.webp
  34. 0 0
      app/src/main/assets/chapter/第三单元《这里危险,不能走》/cover.webp
  35. BIN
      app/src/main/assets/chapter/第三单元《这里危险,不能走》/resources/1.webp
  36. 0 0
      app/src/main/assets/chapter/第三单元《送小贝去游玩》/cover.webp
  37. BIN
      app/src/main/assets/chapter/第三单元《送小贝去游玩》/resources/1.webp
  38. 0 0
      app/src/main/assets/chapter/第九单元《创想天地》/cover.webp
  39. BIN
      app/src/main/assets/chapter/第九单元《创想天地》/resources/1.webp
  40. 0 0
      app/src/main/assets/chapter/第九单元《梦幻舞会》/cover.webp
  41. BIN
      app/src/main/assets/chapter/第九单元《梦幻舞会》/resources/1.webp
  42. 0 0
      app/src/main/assets/chapter/第九单元《谁的步数少?》/cover.webp
  43. BIN
      app/src/main/assets/chapter/第九单元《谁的步数少?》/resources/1.webp
  44. 0 0
      app/src/main/assets/chapter/第二单元《小小道路工程师》/cover.webp
  45. BIN
      app/src/main/assets/chapter/第二单元《小小道路工程师》/resources/1.webp
  46. 0 0
      app/src/main/assets/chapter/第二单元《小贝的好朋友》/cover.webp
  47. BIN
      app/src/main/assets/chapter/第二单元《小贝的好朋友》/resources/1.webp
  48. 0 0
      app/src/main/assets/chapter/第二单元《我会输入指令》/cover.webp
  49. BIN
      app/src/main/assets/chapter/第二单元《我会输入指令》/resources/1.webp
  50. 0 0
      app/src/main/assets/chapter/第五单元《一起去游乐园》/cover.webp
  51. BIN
      app/src/main/assets/chapter/第五单元《一起去游乐园》/resources/1.webp
  52. 0 0
      app/src/main/assets/chapter/第五单元《寻找秘密安全通道》/cover.webp
  53. BIN
      app/src/main/assets/chapter/第五单元《寻找秘密安全通道》/resources/1.webp
  54. 0 0
      app/src/main/assets/chapter/第五单元《英雄无敌》/cover.webp
  55. BIN
      app/src/main/assets/chapter/第五单元《英雄无敌》/resources/1.webp
  56. 0 0
      app/src/main/assets/chapter/第八单元《冲破障碍》/cover.webp
  57. BIN
      app/src/main/assets/chapter/第八单元《冲破障碍》/resources/1.webp
  58. 0 0
      app/src/main/assets/chapter/第八单元《教练与玩家》/cover.webp
  59. BIN
      app/src/main/assets/chapter/第八单元《教练与玩家》/resources/1.webp
  60. 0 0
      app/src/main/assets/chapter/第八单元《解决问题小能手》/cover.webp
  61. BIN
      app/src/main/assets/chapter/第八单元《解决问题小能手》/resources/1.webp
  62. 0 0
      app/src/main/assets/chapter/第六单元《丢失的金币》/cover.webp
  63. BIN
      app/src/main/assets/chapter/第六单元《丢失的金币》/resources/1.webp
  64. 0 0
      app/src/main/assets/chapter/第六单元《危险重重》/cover.webp
  65. BIN
      app/src/main/assets/chapter/第六单元《危险重重》/resources/1.webp
  66. 0 0
      app/src/main/assets/chapter/第六单元《弯弯的路》/cover.webp
  67. BIN
      app/src/main/assets/chapter/第六单元《弯弯的路》/resources/1.webp
  68. 0 0
      app/src/main/assets/chapter/第十一单元《哪条路更短?》/cover.webp
  69. BIN
      app/src/main/assets/chapter/第十一单元《哪条路更短?》/resources/1.webp
  70. 0 0
      app/src/main/assets/chapter/第十一单元《我能读懂指令》/cover.webp
  71. BIN
      app/src/main/assets/chapter/第十一单元《我能读懂指令》/resources/1.webp
  72. 0 0
      app/src/main/assets/chapter/第十三单元《创想天地》/cover.webp
  73. BIN
      app/src/main/assets/chapter/第十三单元《创想天地》/resources/1.webp
  74. 0 0
      app/src/main/assets/chapter/第十二单元《教练与玩家》/cover.webp
  75. BIN
      app/src/main/assets/chapter/第十二单元《教练与玩家》/resources/1.webp
  76. 0 0
      app/src/main/assets/chapter/第十单元《循环》/cover.webp
  77. BIN
      app/src/main/assets/chapter/第十单元《循环》/resources/1.webp
  78. 0 0
      app/src/main/assets/chapter/第十单元《规划路线我最行》/cover.webp
  79. BIN
      app/src/main/assets/chapter/第十单元《规划路线我最行》/resources/1.webp
  80. 0 0
      app/src/main/assets/chapter/第四单元《修理跳跳镇的路》/cover.webp
  81. BIN
      app/src/main/assets/chapter/第四单元《修理跳跳镇的路》/resources/1.webp
  82. 0 0
      app/src/main/assets/chapter/第四单元《我会调试》/cover.webp
  83. BIN
      app/src/main/assets/chapter/第四单元《我会调试》/resources/1.webp
  84. 0 0
      app/src/main/assets/chapter/第四单元《高级道路工程师》/cover.webp
  85. BIN
      app/src/main/assets/chapter/第四单元《高级道路工程师》/resources/1.webp
  86. 1 1
      app/src/main/java/com/bearya/kids/chapter/ChapterAdapter.kt
  87. 2 14
      app/src/main/java/com/bearya/kids/chapter/ChapterFragment.kt
  88. 15 4
      app/src/main/java/com/bearya/kids/chapter/ChapterViewModel.kt
  89. 6 3
      app/src/main/java/com/bearya/kids/grade/GradeFragment.kt
  90. 28 18
      app/src/main/java/com/bearya/kids/section/SectionAdapter.kt
  91. 3 3
      app/src/main/java/com/bearya/kids/section/SectionFragment.kt
  92. 7 0
      app/src/main/res/layout/fragment_chapter.xml
  93. 1 6
      app/src/main/res/navigation/main_navigation.xml
  94. 3 3
      app/version.properties
  95. 30 0
      数据库更新版本.md
  96. 9 0
      更新日志.md

+ 37 - 3
README.MD

@@ -1,7 +1,7 @@
 # 幼儿园项目创想天地幼儿课件
 
-![Version](https://img.shields.io/badge/Version-1.0.0-brightgreen.svg?style=flat)
-![VersionCode](https://img.shields.io/badge/VersionCode-1-brightgreen.svg?style=flat)
+![Version](https://img.shields.io/badge/Version-1.1.6-brightgreen.svg?style=flat)
+![VersionCode](https://img.shields.io/badge/VersionCode-234-brightgreen.svg?style=flat)
 ![数据库版本](https://img.shields.io/badge/DatabaseVersion-1-brightgreen.svg?style=flat)
 ![AndroidAPI](https://img.shields.io/badge/AndroidAPI-21+-brightgreen.svg?style=flat)
 
@@ -11,4 +11,38 @@
 
 #### 工程构建模块 : include ':app'
 
-#### v-X.Y.Z.B : X 主版本号 , Y 小版本号 , Z bug修复版本号 , B 编译版本号
+#### v-X.Y.Z.B : X 主版本号 , Y 小版本号 , Z bug修复版本号 , B 编译版本号
+
+## 关于项目工程
+
+- 项目使用kotlin + Coroutines
+
+- 项目是基于AndroidX和AndroidJetpack构建
+
+- 项目使用单activity+多Fragment,没有封装基类等,均使用AndroidX的兼容类,避免封装的基类带来的不便。如果需要基类的基本需求,使用Kotlin的类扩展语法糖
+
+- **集成框架基础 :** androidx.leanback + andoridx.core + KTX + Lifecycle + ViewModel + LiveData + Coroutines + DataBinding + Room + Paging + Navigation + Constraintlayout + WorkManager + Viewpager2
+
+- **以andoridxd的Fragment为标准新页面的基类,不重写基础类**
+
+- **(重要)(重要)(重要) 日志信息记录:约定日志记录必须使用Logger的日志记录框架**
+
+- **(重要) (重要) 项目不修改versionCode(编译自动更新),只需要修改version版本即可**
+
+- **(重要) 工具扩展方法在library包中定义**
+
+- **(重要) (重要) 图片放置位置与drawable下,mipmap 是放置应用图标的文件夹**
+
+- **(重要) 数据的获取不要再Activity/Fragment中去做,需要在data/repository 或者是在ViewModel中完成**
+
+- **(重要) API接口统一写在data/component中,接口信息是使用新的Retrofit2.6以上版本,代码可以简化请求,注意异常的捕获**
+
+
+- **(重要) (重要) Room数据库升级可在AppDatabase中添加迁移信息,迁移信息可以在com.bearya.data.migrations中定义,预打包的数据库文件在assets/database/manual.db**
+
+## 关于课件文件夹目录添加
+
+- 1.  **课件的文件夹的名称就是课程的名称。**
+- 2.  **课件的封面放在课件的文件夹 assets/chapter/课程名称/ 下,命名统一为cover.webp。**
+- 3.  **课件的实际内容放在课件文件夹下,新建一个的 assets/chapter/课程名称/resource/ 文件夹中,命名需要以阿拉伯数字定义顺序。**
+- 4.  **课件可以使用webp格式文件**

app/src/main/assets/chapter/先导一《我是小贝的好朋友》/先导一《我是小贝的好朋友》.webp → app/src/main/assets/chapter/先导一《我是小贝的好朋友》/cover.webp


app/src/main/assets/chapter/第一单元《我是小贝的好朋友》/第一单元《我是小贝的好朋友》.webp → app/src/main/assets/chapter/先导一《我是小贝的好朋友》/resources/1.webp


app/src/main/assets/chapter/先导一《机器人的世界》/先导一《机器人的世界》.webp → app/src/main/assets/chapter/先导一《机器人的世界》/cover.webp


BIN
app/src/main/assets/chapter/先导一《机器人的世界》/resources/1.webp


app/src/main/assets/chapter/先导三《一起去游玩》/先导三《一起去游玩》.webp → app/src/main/assets/chapter/先导三《一起去游玩》/cover.webp


BIN
app/src/main/assets/chapter/先导三《一起去游玩》/resources/1.webp


app/src/main/assets/chapter/先导三《爱心小天使》/先导三《爱心小天使》.webp → app/src/main/assets/chapter/先导三《爱心小天使》/cover.webp


BIN
app/src/main/assets/chapter/先导三《爱心小天使》/resources/1.webp


app/src/main/assets/chapter/先导二《跳跳镇》/先导二《跳跳镇》.webp → app/src/main/assets/chapter/先导二《跳跳镇》/cover.webp


BIN
app/src/main/assets/chapter/先导二《跳跳镇》/resources/1.webp


app/src/main/assets/chapter/先导二《送小贝去游玩》/先导二《送小贝去游玩》.webp → app/src/main/assets/chapter/先导二《送小贝去游玩》/cover.webp


BIN
app/src/main/assets/chapter/先导二《送小贝去游玩》/resources/1.webp


app/src/main/assets/chapter/先导五《场景模块》/先导五《场景模块》.webp → app/src/main/assets/chapter/先导五《场景模块》/cover.webp


BIN
app/src/main/assets/chapter/先导五《场景模块》/resources/1.webp


app/src/main/assets/chapter/先导四《一起去游乐园》/先导四《一起去游乐园》.webp → app/src/main/assets/chapter/先导四《一起去游乐园》/cover.webp


BIN
app/src/main/assets/chapter/先导四《一起去游乐园》/resources/1.webp


app/src/main/assets/chapter/先导四《遗失的金币》/先导四《遗失的金币》.webp → app/src/main/assets/chapter/先导四《遗失的金币》/cover.webp


BIN
app/src/main/assets/chapter/先导四《遗失的金币》/resources/1.webp


app/src/main/assets/chapter/第一单元《我会对“机器人”发出指令》/第一单元《我会对“机器人”发出指令》.webp → app/src/main/assets/chapter/第一单元《我会对“机器人”发出指令》/cover.webp


BIN
app/src/main/assets/chapter/第一单元《我会对“机器人”发出指令》/resources/1.webp


BIN
app/src/main/assets/chapter/第一单元《我是小贝的好朋友》/cover.webp


BIN
app/src/main/assets/chapter/第一单元《我是小贝的好朋友》/resources/1.webp


app/src/main/assets/chapter/第一单元《敬业的公交车司机》/第一单元《敬业的公交车司机》.webp → app/src/main/assets/chapter/第一单元《敬业的公交车司机》/cover.webp


BIN
app/src/main/assets/chapter/第一单元《敬业的公交车司机》/resources/1.webp


app/src/main/assets/chapter/第七单元《乐于助人好宝宝》/第七单元《乐于助人好宝宝》.webp → app/src/main/assets/chapter/第七单元《乐于助人好宝宝》/cover.webp


BIN
app/src/main/assets/chapter/第七单元《乐于助人好宝宝》/resources/1.webp


app/src/main/assets/chapter/第七单元《最短的路》/第七单元《最短的路》.webp → app/src/main/assets/chapter/第七单元《最短的路》/cover.webp


BIN
app/src/main/assets/chapter/第七单元《最短的路》/resources/1.webp


app/src/main/assets/chapter/第七单元《火山》/第七单元《火山》.webp → app/src/main/assets/chapter/第七单元《火山》/cover.webp


BIN
app/src/main/assets/chapter/第七单元《火山》/resources/1.webp


app/src/main/assets/chapter/第三单元《奇幻寻宝》/第三单元《奇幻寻宝》.webp → app/src/main/assets/chapter/第三单元《奇幻寻宝》/cover.webp


BIN
app/src/main/assets/chapter/第三单元《奇幻寻宝》/resources/1.webp


app/src/main/assets/chapter/第三单元《这里危险,不能走》/第三单元《这里危险,不能走》.webp → app/src/main/assets/chapter/第三单元《这里危险,不能走》/cover.webp


BIN
app/src/main/assets/chapter/第三单元《这里危险,不能走》/resources/1.webp


app/src/main/assets/chapter/第三单元《送小贝去游玩》/第三单元《送小贝去游玩》.webp → app/src/main/assets/chapter/第三单元《送小贝去游玩》/cover.webp


BIN
app/src/main/assets/chapter/第三单元《送小贝去游玩》/resources/1.webp


app/src/main/assets/chapter/第九单元《创想天地》/第九单元《创想天地》.webp → app/src/main/assets/chapter/第九单元《创想天地》/cover.webp


BIN
app/src/main/assets/chapter/第九单元《创想天地》/resources/1.webp


app/src/main/assets/chapter/第九单元《梦幻舞会》/第九单元《梦幻舞会》.webp → app/src/main/assets/chapter/第九单元《梦幻舞会》/cover.webp


BIN
app/src/main/assets/chapter/第九单元《梦幻舞会》/resources/1.webp


app/src/main/assets/chapter/第九单元《谁的步数少?》/第九单元《谁的步数少?》.webp → app/src/main/assets/chapter/第九单元《谁的步数少?》/cover.webp


BIN
app/src/main/assets/chapter/第九单元《谁的步数少?》/resources/1.webp


app/src/main/assets/chapter/第二单元《小小道路工程师》/第二单元《小小道路工程师》.webp → app/src/main/assets/chapter/第二单元《小小道路工程师》/cover.webp


BIN
app/src/main/assets/chapter/第二单元《小小道路工程师》/resources/1.webp


app/src/main/assets/chapter/第二单元《小贝的好朋友》/第二单元《小贝的好朋友》.webp → app/src/main/assets/chapter/第二单元《小贝的好朋友》/cover.webp


BIN
app/src/main/assets/chapter/第二单元《小贝的好朋友》/resources/1.webp


app/src/main/assets/chapter/第二单元《我会输入指令》/第二单元《我会输入指令》.webp → app/src/main/assets/chapter/第二单元《我会输入指令》/cover.webp


BIN
app/src/main/assets/chapter/第二单元《我会输入指令》/resources/1.webp


app/src/main/assets/chapter/第五单元《一起去游乐园》/第五单元《一起去游乐园》.webp → app/src/main/assets/chapter/第五单元《一起去游乐园》/cover.webp


BIN
app/src/main/assets/chapter/第五单元《一起去游乐园》/resources/1.webp


app/src/main/assets/chapter/第五单元《寻找秘密安全通道》/第五单元《寻找秘密安全通道》.webp → app/src/main/assets/chapter/第五单元《寻找秘密安全通道》/cover.webp


BIN
app/src/main/assets/chapter/第五单元《寻找秘密安全通道》/resources/1.webp


app/src/main/assets/chapter/第五单元《英雄无敌》/第五单元《英雄无敌》.webp → app/src/main/assets/chapter/第五单元《英雄无敌》/cover.webp


BIN
app/src/main/assets/chapter/第五单元《英雄无敌》/resources/1.webp


app/src/main/assets/chapter/第八单元《冲破障碍》/第八单元《冲破障碍》.webp → app/src/main/assets/chapter/第八单元《冲破障碍》/cover.webp


BIN
app/src/main/assets/chapter/第八单元《冲破障碍》/resources/1.webp


app/src/main/assets/chapter/第八单元《教练与玩家》/第八单元《教练与玩家》.webp → app/src/main/assets/chapter/第八单元《教练与玩家》/cover.webp


BIN
app/src/main/assets/chapter/第八单元《教练与玩家》/resources/1.webp


app/src/main/assets/chapter/第八单元《解决问题小能手》/第八单元《解决问题小能手》.webp → app/src/main/assets/chapter/第八单元《解决问题小能手》/cover.webp


BIN
app/src/main/assets/chapter/第八单元《解决问题小能手》/resources/1.webp


app/src/main/assets/chapter/第六单元《丢失的金币》/第六单元《丢失的金币》.webp → app/src/main/assets/chapter/第六单元《丢失的金币》/cover.webp


BIN
app/src/main/assets/chapter/第六单元《丢失的金币》/resources/1.webp


app/src/main/assets/chapter/第六单元《危险重重》/第六单元《危险重重》.webp → app/src/main/assets/chapter/第六单元《危险重重》/cover.webp


BIN
app/src/main/assets/chapter/第六单元《危险重重》/resources/1.webp


app/src/main/assets/chapter/第六单元《弯弯的路》/第六单元《弯弯的路》.webp → app/src/main/assets/chapter/第六单元《弯弯的路》/cover.webp


BIN
app/src/main/assets/chapter/第六单元《弯弯的路》/resources/1.webp


app/src/main/assets/chapter/第十一单元《哪条路更短?》/第十一单元《哪条路更短?》.webp → app/src/main/assets/chapter/第十一单元《哪条路更短?》/cover.webp


BIN
app/src/main/assets/chapter/第十一单元《哪条路更短?》/resources/1.webp


app/src/main/assets/chapter/第十一单元《我能读懂指令》/第十一单元《我能读懂指令》.webp → app/src/main/assets/chapter/第十一单元《我能读懂指令》/cover.webp


BIN
app/src/main/assets/chapter/第十一单元《我能读懂指令》/resources/1.webp


app/src/main/assets/chapter/第十三单元《创想天地》/第十三单元《创想天地》.webp → app/src/main/assets/chapter/第十三单元《创想天地》/cover.webp


BIN
app/src/main/assets/chapter/第十三单元《创想天地》/resources/1.webp


app/src/main/assets/chapter/第十二单元《教练与玩家》/第十二单元《教练与玩家》.webp → app/src/main/assets/chapter/第十二单元《教练与玩家》/cover.webp


BIN
app/src/main/assets/chapter/第十二单元《教练与玩家》/resources/1.webp


app/src/main/assets/chapter/第十单元《循环》/第十单元《循环》.webp → app/src/main/assets/chapter/第十单元《循环》/cover.webp


BIN
app/src/main/assets/chapter/第十单元《循环》/resources/1.webp


app/src/main/assets/chapter/第十单元《规划路线我最行》/第十单元《规划路线我最行》.webp → app/src/main/assets/chapter/第十单元《规划路线我最行》/cover.webp


BIN
app/src/main/assets/chapter/第十单元《规划路线我最行》/resources/1.webp


app/src/main/assets/chapter/第四单元《修理跳跳镇的路》/第四单元《修理跳跳镇的路》.webp → app/src/main/assets/chapter/第四单元《修理跳跳镇的路》/cover.webp


BIN
app/src/main/assets/chapter/第四单元《修理跳跳镇的路》/resources/1.webp


app/src/main/assets/chapter/第四单元《我会调试》/第四单元《我会调试》.webp → app/src/main/assets/chapter/第四单元《我会调试》/cover.webp


BIN
app/src/main/assets/chapter/第四单元《我会调试》/resources/1.webp


app/src/main/assets/chapter/第四单元《高级道路工程师》/第四单元《高级道路工程师》.webp → app/src/main/assets/chapter/第四单元《高级道路工程师》/cover.webp


BIN
app/src/main/assets/chapter/第四单元《高级道路工程师》/resources/1.webp


+ 1 - 1
app/src/main/java/com/bearya/kids/chapter/ChapterAdapter.kt

@@ -36,7 +36,7 @@ class ChapterAdapter : PagedListAdapter<Chapter, UnitViewHolder>(object : DiffUt
     override fun onBindViewHolder(holder: UnitViewHolder, position: Int) {
         val item = getItem(position)
         holder.bindView?.name = item?.name
-        holder.bindView?.cover = "chapter/${item?.name}/${item?.name}.webp".assetsPath()
+        holder.bindView?.cover = "chapter/${item?.name}/cover.webp".assetsPath()
         holder.itemView.apply {
 
             setOnClickListener {

+ 2 - 14
app/src/main/java/com/bearya/kids/chapter/ChapterFragment.kt

@@ -18,10 +18,6 @@ import library.ext.setData
 
 class ChapterFragment : Fragment() {
 
-    private val gradeLevelPrimary = 1 // 小班
-    private val gradeLevelMiddle = 2 // 中班
-    private val gradeLevelLarge = 3 // 大班
-
     private lateinit var bindView: FragmentChapterBinding
     private val viewModel: ChapterViewModel by viewModels()
     private val args: ChapterFragmentArgs by navArgs()
@@ -30,10 +26,7 @@ class ChapterFragment : Fragment() {
         ChapterAdapter().apply {
             onItemClickListener = { view: View, item: Chapter?, _: Int ->
                 view.findNavController().navigate(
-                    ChapterFragmentDirections.actionChapterFragmentToSectionFragment(
-                        item?.id
-                            ?: 1, item?.name
-                    )
+                    ChapterFragmentDirections.actionChapterFragmentToSectionFragment(item?.id ?: 1)
                 )
             }
         }
@@ -53,12 +46,7 @@ class ChapterFragment : Fragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
-        bindView.gradeName.text = when (args.grade) {
-            gradeLevelPrimary -> "小班"
-            gradeLevelMiddle -> "中班"
-            gradeLevelLarge -> "大班"
-            else -> "幼儿园"
-        }
+        bindView.viewModel = viewModel
 
         bindView.back.setOnClickListener { v -> v.findNavController().navigateUp() }
         bindView.chapter.layoutManager =

+ 15 - 4
app/src/main/java/com/bearya/kids/chapter/ChapterViewModel.kt

@@ -1,9 +1,6 @@
 package com.bearya.kids.chapter
 
-import androidx.lifecycle.LiveData
-import androidx.lifecycle.MutableLiveData
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.switchMap
+import androidx.lifecycle.*
 import androidx.paging.PagedList
 import com.bearya.data.entity.Chapter
 import com.bearya.data.repository.ChapterRepository
@@ -11,6 +8,10 @@ import library.ext.toLiveData
 
 class ChapterViewModel : ViewModel() {
 
+    private val gradeLevelPrimary = 1 // 小班
+    private val gradeLevelMiddle = 2 // 中班
+    private val gradeLevelLarge = 3 // 大班
+
     private val chapterRepository: ChapterRepository by lazy { ChapterRepository() }
 
     val gradeLevel : MutableLiveData<Int> by lazy { MutableLiveData<Int>() }
@@ -18,4 +19,14 @@ class ChapterViewModel : ViewModel() {
     val chapters: LiveData<PagedList<Chapter>>  = gradeLevel.switchMap {
         chapterRepository.findChaptersByGradeLevel(it).toLiveData()
     }
+
+    val gradeName: LiveData<String> = gradeLevel.map {
+        when(it) {
+            gradeLevelPrimary -> "小班"
+            gradeLevelMiddle -> "中班"
+            gradeLevelLarge -> "大班"
+            else -> "幼儿园"
+        }
+    }
+
 }

+ 6 - 3
app/src/main/java/com/bearya/kids/grade/GradeFragment.kt

@@ -28,13 +28,16 @@ class GradeFragment : Fragment(), View.OnClickListener, View.OnFocusChangeListen
         super.onViewCreated(view, savedInstanceState)
         val versionName = "当前版本 : v ${BuildConfig.VERSION_NAME}.${BuildConfig.VERSION_CODE}"
         bindView.version.text = versionName
+
         bindView.gradePrimary.setOnClickListener(this)
-        bindView.gradePrimary.onFocusChangeListener = this
         bindView.gradeMiddle.setOnClickListener(this)
-        bindView.gradeMiddle.onFocusChangeListener = this
         bindView.gradeLarge.setOnClickListener(this)
-        bindView.gradeLarge.onFocusChangeListener = this
         bindView.back.setOnClickListener(this)
+
+        bindView.gradePrimary.onFocusChangeListener = this
+        bindView.gradeMiddle.onFocusChangeListener = this
+        bindView.gradeLarge.onFocusChangeListener = this
+
     }
 
     override fun onClick(v: View?) {

+ 28 - 18
app/src/main/java/com/bearya/kids/section/SectionAdapter.kt

@@ -16,28 +16,31 @@ import com.bearya.kids.databinding.ItemSectionPreviewBinding
 import library.OnItemClickListener
 import library.ext.assetsPath
 
-class SectionPagerAdapter(private val dirName: String?) : PagedListAdapter<Section, SectionPagerViewHolder>(object : DiffUtil.ItemCallback<Section>() {
+class SectionPagerAdapter :
+    PagedListAdapter<Section, SectionPagerViewHolder>(object : DiffUtil.ItemCallback<Section>() {
 
-    override fun areItemsTheSame(oldItem: Section, newItem: Section): Boolean = oldItem.id == newItem.id
+        override fun areItemsTheSame(oldItem: Section, newItem: Section): Boolean =
+            oldItem.id == newItem.id
 
-    override fun areContentsTheSame(oldItem: Section, newItem: Section): Boolean =
+        override fun areContentsTheSame(oldItem: Section, newItem: Section): Boolean =
             TextUtils.equals(oldItem.name, newItem.name) && oldItem.lock == newItem.lock
 
-}) {
+    }) {
 
     var onItemClickListener: OnItemClickListener<Section>? = null
 
-    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SectionPagerViewHolder = SectionPagerViewHolder(
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SectionPagerViewHolder =
+        SectionPagerViewHolder(
             ItemSectionBinding.inflate(LayoutInflater.from(parent.context), parent, false).root
-    )
+        )
 
     override fun onBindViewHolder(holder: SectionPagerViewHolder, position: Int) {
         val item = getItem(position)
-        holder.bindView?.image = "chapter/${dirName}/${item?.name}.webp".assetsPath()
+        holder.bindView?.image = "chapter/${item?.name}/resources/${position + 1}.webp".assetsPath()
         holder.itemView.setOnClickListener { onItemClickListener?.invoke(it, item, position) }
     }
 
-    fun getItemData(position:Int) = getItem(position)
+    fun getItemData(position: Int) = getItem(position)
 
 }
 
@@ -45,23 +48,26 @@ class SectionPagerViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
     val bindView: ItemSectionBinding? = DataBindingUtil.bind(itemView)
 }
 
-class SectionPreviewAdapter(private val dirName: String?) : PagedListAdapter<Section, SectionPreviewViewHolder>(object : DiffUtil.ItemCallback<Section>() {
+class SectionPreviewAdapter :
+    PagedListAdapter<Section, SectionPreviewViewHolder>(object : DiffUtil.ItemCallback<Section>() {
 
-    override fun areItemsTheSame(oldItem: Section, newItem: Section): Boolean = oldItem.id == newItem.id
+        override fun areItemsTheSame(oldItem: Section, newItem: Section): Boolean =
+            oldItem.id == newItem.id
 
-    override fun areContentsTheSame(oldItem: Section, newItem: Section): Boolean =
+        override fun areContentsTheSame(oldItem: Section, newItem: Section): Boolean =
             TextUtils.equals(oldItem.name, newItem.name) && oldItem.lock == newItem.lock
 
-}) {
+    }) {
 
     var onItemClickListener: OnItemClickListener<Section>? = null
 
     private var currentFocusItemIndex = 0
     private var recyclerView: RecyclerView? = null
 
-    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SectionPreviewViewHolder = SectionPreviewViewHolder(
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SectionPreviewViewHolder =
+        SectionPreviewViewHolder(
             ItemSectionPreviewBinding.inflate(LayoutInflater.from(parent.context), parent, false).root
-    )
+        )
 
     override fun onBindViewHolder(holder: SectionPreviewViewHolder, position: Int) {
         val item = getItem(position)
@@ -69,10 +75,15 @@ class SectionPreviewAdapter(private val dirName: String?) : PagedListAdapter<Sec
         val index = position + 1
         holder.bindView?.index = "$index"
 
-        holder.bindView?.image = "chapter/${dirName}/${item?.name}.webp".assetsPath()
+        holder.bindView?.image = "chapter/${item?.name}/resources/$index.webp".assetsPath()
 
-        holder.bindView?.cover?.setBorderColor(ResourcesCompat.getColor(holder.itemView.context.resources,
-                if (position == currentFocusItemIndex) R.color.colorBlue else R.color.colorWhite, null))
+        holder.bindView?.cover?.setBorderColor(
+            ResourcesCompat.getColor(
+                holder.itemView.context.resources,
+                if (position == currentFocusItemIndex) R.color.colorBlue else R.color.colorWhite,
+                null
+            )
+        )
 
         holder.itemView.setOnClickListener { v -> onItemClickListener?.invoke(v, item, position) }
     }
@@ -94,7 +105,6 @@ class SectionPreviewAdapter(private val dirName: String?) : PagedListAdapter<Sec
         recyclerView = null
     }
 
-
 }
 
 class SectionPreviewViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {

+ 3 - 3
app/src/main/java/com/bearya/kids/section/SectionFragment.kt

@@ -26,8 +26,8 @@ class SectionFragment : Fragment() {
     private val viewModel: SectionViewModel by viewModels()
     private val args: SectionFragmentArgs by navArgs()
 
-    private val pagerAdapter: SectionPagerAdapter by lazy { SectionPagerAdapter(args.chapterName) }
-    private val previewAdapter: SectionPreviewAdapter by lazy { SectionPreviewAdapter(args.chapterName) }
+    private val pagerAdapter: SectionPagerAdapter by lazy { SectionPagerAdapter() }
+    private val previewAdapter: SectionPreviewAdapter by lazy { SectionPreviewAdapter() }
 
     private val pageChangeCallback by lazy {
         object : ViewPager2.OnPageChangeCallback() {
@@ -103,7 +103,7 @@ class SectionFragment : Fragment() {
             val itemData = pagerAdapter.getItemData(bindView.playPager.currentItem)
 
             if (itemData?.hasAnalysis == true) {
-                val action = SectionFragmentDirections.actionSectionFragmentToAnalysisFragment(itemData.id ?: 1 , args.chapterName)
+                val action = SectionFragmentDirections.actionSectionFragmentToAnalysisFragment(itemData.id ?: 1 , itemData.name)
                 it.findNavController().navigate(action)
             } else {
                 Toast.makeText(context, "暂无该答案", Toast.LENGTH_LONG).show()

+ 7 - 0
app/src/main/res/layout/fragment_chapter.xml

@@ -3,6 +3,12 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools">
 
+    <data>
+        <variable
+            name="viewModel"
+            type="com.bearya.kids.chapter.ChapterViewModel" />
+    </data>
+
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -29,6 +35,7 @@
             android:gravity="center"
             android:textColor="@color/colorWhite"
             android:textStyle="bold"
+            android:text="@{viewModel.gradeName}"
             app:autoSizeTextType="uniform"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"

+ 1 - 6
app/src/main/res/navigation/main_navigation.xml

@@ -54,18 +54,13 @@
         android:id="@+id/sectionFragment"
         android:name="com.bearya.kids.section.SectionFragment"
         tools:layout="@layout/fragment_section">
+
         <argument
             android:name="chapterId"
             android:defaultValue="1"
             app:argType="integer"
             app:nullable="false" />
 
-        <argument
-            android:name="chapterName"
-            android:defaultValue="none"
-            app:argType="string"
-            app:nullable="true" />
-
         <action
             android:id="@+id/action_sectionFragment_to_analysisFragment"
             app:destination="@+id/analysisFragment"

+ 3 - 3
app/version.properties

@@ -1,3 +1,3 @@
-#Mon Apr 27 15:13:46 CST 2020
-VERSION_NAME=1.1.4
-VERSION_CODE=222
+#Mon May 11 11:30:42 CST 2020
+VERSION_NAME=1.1.6
+VERSION_CODE=234

+ 30 - 0
数据库更新版本.md

@@ -0,0 +1,30 @@
+# 幼儿园项目创想天地幼儿课件  数据库版本设置详细
+
+# 更新版本信息
+| 版本 | 修改信息 | 备注 |
+|---|---|---|
+
+
+# 表检索
+| 名称 | 表名 | 添加版本 |
+|---|---|---|
+
+
+# <a id="" name="">表 </a>
+
+```
+
+```
+
+| 名称 | 类型 | 详细 | 版本 |
+|---|---|---|---|
+
+
+# <a id="" name="">表</a>
+
+```
+
+```
+
+| 名称 | 类型 | 详细 | 版本 |
+|---|---|---|---|

+ 9 - 0
更新日志.md

@@ -0,0 +1,9 @@
+# 幼儿园项目创想天地幼儿课件
+
+### v1.1.6.234 2020年05月11日
+
+- 修改课件显示的文件夹规则
+
+### v1.1.3.219 2020年04月26日
+
+- 创建初始版本,显示幼儿使用课件,可以在贝之星和小贝两种设备上使用。