神奇宝贝 (PokemonGo) 基于 Jetpack + MVVM + Repository 设计模式 + Data Mapper + Kotlin Flow 的实战项目,如果这个仓库对你有帮助,请仓库右上角帮我 star 一下,非常感谢。
PokemonGo
神奇宝贝 (PokemonGo) 基于 Jetpack + MVVM + Repository + Paging3 + Kotlin Flow 的实战项目
这是一个小型的 App 项目,涉及到技术:Paging3(network + db),Dagger-Hilt,App Startup,DataBinding,Room,Motionlayout,Kotlin Flow,Coil,JProgressView 等等。
PokemonGo 动态效果图如下所示,如果动图无法查看,请点击这里查看 动态效果图 | 静态图
2020-12-05:
2020-09-27:
debounce
、filter
、flatMapLatest
、 distinctUntilChanged
的使用以上更新对应分析文章:
2020-07-26:
以上更新对应分析文章:
2020-07-23:
以上更新对应分析文章:
2020-07-14:
关于 PokemonGo 项目分析的文章请查看 神奇宝贝 眼前一亮的 Jetpack + MVVM 极简实战
如果这个仓库对你有帮助,请仓库右上角帮我 star 一下,非常感谢。
RemoteMediator
用来实现 network + db以上技术栈对应之前写的技术文章:
在项目的根目录下执行以下命令。
./gradlew dependencyUpdates
会在当前目录下生成 build/dependencyUpdates/report.txt 文件,内容如下所示:
The following dependencies have later release versions:
- androidx.swiperefreshlayout:swiperefreshlayout [1.0.0 -> 1.1.0]
https://developer.android.com/jetpack/androidx
- com.squareup.okhttp3:logging-interceptor [3.9.0 -> 4.7.2]
https://square.github.io/okhttp/
- junit:junit [4.12 -> 4.13]
http://junit.org
- org.koin:koin-android [2.1.5 -> 2.1.6]
- org.koin:koin-androidx-viewmodel [2.1.5 -> 2.1.6]
- org.koin:koin-core [2.1.5 -> 2.1.6]
Gradle release-candidate updates:
- Gradle: [6.1.1 -> 6.5.1]
会列出所有需要更新的依赖库的最新版本,并且 Gradle Versions Plugin 比 AndroidStudio 所支持的更加全面:
PokemonGo 基于 MVVM 架构和 Repository 设计模式,如今几乎所有的 Android 开发者至少都听过 MVVM 架构,在谷歌 Android 团队宣布了 Jetpack 的视图模型之后,它已经成为了现代 Android 开发模式最流行的架构之一。
Jetpack 的视图模型的 MVVM 架构由 View + DataBinding + ViewModel + Model 组成。
最后推荐我一直在更新维护的项目和网站:
计划建立一个最全、最新的 AndroidX Jetpack 相关组件的实战项目 以及 相关组件原理分析文章,正在逐渐增加 Jetpack 新成员,仓库持续更新,欢迎前去查看:AndroidX-Jetpack-Practice
LeetCode / 剑指 offer / 国内外大厂面试题 / 多线程 题解,语言 Java 和 kotlin,包含多种解法、解题思路、时间复杂度、空间复杂度分析
最新 Android 10 源码分析系列文章,了解系统源码,不仅有助于分析问题,在面试过程中,对我们也是非常有帮助的,仓库持续更新,欢迎前去查看 Android10-Source-Analysis
整理和翻译一系列精选国外的技术文章,每篇文章都会有译者思考部分,对原文的更加深入的解读,仓库持续更新,欢迎前去查看 Technical-Article-Translation
「为互联网人而设计,国内国外名站导航」涵括新闻、体育、生活、娱乐、设计、产品、运营、前端开发、Android 开发等等网址,欢迎前去查看 为互联网人而设计导航网站
中文:
English: