All Projects → kukyxs → CoMvvmHelper

kukyxs / CoMvvmHelper

Licence: MIT License
android mvvm 基础框架,适合日常快速开发。有需要添加的内容或者发现问题可以提 issue。

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to CoMvvmHelper

Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (+146.15%)
Mutual labels:  mvvm, viewmodel, lifecycle, kotlin-coroutines, livedata
Androidbaseframemvvm
Android 组件化 MVVM 框架 基于 Jetpack + Kotlin
Stars: ✭ 169 (+550%)
Mutual labels:  viewmodel, lifecycle, kotlin-coroutines, livedata
Android Jetpack Demo
🔥 快速入门Android Jetpack以及相关Kotlin、RxJava、MVVM等主流技术,独立构架App的基础技能
Stars: ✭ 335 (+1188.46%)
Mutual labels:  mvvm, viewmodel, lifecycle, livedata
Mvvmarms
Android MVVM Architecture Components based on MVPArms and Android Architecture Components.
Stars: ✭ 425 (+1534.62%)
Mutual labels:  mvvm, viewmodel, lifecycle, livedata
Mvvmframe
🏰 MVVMFrame for Android 是一个基于Google官方推出的Architecture Components dependencies(现在叫JetPack){ Lifecycle,LiveData,ViewModel,Room } 构建的快速开发框架。有了MVVMFrame的加持,从此构建一个MVVM模式的项目变得快捷简单。
Stars: ✭ 218 (+738.46%)
Mutual labels:  mvvm, viewmodel, lifecycle, livedata
Jetpackmvvm
🐔🏀一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
Stars: ✭ 1,100 (+4130.77%)
Mutual labels:  mvvm, viewmodel, lifecycle, livedata
Jetpack Mvvm Scaffold
人生苦短,让脚手架为你节省时间。(目前作为《最佳实践》项目的 Dev 版来优先更新)
Stars: ✭ 239 (+819.23%)
Mutual labels:  mvvm, viewmodel, lifecycle, livedata
Reactive Mvvm Android
My way to MVVM using KotlinX Coroutines and Android data-binding
Stars: ✭ 626 (+2307.69%)
Mutual labels:  mvvm, viewmodel, kotlin-coroutines, livedata
Tdcapp
Sample app which access the TDC (The Developer's Conference) REST API.
Stars: ✭ 55 (+111.54%)
Mutual labels:  mvvm, viewmodel, lifecycle, livedata
Wanandroid
Jetpack MVVM For Wanandroid 最佳实践 !
Stars: ✭ 1,004 (+3761.54%)
Mutual labels:  mvvm, viewmodel, lifecycle, livedata
Aachulk
️🔥️🔥️🔥AACHulk是以Google的ViewModel+DataBinding+LiveData+Lifecycles框架为基础, 结合Okhttp+Retrofit+BaseRecyclerViewAdapterHelper+SmartRefreshLayout+ARouter打造的一款快速MVVM开发框架
Stars: ✭ 109 (+319.23%)
Mutual labels:  mvvm, viewmodel, lifecycle, livedata
PlayAndroid
✌️✊👋玩安卓Mvvm组件化客户端,整合Jetpack组件DataBinding、ViewModel以及LiveData;屏幕适配✔️状态栏沉浸式✔️黑夜模式✔️,无数据、加载失败状态页;骨架屏、Koin依赖注入等
Stars: ✭ 193 (+642.31%)
Mutual labels:  mvvm, viewmodel, livedata, koin
Mvvmarchitecture
An example Android app using Retrofit, Room, LiveData, RxJava2, Paging, Koin and the MVVM pattern with the databinding
Stars: ✭ 160 (+515.38%)
Mutual labels:  mvvm, lifecycle, livedata
Ktarmor Mvvm
👻 Android快速开发框架, KtArmor 寓意着 为Android 赋予战斗装甲, 方便开发者快速进行Android 开发。
Stars: ✭ 148 (+469.23%)
Mutual labels:  mvvm, viewmodel, livedata
Android-Kotlin-MVVM-Template
[In progress...] Chat APP | MVVM + Clean Architecture | Kotlin, LiveData, Koin, Databinding, Navigation Fragments, Rx, Room, Crashlytics, Circle CI config, commons classes for UI.
Stars: ✭ 314 (+1107.69%)
Mutual labels:  viewmodel, livedata, koin
Android Vmlib
VMLib is an Android framework based on Android Jetpack, easy to use, desinged for fast development. Embrace the new way devloping Android :)
Stars: ✭ 146 (+461.54%)
Mutual labels:  mvvm, viewmodel, livedata
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 (+488.46%)
Mutual labels:  mvvm, viewmodel, livedata
Bikeshare
Jetpack Compose and SwiftUI based Kotlin Multiplatform project (using CityBikes API http://api.citybik.es/v2/).
Stars: ✭ 206 (+692.31%)
Mutual labels:  mvvm, viewmodel, kotlin-coroutines
WanAndroidJetpack
🔥 WanAndroid 客户端,Kotlin + MVVM + Jetpack + Retrofit + Glide。基于 MVVM 架构,用 Jetpack 实现,网络采用 Kotlin 的协程和 Retrofit 配合使用!精美的 UI,便捷突出的功能实现,欢迎下载体验!
Stars: ✭ 124 (+376.92%)
Mutual labels:  viewmodel, kotlin-coroutines, livedata
Android Mvvm Architecture
A basic sample android application to understand MVVM in a very simple way.
Stars: ✭ 129 (+396.15%)
Mutual labels:  mvvm, viewmodel, livedata

英文文档|中文文档

Cov is a lightweight tool-collection for quickly-developing an android app use (Kotlin + JetPack + DataBinding)

How to import

  1. Add it in your root build.gradle at the end of repositories:
allprojects {
	repositories {
		maven { url 'https://jitpack.io' }
	}
}
  1. Add the dependency
dependencies {
    // current latest release version is 0.7.1
	implementation 'com.github.kukyxs:CoMvvmHelper:version'
}

Migrate version to 0.7.x

// replace your `Activity/Fragment's KoinScopeComponent` by `AndroidScopeComponent`
// crate `scope`: replace `by lazy{ activityScope() } / by lazy { createScopeAndLink() }` by `by activityScope()/ by fragmentScope()`
// replace `scopeInject` by `AndroidScopeComponent.inject`

// activity
class GuideActivity : BaseActivity<ActivityGuideBinding>(), AndroidScopeComponent {
      // create koin scope
      override val scope: Scope by activityScope()

      // replace `scopeInject` by `inject`
      private val mGuideAdapter by inject<GuideAdapter> {
          parametersOf(mGuideItems)
      }
  }

// fragment 操作
class TestNewKoinFragment : BaseFragment<FragmentTestNewKoinBinding>(), AndroidScopeComponent {
      // create koin scope
      override val scope: Scope by fragmentScope()

      // replace `scopeInject` by `inject`
      private val aInstance by inject<EntityForKoinScopeTest>()
  }

Migrate version to 0.5.x

Due to koin lifecycleScope has been Deprecated and not supported any more, you can implementation KoinScopeComponent and override scope field,

then call scopeInject(an extension function for KoinScopeComponent) to replace lifecycleScope.inject, for example

// register your koin scoped
val adapterModule = module {
    scope<GuideActivity> {
        scoped { (items: MutableList<GuideDisplay>) -> GuideAdapter(items) }
    }

    scope<TestNewKoinFragment> {
        scoped { EntityForKoinScopeTest() }
    }
}
// make your activity implement from KoinScopeComponent
class GuideActivity : BaseActivity<ActivityGuideBinding>(), KoinScopeComponent {
    // create koin scope
    override val scope: Scope by lazy { activityScope() }

    // your registered scope instance
    private val mGuideAdapter by scopeInject<GuideAdapter> {
        parametersOf(mGuideItems)
    }

    override fun onDestroy() {
        super.onDestroy()
        scope.close() // close tied scope
    }
}
// make your fragment implement from KoinScopeComponent
class TestNewKoinFragment : BaseFragment<FragmentTestNewKoinBinding>(), KoinScopeComponent {
    // create koin scope
    override val scope: Scope by lazy { createScopeAndLink() }

    // your registered scope instance
    private val aInstance by scopeInject<EntityForKoinScopeTest>()

    override fun onDestroy() {
        super.onDestroy()
        scope.close() // close tied scope
    }
}

How to use

Application configurations -> App

ImageLoadEngine(if use default image DataBindingAdapter) -> example: GlideEngine

Permission Demo -> PermissionDemoActivity

Http Demo(include download, dsl http request, request by retrofit) -> HttpDemoActivity

LiveDataManagerPool Demo() -> HttpDemoActivity

RecyclerView Demo(include Update Items, add HeaderView/FooterView, MultiItemLayout) -> RecyclerViewDemoActivity

MultiDisplay Demo -> MultiItemDisplayActivity

ImageDisplay and DataStore(alpha branch) Demo -> ImageDisplayActivity, ImageDisplayAlpha

DialogFragment Demo -> DemoDialogFragment, MultiItemDisplayActivity

Background By DataBinding -> activity_shape_display

Paging3 Demo -> PagingDemoActivity

More Koltin Extension Functions can read source code

Third Libraries Implemented at Cov

see -> LibConfigs

proguard rules referer the proguard rules of third library(OkHttp and Retrofit proguard rules has been added)

License

MIT License

Copyright (c) 2020 kuky_xs

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
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].