An Android library that simplifies starting Activities, Fragments, Services, and BroadcastReceivers with arguments using annotations.
ActivityStarter is an Android library that simplifies passing arguments between Android components like Activities, Fragments, Services, and BroadcastReceivers. It uses annotation processing to generate starter methods, eliminating the need for manual `putExtra` and `getExtra` calls with string keys. The library reduces boilerplate code and makes intent creation more type-safe and maintainable.
Android developers working with Java or Kotlin who frequently pass data between Android components and want to reduce boilerplate code and eliminate error-prone string keys for intent extras.
Developers choose ActivityStarter because it provides a clean, annotation-based API that generates type-safe starter methods, eliminating manual intent and bundle handling. It supports both Java and Kotlin, integrates with Parceler for complex objects, and reduces common errors associated with string keys and type casting.
Simple Android Library, that provides easy way to start the Activities with arguments.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses @Arg annotations to automatically generate starter methods like start() and getIntent(), removing manual putExtra and getExtra calls with error-prone string keys as shown in the example code.
Generates compile-time checked starter methods for Activities, Fragments, Services, and BroadcastReceivers, ensuring argument types match without runtime errors.
Provides property delegates (argExtra) for Kotlin, supporting nullable and non-null properties with lazy initialization, as demonstrated in the Kotlin usage section.
Allows arguments to be marked optional with @Arg(optional=true), generating multiple overloaded starter methods for different argument combinations, reducing method clutter.
The library is explicitly marked as not maintained and requires adjustments for newer Android versions and Gradle, posing compatibility risks for modern projects.
Adds build-time complexity with apt/kapt dependencies, increasing compilation times compared to manual intent handling, especially in larger projects.
Focuses on traditional Android components like Activities and Fragments, with no native support for Jetpack Navigation or Compose, making it less suitable for contemporary architectures.