All Projects → lulululbj → Wanandroid

lulululbj / Wanandroid

Licence: gpl-3.0
Jetpack MVVM For Wanandroid 最佳实践 !

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Wanandroid

Jetpackmvvm
🐔🏀一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
Stars: ✭ 1,100 (+9.56%)
Mutual labels:  lifecycle, mvvm, viewmodel, livedata, databinding, wanandroid
Android Jetpack Demo
🔥 快速入门Android Jetpack以及相关Kotlin、RxJava、MVVM等主流技术,独立构架App的基础技能
Stars: ✭ 335 (-66.63%)
Mutual labels:  lifecycle, mvvm, viewmodel, livedata, databinding
Kotlinjetpackinaction
🔥🔥 Kotlin Jetpack zero to hero. 新手到高手
Stars: ✭ 264 (-73.71%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata, databinding
Moko Mvvm
Model-View-ViewModel architecture components for mobile (android & ios) Kotlin Multiplatform development
Stars: ✭ 329 (-67.23%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata, databinding
Harrypotter
🧙🏻 Sample HarryPotter application based on MVVM architecture (ViewModel, LiveData, Repository, Coroutines, Koin or Dagger-Hilt)
Stars: ✭ 116 (-88.45%)
Mutual labels:  coroutines, lifecycle, mvvm, livedata, databinding
Mvvmframe
🏰 MVVMFrame for Android 是一个基于Google官方推出的Architecture Components dependencies(现在叫JetPack){ Lifecycle,LiveData,ViewModel,Room } 构建的快速开发框架。有了MVVMFrame的加持,从此构建一个MVVM模式的项目变得快捷简单。
Stars: ✭ 218 (-78.29%)
Mutual labels:  lifecycle, mvvm, viewmodel, livedata, databinding
Wanandroid
🏄 基于Architecture Components dependencies (Lifecycles,LiveData,ViewModel,Room)构建的WanAndroid开源项目。 你值得拥有的MVVM快速开发框架:https://github.com/jenly1314/MVVMFrame
Stars: ✭ 410 (-59.16%)
Mutual labels:  mvvm, viewmodel, livedata, databinding, wanandroid
Movieapp Clean Architecture
Learning Project (Movie App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin
Stars: ✭ 123 (-87.75%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata, databinding
Mvvmarms
Android MVVM Architecture Components based on MVPArms and Android Architecture Components.
Stars: ✭ 425 (-57.67%)
Mutual labels:  lifecycle, mvvm, viewmodel, livedata, databinding
Jethub
Sample App with Jetpack components(LiveData, Navigation, ViewModel) + MVVM + coroutine + single activity
Stars: ✭ 224 (-77.69%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Coolweather
Weather App that uses Android best practices. Android Jetpack, clean architecture. Written in Kotlin
Stars: ✭ 154 (-84.66%)
Mutual labels:  coroutines, mvvm, viewmodel, databinding
Jetpack Wanandroid
Kotlin+Jetpack+Coroutines+Retrofit+koin 完成的MVVM 组件化客户端 🔥🔥
Stars: ✭ 353 (-64.84%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Wanandroid
Kotlin+JetPack+协程实现的MVVM架构Wanandroid客户端
Stars: ✭ 197 (-80.38%)
Mutual labels:  coroutines, viewmodel, livedata, wanandroid
Gallerit
A sample Android gallery to search images posted on Reddit built using modern Android development tools (Architecture Components, MVVM, Coroutines, Flow, Navigation, Retrofit, Room, Koin)
Stars: ✭ 153 (-84.76%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Sunset-hadith
Islamic app written with Kotlin, using KTOR + coroutines + flow + MVVM + Android Jetpack + Navigation component. Old version using RxJava + Retrofit + OKHttp
Stars: ✭ 26 (-97.41%)
Mutual labels:  coroutines, viewmodel, databinding, livedata
Ktarmor Mvvm
👻 Android快速开发框架, KtArmor 寓意着 为Android 赋予战斗装甲, 方便开发者快速进行Android 开发。
Stars: ✭ 148 (-85.26%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Books jetpack
A sample application to demonstrate how to use Jetpack Architecture Components in an Android Application following the Clean Architecture concepts.
Stars: ✭ 241 (-76%)
Mutual labels:  coroutines, mvvm, viewmodel, databinding
Mvvmsmart
基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合ViewModel+Lifecycles+Navigation+DataBinding+LiveData+Okhttp+Retrofit+RxJava+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发高质量、易维护的Android应用。 项目组会持续维护,请放心使用.欢迎Start并Fork交流.
Stars: ✭ 382 (-61.95%)
Mutual labels:  mvvm, viewmodel, livedata, databinding
CoMvvmHelper
android mvvm 基础框架,适合日常快速开发。有需要添加的内容或者发现问题可以提 issue。
Stars: ✭ 26 (-97.41%)
Mutual labels:  mvvm, viewmodel, lifecycle, livedata
PlayAndroid
✌️✊👋玩安卓Mvvm组件化客户端,整合Jetpack组件DataBinding、ViewModel以及LiveData;屏幕适配✔️状态栏沉浸式✔️黑夜模式✔️,无数据、加载失败状态页;骨架屏、Koin依赖注入等
Stars: ✭ 193 (-80.78%)
Mutual labels:  mvvm, viewmodel, databinding, livedata

之前的 README 文件(在这里可以看到 真香!Kotlin+MVVM+LiveData+协程 打造 Wanandroid!) 和现有代码其实已经有较大出入,也包含了一些不正确的观点,回来更新一下。

翻一下提交记录,第一次 commit 是在 13 Mar 2018 ,没记错的话当时是基于 MVP 模式搭建的基础框架,到现在经过 100 多次 commit,整个框架已经完全更新。最新的代码在 mvvm-kotlin 分支。

刚从 MVP 过渡到 MVVM ,挺兴奋的,一股脑刷刷的写,其实犯了很多错误。第一次认识到关于 MVVM 的一些错误理解是通过这篇文章 关于MVC/MVP/MVVM的一些错误认识 ,大家可以仔细阅读这篇文章。

随着对架构的逐步深入认识,对 MVVM 的概念又逐渐模糊起来。在 Android 开发中,到底什么是 MVVM 架构?

数据驱动 UI ?

ViewModel + LiveData ?

不使用 Databinding 是不是 MVVM ?

不使用双向绑定是不是 MVVM ?

一时之间好像遍地都是 Jetpack MVVM 的相关文章和开源项目,但我却愈发觉得这算不上真正的 MVVM 。我更愿意称之为 变种 MVP ,或者它就是 Jetpack 架构

上面这张图就可以清晰的表达它的架构,它不是 MVP,也不是 MVVM

当然,每个人心中都有自己的架构,欢迎到 issue 区表达自己的看法。

最后简单罗列一下项目的技术点:

  • LiveData 作为数据容器,由 ViewModel 进行保存
  • Databinding 负责数据绑定工作
  • 使用 Kotlin Coroutines 完成网络请求等耗时异步任务,其中登录页面尝试使用了 flow
  • koin 负责依赖注入工作
  • ......

作为一个试错项目,后续可能继续引入各种新奇类库或者 gradle 插件,欢迎继续关注。

最后给我的专栏打个广告:

Android 面试进阶指南目录

计算机网络

  1. http 速查

Android

  1. 唠唠任务栈,返回栈和启动模式
  2. 唠唠 Activity 的生命周期
  3. 扒一扒 Context
  4. 面试官:为什么不能使用 Application Context 显示 Dialog?
  5. 面试官:OOM 可以被 try catch 吗?
  6. 面试官:Activity.finish() 之后十秒才回调 onDestroy ?
  7. 面试官:如何监测应用的 FPS ?

添加微信 bingxinshuo_ ,加入技术交流群 。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].