All Projects → wwy863399246 → WanAndroid

wwy863399246 / WanAndroid

Licence: Apache-2.0 license
Kotlin+JetPack+协程+retrofit2实现的MVVM架构Material Design风格版Wanandroid客户端

Programming Languages

kotlin
9241 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to WanAndroid

bitcoin-market-android
Bitcoin Market app shows you the current Bitcoin market price and price chart of different time intervals 💰
Stars: ✭ 284 (+311.59%)
Mutual labels:  coroutines, jetpack
Coffeegram
Android app using Jetpack Compose together with StateFlow and MVI
Stars: ✭ 155 (+124.64%)
Mutual labels:  coroutines, jetpack
WanAndroidJetpack
🔥 WanAndroid 客户端,Kotlin + MVVM + Jetpack + Retrofit + Glide。基于 MVVM 架构,用 Jetpack 实现,网络采用 Kotlin 的协程和 Retrofit 配合使用!精美的 UI,便捷突出的功能实现,欢迎下载体验!
Stars: ✭ 124 (+79.71%)
Mutual labels:  coroutines, jetpack
ChatApp
Chat app based on Firebase tools.
Stars: ✭ 88 (+27.54%)
Mutual labels:  coroutines, jetpack
DemoApp
An Android template project for fast development and test.
Stars: ✭ 33 (-52.17%)
Mutual labels:  coroutines, jetpack
Rick-and-Morty
The Rick And Morty - MVVM with a clean architecture approach using some of the best practices in Android Development.
Stars: ✭ 45 (-34.78%)
Mutual labels:  coroutines, jetpack
DeezerClone
This Application using Dagger Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData),Navigation based on MVVM architecture.
Stars: ✭ 81 (+17.39%)
Mutual labels:  coroutines, jetpack
Jetpack Kotlin Eyepetizer
一款基于Kotlin + Jetpack核心组件 + 协程 + 组件化实现的精美仿开眼视频App(提供Flutter、React Native、小程序版本 😁 )
Stars: ✭ 82 (+18.84%)
Mutual labels:  coroutines, jetpack
Delish
Delish, a Food Recipes App in Jetpack Compose and Hilt based on modern Android tech-stacks and MVI clean architecture.
Stars: ✭ 356 (+415.94%)
Mutual labels:  coroutines, jetpack
raffler-kotlin
A raffling app developed as a playground to study many topics related to Android. Kotlin + Coroutines + MVVM
Stars: ✭ 44 (-36.23%)
Mutual labels:  coroutines, jetpack
Compose-BreakingBad
🧪 ☠︎ Jetpack Compose - Breaking Bad ☢︎
Stars: ✭ 26 (-62.32%)
Mutual labels:  coroutines, jetpack
StarWarsSearch-MVI
Star wars sample android project showcasing the use of View components for rendering UI in Fragments and Activities. Uses Android Jetpack, clean architecture with MVI (Uni-directional data flow), dagger hilt, and kotlin coroutines with StateFlow
Stars: ✭ 189 (+173.91%)
Mutual labels:  coroutines, jetpack
modern-android
Modern Android Project Skeleton
Stars: ✭ 17 (-75.36%)
Mutual labels:  coroutines, jetpack
KotlinEverywhere
This application created for Kotlin Everywhere series as a codelab. It will show step by step Kotlin and Android Jetpack Components fundamentals. 🚀🚀
Stars: ✭ 52 (-24.64%)
Mutual labels:  coroutines, jetpack
Simple-Notes-Kotlin-App
✍️ Simple Note Making App use mvvm architecture , dagger , coroutines and navigation component. Features includes 🗒️ create , edit and ❌ delete notes
Stars: ✭ 40 (-42.03%)
Mutual labels:  coroutines, jetpack
Sunset-hadith
Islamic app written with Kotlin, using KTOR + coroutines + flow + MVVM + Android Jetpack + Navigation component. Old version using RxJava + Retrofit + OKHttp
Stars: ✭ 26 (-62.32%)
Mutual labels:  coroutines
ComposeNotes
Notes app with full jetpack compose architecture (UI + navigation). Uses MVVM, Room, Kotlin Flows & LiveData
Stars: ✭ 32 (-53.62%)
Mutual labels:  coroutines
qcoro
C++ Coroutines for Qt
Stars: ✭ 150 (+117.39%)
Mutual labels:  coroutines
Android-Assignment
This assignment gives you basically a post list and its detail with comments.🚀
Stars: ✭ 32 (-53.62%)
Mutual labels:  coroutines
Compose-ShoppingList
Jetpack compose shopping list app
Stars: ✭ 52 (-24.64%)
Mutual labels:  jetpack

学习Kotlin,JetPack,协程的Wanandroid客户端

  • Kotlin语言编程,JetPack组件架构,Material Design风格
  • Repository层实现业务逻辑,ViewModel控制视图逻辑,并用Koin框架依赖注入
  • 使用Retrofit,Room(用户信息,阅读历史),协程构建数据层

亮点功能

  • 参考bilili启动页style适配
  • 仿酷安动态换肤,夜间模式(灵活使用theme及系统属性,用最少的资源文件和代码实现动态换肤,可参考https://juejin.im/post/6844904200673968141)
  • 用户信息,阅读历史使用room数据库,配合flow,livedata,实现可观察性

效果图展示

项目效果图

APK下载:

添加依赖后如何使用koin依赖注入viewmodel,repository

  • 1.1 新建AppModulel类
val viewModelModule = module {
    viewModel { HomePageViewModel(get(), get()) }
}
val repositoryModule = module {
    single { RemoteDataSource() }
    single { ArticleUserCase(get()) }
    single { MainRepository(get()) }
}
val appModule = listOf(viewModelModule, repositoryModule)
  • 1.2 MyApplication
startKoin {
            androidLogger(Level.INFO)
            androidContext(this@MyApplication)
            modules(appModule)
        }
  • 1.3 Repository,Viewmodel
class ArticleUserCase(private val remoteDataSource: RemoteDataSource) {
}
class MainRepository(private val homeRemoteDataSource: RemoteDataSource) {
}
class HomePageViewModel(private val mainRepository : MainRepository, private val articleUserCase:ArticleUserCase) : BaseViewModel() {
}
  • 1.4 Activity,Fragment中
class HomePageFragment : BaseVMFragment<HomePageViewModel>(), OnLoadMoreListener {
   override fun initVM(): HomePageViewModel = getViewModel()
}

关于Android应用架构指南可参考文章

开源库

特别感谢

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].