由于Google官网给出的该项目是Kotlin版本,我将其改造成Java版本,供大家学习参考,文末给出下载链接,里面包含了详细的注释说明。
该项目虽然简单,但是用到的知识很多,正所谓麻雀虽小五脏俱全,对于架构和Jetpack学习是个很好的示例,强烈推荐。这里给出的前置知识不是必须掌握,而是掌握会更好的理解,不熟悉也没关系,直接看我的注释说明肯定能懂!
前置知识,项目中用到的Jetpack组件库,LiveData,ViewModel,DataBinding,Navigation,Room,WorkManager……
Navigation主架构:布局(DataBinding),Fragment->VmFactory->VM->Repository->Room(Dao)
Google官方的Jetpack学习项目:
Sunflower-github开源项目,太阳花/向日葵
GardenActivity(主界面,activity_garden.xml)
- DrawerLayout(侧滑抽屉布局)
- LinearLayout
- AppBarLayout
- Toolbar
- fragment(界面容器,@navigation/nav_garden,fragment+action
- AppBarLayout
- LinearLayout