All Projects → TakuSemba → Jethub

TakuSemba / Jethub

Licence: apache-2.0
Sample App with Jetpack components(LiveData, Navigation, ViewModel) + MVVM + coroutine + single activity

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Jethub

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 (-31.7%)
Mutual labels:  coroutines, mvvm, viewmodel, navigation, livedata
DeezerClone
This Application using Dagger Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData),Navigation based on MVVM architecture.
Stars: ✭ 81 (-63.84%)
Mutual labels:  navigation, coroutines, mvvm, viewmodel, livedata
Sample Code Movies
This repository contains sample code. Its purpose being, to quickly demonstrate Android and software development in general, clean code, best practices, testing and all those other must know goodies.
Stars: ✭ 81 (-63.84%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Movieapp Clean Architecture
Learning Project (Movie App) For Applying Android Architecture Components And Clean Architecture Using MVVM With Kotlin
Stars: ✭ 123 (-45.09%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Moko Mvvm
Model-View-ViewModel architecture components for mobile (android & ios) Kotlin Multiplatform development
Stars: ✭ 329 (+46.88%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Jetpack Mvvm Scaffold
人生苦短,让脚手架为你节省时间。(目前作为《最佳实践》项目的 Dev 版来优先更新)
Stars: ✭ 239 (+6.7%)
Mutual labels:  mvvm, viewmodel, navigation, livedata
Kotlinjetpackinaction
🔥🔥 Kotlin Jetpack zero to hero. 新手到高手
Stars: ✭ 264 (+17.86%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Wanandroid
Jetpack MVVM For Wanandroid 最佳实践 !
Stars: ✭ 1,004 (+348.21%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Mvvmsmart
基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合ViewModel+Lifecycles+Navigation+DataBinding+LiveData+Okhttp+Retrofit+RxJava+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发高质量、易维护的Android应用。 项目组会持续维护,请放心使用.欢迎Start并Fork交流.
Stars: ✭ 382 (+70.54%)
Mutual labels:  mvvm, viewmodel, navigation, livedata
Jetpack Wanandroid
Kotlin+Jetpack+Coroutines+Retrofit+koin 完成的MVVM 组件化客户端 🔥🔥
Stars: ✭ 353 (+57.59%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
Android Jetpack Demo
🔥 快速入门Android Jetpack以及相关Kotlin、RxJava、MVVM等主流技术,独立构架App的基础技能
Stars: ✭ 335 (+49.55%)
Mutual labels:  mvvm, viewmodel, navigation, livedata
Jetpackmvvm
🐔🏀一个Jetpack结合MVVM的快速开发框架,基于MVVM模式集成谷歌官方推荐的JetPack组件库:LiveData、ViewModel、Lifecycle、Navigation组件 使用Kotlin语言,添加大量拓展函数,简化代码 加入Retrofit网络请求,协程,帮你简化各种操作,让你快速开发项目
Stars: ✭ 1,100 (+391.07%)
Mutual labels:  mvvm, viewmodel, navigation, livedata
Ktarmor Mvvm
👻 Android快速开发框架, KtArmor 寓意着 为Android 赋予战斗装甲, 方便开发者快速进行Android 开发。
Stars: ✭ 148 (-33.93%)
Mutual labels:  coroutines, mvvm, viewmodel, livedata
The Movie Db Kotlin
The Movie DB app using Kotlin with updated Android features
Stars: ✭ 176 (-21.43%)
Mutual labels:  coroutines, mvvm, navigation
Refactored Umbrella
Example of Flow + LiveData w/ Room as single source of truth for data in an MVVM architecture
Stars: ✭ 100 (-55.36%)
Mutual labels:  coroutines, mvvm, livedata
Aachulk
️🔥️🔥️🔥AACHulk是以Google的ViewModel+DataBinding+LiveData+Lifecycles框架为基础, 结合Okhttp+Retrofit+BaseRecyclerViewAdapterHelper+SmartRefreshLayout+ARouter打造的一款快速MVVM开发框架
Stars: ✭ 109 (-51.34%)
Mutual labels:  mvvm, viewmodel, livedata
Harrypotter
🧙🏻 Sample HarryPotter application based on MVVM architecture (ViewModel, LiveData, Repository, Coroutines, Koin or Dagger-Hilt)
Stars: ✭ 116 (-48.21%)
Mutual labels:  coroutines, mvvm, livedata
Android Mvvm Coroutine
Kotlin android application example with MVVM pattern, android architecture, kotlin coroutine, unit test, and UI test
Stars: ✭ 111 (-50.45%)
Mutual labels:  coroutines, viewmodel, livedata
Mvvmframe
🏰 MVVMFrame for Android 是一个基于Google官方推出的Architecture Components dependencies(现在叫JetPack){ Lifecycle,LiveData,ViewModel,Room } 构建的快速开发框架。有了MVVMFrame的加持,从此构建一个MVVM模式的项目变得快捷简单。
Stars: ✭ 218 (-2.68%)
Mutual labels:  mvvm, viewmodel, livedata
Notesnavigation
Navigation Architecture Component from Jetpack sample app
Stars: ✭ 126 (-43.75%)
Mutual labels:  viewmodel, navigation, livedata

Android Sample App using Github API and Jetpack Component.


What's JetHub? 🚀

JetHub is a sample app using Github API and Jetpack components.

The purpose of this project is to try new Android technologies and learn how it works in an app.

Used Libraries



Multi Module / Dynamic Feature Module

This projects consists of multiple modules and some of them are provided as Dynamic Feature Module.

Feature Module

:feed, :search, :pin are feature modules. These are included in base.apk and does not require user to download one later.

Dynamic Feature Module

:repo, :developer are dynamic feature modules. These are not included in base.apk and require user to download one on demand. The details can be learned from here.


Architecture

This app uses MVVM architecture and follows the guildline shown here.

This is also a single-activity application. All screen transitions are done by Navigation.

//--- Activity / Fragments ---//

viewModel.data.observe(this) { data ->
    // do fun things
}) 

//--- ViewModel ---//

val data: LiveData<Data>
repository.getData() // get data from API and/or DB

//--- Repository ---//

api.getData() // get data from API
db.getData() // get data from DB


🚧 Jetpack Compose (Under Development) 🚧

Jetpack Compose is used for the screens of :repo, :developer modules. Therefore, To build this project, you will need the latest canary version of Android Studio Preview. I'm currently migrating to Jetpack Compose and the design is in progress for now.

Dark Theme

Dark Theme is supported. You can toggle theme by tapping the theme icon on top right corner. The selected theme would be retained in application scope for the sake of demo application.

Github API Token

This project is based on GitHub API. You can set your own token in local.properties and JetHub will use the token for every single request to Github.

If you do not have a GitHub token, that's fine. You can use this app without a token, but the number of API call is very limited by Github. You can see the details from this link.

// local.properties
api_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Author

Licence

Copyright 2017 Taku Semba.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
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].