{"id":48680738,"url":"https://github.com/Kosert/FlowBus","last_synced_at":"2026-04-26T20:00:43.474Z","repository":{"id":91733860,"uuid":"372033994","full_name":"Kosert/FlowBus","owner":"Kosert","description":"Event Bus powered by Kotlin Coroutines Flow","archived":false,"fork":false,"pushed_at":"2023-09-07T09:19:56.000Z","size":150,"stargazers_count":35,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-10-20T21:03:16.774Z","etag":null,"topics":["android","android-library","coroutines-android","flow","kotlin","kotlin-android","kotlin-coroutines","kotlin-flow"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kosert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-05-29T17:33:13.000Z","updated_at":"2023-10-20T21:03:39.989Z","dependencies_parsed_at":null,"dependency_job_id":"9930e541-e256-4897-b861-9b817d89b756","html_url":"https://github.com/Kosert/FlowBus","commit_stats":null,"previous_names":[],"tags_count":4,"template":null,"template_full_name":null,"purl":"pkg:github/Kosert/FlowBus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kosert%2FFlowBus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kosert%2FFlowBus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kosert%2FFlowBus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kosert%2FFlowBus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kosert","download_url":"https://codeload.github.com/Kosert/FlowBus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kosert%2FFlowBus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32310804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T19:15:34.056Z","status":"ssl_error","status_checked_at":"2026-04-26T19:15:15.467Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-library","coroutines-android","flow","kotlin","kotlin-android","kotlin-coroutines","kotlin-flow"],"created_at":"2026-04-11T01:00:36.059Z","updated_at":"2026-04-26T20:00:43.468Z","avatar_url":"https://github.com/Kosert.png","language":"Kotlin","funding_links":[],"categories":["进程间通信"],"sub_categories":["Spring Cloud框架"],"readme":"# FlowBus\n\n[![](https://jitpack.io/v/Kosert/FlowBus.svg)](https://jitpack.io/#Kosert/FlowBus)\n\nFlowBus is a kotlin event bus implementation.\n\n- **Powered by Kotlin Coroutines and Flows**\n- **Android MainThread-aware**\n- **Fully operable from Java code**\n\n## Example\n\n### Subscribing\n\nMost common Android use case will consist of subscribing in your Activity/Fragment `onStart` method and unsubscribing in `onStop`.\nYou can also use `bindLifecycle` extension to automatically unsubscribe when lifecycle reaches STOPPED state.\n\n```kotlin\nclass SomeActivity : AppCompatActivity() {\n\n    private val receiver = EventsReceiver()\n\n    override fun onStart() {\n        super.onStart()\n        receiver\n            .bindLifecycle(this)\n            .subscribe { event: MyEvent -\u003e\n                // handle new event\n            }\n    }\n```\n\n### Posting\n\nInstance of any class can posted as an event.\n\n```kotlin\nGlobalBus.post(MyEvent())\n```\nFor more examples [see example app](https://github.com/Kosert/FlowBus/tree/master/app)  \nFor detailed documentation [check the wiki](https://github.com/Kosert/FlowBus/wiki).\n\n## Include in your project\n\nFlowBus is available on Jitpack.  \nAdd jitpack repo in your project root `build.gradle`:\n\n```gradle\nallprojects {\n    repositories {\n        maven { url 'https://jitpack.io' }\n    }\n}\n```\n\nIn your module's `build.gradle`:\n\n```gradle\ndependencies {\n    // core package:\n    implementation 'com.github.Kosert.FlowBus:FlowBus:1.1'\n    \n    // android extensions:\n    implementation 'com.github.Kosert.FlowBus:FlowBus-android:1.1'\n}\n```\n\n## License\n\n```\nCopyright 2021 Robert Kosakowski\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKosert%2FFlowBus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKosert%2FFlowBus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKosert%2FFlowBus/lists"}