Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeziellago/flownav
Annotation processor that provides better navigation on android multi-modules projects 🛳.
https://github.com/jeziellago/flownav
android annotation-processor fragments kotlin navigation navigation-component
Last synced: 5 days ago
JSON representation
Annotation processor that provides better navigation on android multi-modules projects 🛳.
- Host: GitHub
- URL: https://github.com/jeziellago/flownav
- Owner: jeziellago
- License: apache-2.0
- Created: 2019-11-20T01:19:25.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-06-24T12:07:45.000Z (over 3 years ago)
- Last Synced: 2024-11-01T03:06:00.718Z (5 days ago)
- Topics: android, annotation-processor, fragments, kotlin, navigation, navigation-component
- Language: Kotlin
- Homepage:
- Size: 310 KB
- Stars: 134
- Watchers: 9
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# FlowNav   [![](https://androidweekly.net/issues/issue-397/badge)](https://androidweekly.net/issues/issue-397) ![](https://github.com/jeziellago/FlowNav/workflows/CI/badge.svg?branch=master) [![Maven Central](https://img.shields.io/maven-central/v/dev.jeziellago/flownav-annotation.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22dev.jeziellago%22%20AND%20a:%22flownav-annotation%22)
FlowNav is a mobile library for Android that helps and provider a better way to make multi-modules navigation.
>The main purpose of this library is to help in cases where you have a project with multiple modules and need to navigate from one feature to another without adding dependency between them. For example, to navigate from module A to module B, you do not need to add module B as a dependency of module A.
>
>There are other ways to solve the problem of module-to-module navigation such as using Intent-filter (which is error-prone and not support fragments). FlowNav solves these problems, either using Activities, native Fragments, or through the Navigation Component.
>
>**Check the [wiki](https://github.com/jeziellago/FlowNav/wiki).**![](https://github.com/jeziellago/FlowNav/blob/master/sample/flownav.png)
#### Processor
```groovy
dependencies {kapt "dev.jeziellago:flownav-processor:$VERSION"
}
```#### Annotation
```groovy
dependencies {implementation "dev.jeziellago:flownav-annotation:$VERSION"
}
```#### Router
```groovy
dependencies {api "dev.jeziellago:flownav-router:$VERSION"
}
```>**`Router` dependency is imported only on the `navigation module`**.
>
>**All other modules will import the `Processor` and `Annotation` dependencies**## Start Now!
* [Import dependencies](https://github.com/jeziellago/FlowNav/wiki/Setup-Dependencies)
* [Init FlowNavApp on Application](https://github.com/jeziellago/FlowNav/wiki/Start-FlowNav)
* [Navigation on Activities](https://github.com/jeziellago/FlowNav/wiki/Navigation-on-Activities)
* [Navigation on Fragments](https://github.com/jeziellago/FlowNav/wiki/Navigation-on-Fragments)
* [Fragments using Navigation Component](https://github.com/jeziellago/FlowNav/wiki/Fragments-using-Navigation-Component)## LICENSE
This project is available under Apache Public License version 2.0. See [LICENSE](LICENSE.md).