sunflower with java,A gardening app illustrating Android development best practices with Android Jetpack. sunflower的java版本:园艺应用程序,说明了使用Android Jetpack进行Android开发的最佳做法。
- 主页分为两个tab,默认tab展示已经栽种的植物,另外一个tab展示所有可栽种植物;
- 点击每个植物进入到植物详情
- 单Activity
- ViewModel从数据库中读取数据,返回LiveData对象,并将对象绑定到视图中
- 展示了创建数据库、数据对象以及ViewModel、Repository过程
- lifecycle
- navigation
- room
- work
- liveData
- databinding
- 主页:MainActivity -> HomeViewPagerFragment
- 我的花园:GardenFragment
- 植物目录:PlantListFragment
- 植物详情:PlantDetailFragment
- 数据来源:assets中的plants.json
- adapter:包含DatabindingAdapter,ListViewAdapter
- data:数据库、实体类、DAO
- utilities:常量字段
- viewmodels:各个视图所需的ViewModel
- widget:自定义控件
- workers:初始化数据库
- *Fragment:视图UI
- AppDatabase单例模式,在GardenFragment中会进行初始化,这时会将plants.json写入数据库;
- 在PlantListFragment中,读取数据库中植物信息并展示在页面上;点击右上角按钮,会筛选植物
- 点击植物进入详情
- 在详情页点击加号添加植物,则会出现在GardenFragment中,同时加号隐藏