架构组件包括Room, LiveData, ViewModel和Data Binding。UI组件包括RecyclerView、Paging、Navigation等等。行为...
配置Gradle添加Navigation组件,如下图所示:3. 右键点击res文件夹然后选择New->Android Resource File,找...
><navigationxmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"xmlns:android="http://schemas.android.com/apk/res/android"app:startDestination="@id/blankFragment"><fragmentandroid:id="@+id/blankFragment"android:name="com.example.cashdog.cashdog.Bl...
LiveData、ViewModel、DataBinding(包括双向绑定、BindingAdapter的使用)、ViewBinding、coroutines(包含flow、suspend、livedata协程构造器、flow协程构造器的使用)、Hilt、Paging3(包含RemoteMediator、加载状态)、Room、Navigation(通过ViewModel共享数据)、Banner(kotlin简单实现)、TabLayout、BottomNavigationView、RecycleView(包含List...
Architecture libraries 和 Components 是用于确保 App 具备健壮、可测试和可维护的能力。 Data Persistence Room是 Android 推荐的数据库工具,它在 SQLite 之上提供了一个抽象层,从而提高了平台的可用性和安全性。 在Room 2.4 中,Kotlin Symbol Processing(KSP) 得到了更稳定的支持,在我们的 Kotlin 代码基准测试中,...
玩Android demo。用Jetpack MVVM开发架构、单Activity多Fragment项目设计,项目结构清晰,代码简洁优雅,追求最官方的实现方式。用到以下知识点: LiveData、ViewModel、DataBinding(包括双向绑定、BindingAdapter的使用)、ViewBinding、coroutines(包含flow、suspend、livedata协程构造器、flow协程构造器的使用)、Hilt、Paging3(包含Remot...
Navigation:处理应用内导航所需的一切 Paging:一次加载 or 按需加载 & 显示小块数据 Room:帮助开发者更友好、流畅的访问SQLite数据库。 ViewModel:以生命周期感知的方式存储和管理与UI相关的数据 WorkManager:调度预期将要运行的可延迟异步任务。(即便应用程序退出 or重启) ...
implementation'androidx.navigation:navigation-ui:2.3.2' 1. 2. 3. 然后Sync Now同步依赖项目。 二、Fragment创建 创建Fragment可以通过快捷的方式,自带了ViewModel的,如下图所示: 这里创建两个Fragment,NewsFragment和VideoFragment,对应的布局文件是news_fragment.xml和video_fragment.xml,ViewModel是Ne...
androidmusicmusic-playernavigationmvvmjetpackmvvm-architecturedatabindingmvvm-androidlivedataandroidxjetpack-navigationjetpack-androidjetpack-lifecycle-componentsdatabinding-androidlivedata-viewmodel UpdatedFeb 7, 2024 Java skydoves/android-developer-roadmap Sponsor ...
androidTestImplementation composeBom// Choose one of the following:// Material Design 3implementation'androidx.compose.material3:material3'// or Material Design 2implementation'androidx.compose.material:material'// or skip Material Design and build directly on top of foundational componentsimplementation'...