All Projects → liangjingkanji → Channel

liangjingkanji / Channel

Licence: apache-2.0
一行代码发送和接收事件LiveData|LifeCycle|Coroutine特性的事件总线框架

Programming Languages

kotlin
9241 projects
dsl
153 projects

Projects that are alternatives of or similar to Channel

Liveeventbus
📬EventBus for Android,消息总线,基于LiveData,具有生命周期感知能力,支持Sticky,支持AndroidX,支持跨进程,支持跨APP
Stars: ✭ 3,192 (+2855.56%)
Mutual labels:  eventbus, livedata
Unpeek Livedata
LiveData 数据倒灌:别问,问就是不可预期 - Perfect alternative to SingleLiveEvent, supporting multiple observers.
Stars: ✭ 208 (+92.59%)
Mutual labels:  eventbus, livedata
Elegantbus
🔥🔥Android 平台,基于LivaData的EventBus,无侵入,更优雅,支持跨进程,跨应用粘性事件,自定义事件等功能。
Stars: ✭ 156 (+44.44%)
Mutual labels:  eventbus, livedata
DeezerClone
This Application using Dagger Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData),Navigation based on MVVM architecture.
Stars: ✭ 81 (-25%)
Mutual labels:  coroutine, livedata
Yii2 Swoole
full solutions making yii2-framework run on swoole with coroutine.
Stars: ✭ 86 (-20.37%)
Mutual labels:  coroutine
Fluxxan
Fluxxan is an Android implementation of the Flux Architecture that combines concepts from both Fluxxor and Redux.
Stars: ✭ 80 (-25.93%)
Mutual labels:  eventbus
Ycsocket
基于swoole的socket框架,支持协程版MySQL、Redis连接池,已用于大型RPG游戏服务端
Stars: ✭ 77 (-28.7%)
Mutual labels:  coroutine
Elements
⚒ Modular components for RecyclerView development enforcing clean, reusable and testable code, with built-in support for paging and complex hierarchies of data.
Stars: ✭ 75 (-30.56%)
Mutual labels:  livedata
Powerpermission
Android Permission lib PowerPermission makes handling runtime permissions extremely easy.
Stars: ✭ 103 (-4.63%)
Mutual labels:  livedata
Roomdb Sample
A simple notes app to demo Room + LiveData implementation in Android
Stars: ✭ 100 (-7.41%)
Mutual labels:  livedata
Androidanimationexercise
Android 动画各种实现,包括帧动画、补间动画和属性动画的总结分享
Stars: ✭ 1,254 (+1061.11%)
Mutual labels:  coroutine
Locationlivedata
A simple LiveData implementation of Android Location API
Stars: ✭ 81 (-25%)
Mutual labels:  livedata
Rabbus
A tiny wrapper over amqp exchanges and queues 🚌 ✨
Stars: ✭ 86 (-20.37%)
Mutual labels:  eventbus
Price Tracker
Price Tracking Application - An experimental Kotlin Android project with complex android app requirements.
Stars: ✭ 80 (-25.93%)
Mutual labels:  livedata
Refactored Umbrella
Example of Flow + LiveData w/ Room as single source of truth for data in an MVVM architecture
Stars: ✭ 100 (-7.41%)
Mutual labels:  livedata
Ktarmor
👻 Android快速开发框架, KtArmor 寓意着 为Android 赋予战斗装甲, 方便开发者快速进行Android 开发。
Stars: ✭ 76 (-29.63%)
Mutual labels:  livedata
Rabbitevents
Nuwber's events provide a simple observer implementation, allowing you to listen for various events that occur in your current and another application. For example, if you need to react to some event published from another API.
Stars: ✭ 84 (-22.22%)
Mutual labels:  eventbus
Event
📢 Lightweight event manager and dispatcher implements by Go. Go实现的轻量级的事件管理、调度程序库, 支持设置监听器的优先级, 支持根据事件名称来进行一组事件的监听
Stars: ✭ 99 (-8.33%)
Mutual labels:  eventbus
Resugan
simple, powerful and unobstrusive event driven architecture framework for ruby
Stars: ✭ 82 (-24.07%)
Mutual labels:  eventbus
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 (-25%)
Mutual labels:  livedata

Channel

基于最新特性的Android事件分发框架

使用文档

特点

  • [x] 基于kotlin的优雅函数设计
  • [x] 基于协程实现异步处理和异常捕捉
  • [x] 基于liveData实现前台数据接收
  • [x] 基于lifeCycle实现生命周期绑定
  • [x] 无注解不增加编译耗时
  • [x] 体积小巧仅6kb
  • [x] 完善的文档和帮助
  • [x] 上手简单, 仅四个主要函数

功能

  • [x] 发送消息 + 标签事件
  • [x] 仅发送标签
  • [x] 自动注销(支持手动取消观察者)
  • [x] 接收消息属于异步主线程作用域
  • [x] 消息延迟到应用前台时接收(liveData)

在项目根目录的 build.gradle 添加仓库

allprojects {
    repositories {
        // ...
        maven { url 'https://jitpack.io' }
    }
}

在 module 的 build.gradle 添加依赖

implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9"

implementation 'com.github.liangjingkanji:Channel:1.1.2'

License

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