30 open-source projects similar to pedrovgs/effectiveandroidui, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
This project is a reference implementation of the Model-View-Presenter (MVP) architecture for Android applications. It focuses on separating business logic from the user interface by decoupling data logic, UI presentation, and view layers. The implementation distinguishes itself through the inclusion of a boilerplate generator that automatically creates the activity, presenter, and view files required for the MVP pattern. It utilizes a compile-time dependency injection framework to manage object lifetimes and a reactive programming workflow to handle asynchronous data streams and event propag
This project is a reference Kotlin Android application template and a set of sample implementations demonstrating Clean Architecture principles. It provides a structural design that isolates core business rules from the user interface and data sources into distinct, layered modules. The implementation focuses on the Model-View-ViewModel (MVVM) pattern to decouple UI logic from data models. It utilizes a dependency injection framework to automate object creation and manage component lifecycles, while employing a repository pattern to abstract data requests across memory, disk, and cloud source
LearningNotes is a technical knowledge base and engineering study guide focused on Android framework internals, system architecture, and mobile performance optimization. It serves as a reference for analyzing the Android boot sequence, process bootstrapping, and system service initialization. The project provides detailed guides on mobile performance, including strategies for reducing memory footprints, identifying memory leaks, and optimizing image decoding. It further covers Android inter-process communication using AIDL and the Binder kernel driver, as well as software architecture manuals
This project is a collection of reference implementations and code samples for building cross-platform user interfaces using the Xamarin.Forms framework. It provides practical examples for developing mobile and desktop applications from a single codebase targeting multiple operating systems. The repository focuses on architectural patterns and integration strategies, specifically demonstrating the use of MVVM to synchronize data between models and views. It includes samples for native platform integration, such as invoking platform-specific APIs and creating custom renderers to override defau
AndroidAnnotations is a boilerplate generator and component annotation library designed for Android development. It functions as a dependency injection framework that uses custom annotations to automate the wiring of activities, fragments, and services. The project focuses on reducing manual plumbing through the automation of Android boilerplate. It provides automated solutions for dependency injection and view binding, removing the need for repetitive calls to locate UI elements or manually write factory classes. The library covers activity lifecycle management and the generation of standar
MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android Architecture Components. It provides a pre-integrated foundation designed to decouple business logic from user interface rendering and lifecycle management. The project distinguishes itself by bundling a comprehensive set of architectural templates, including a reactive event bus for decoupled component communication, token-based data exchange between logic instances, and a single-activity fragment hosting system to reduce manifest overhead. The framework covers broad capability
This project is a reference implementation of the Model-View-Presenter architecture for Android applications. It serves as a structural example of how to separate business logic from the user interface through a presenter-based framework. The implementation focuses on a clean architecture approach, using presenters to mediate all communication between the data model and the view. It employs a passive view pattern and interface-based decoupling to isolate the user interface from domain rules. The architecture incorporates interactor-based domain logic and layered separation to reduce systemic
Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and lifecycle management. It functions as a static dependency injector and graph validator, resolving object requirements during the build process to avoid runtime reflection and prevent crashes caused by missing bindings. The framework distinguishes itself by using static analysis and code generation to produce factory classes at build time. It employs qualifier-based type differentiation to manage multiple implementations of the same type and provides scope-based lifecycle management
Mosby is a presentation layer framework for Android applications designed to manage application state and user intents. It functions as an architectural tool that implements both Model-View-Intent (MVI) and Model-View-Presenter (MVP) patterns. The framework utilizes a unidirectional data flow to maintain a single source of truth, ensuring that state updates remain predictable by processing intents through a single logic path. It separates business logic from the view layer to decouple presentation logic from Android Activity and Fragment classes. The system provides capabilities for state ma
KotlinMvp is a short-video Android application developed with Kotlin. It utilizes the Model-View-Presenter architectural pattern to maintain a clear separation between business logic and the user interface. The project integrates a short-video playback interface that supports content discovery through category filtering and popularity rankings. It employs a Retrofit REST client for network communication and the RxJava reactive framework to manage asynchronous data streams and background tasks. Image loading and caching are handled via the Glide image loader. The application includes capabili
BottomBar is an Android UI component that implements a Material Design bottom navigation bar. It serves as a reusable layout element for organizing top-level application destinations through a system of selectable tabs. The component features an adaptive layout system that optimizes horizontal space for tablet displays and uses density-aware adjustments for different screen dimensions. It includes a notification badge system to alert users of updates and supports conditional selection interception to prevent navigation based on application state or permissions. The library covers a broad ran
AndroidX is the official collection of Android Jetpack libraries for building Android applications. It provides a suite of backward-compatible APIs that expose modern platform features on older Android versions, ensuring consistent functionality across devices. The project is built around lifecycle-aware component architecture, with tools like ViewModel for preserving UI data across configuration changes, LiveData for lifecycle-aware data observation, and WorkManager for constraint-based background task scheduling. The project distinguishes itself through compile-time code generation and type
Fragmentation is an Android fragment management library and navigation framework. It coordinates the lifecycle, transactions, and navigation of fragments to reduce boilerplate code. The framework provides a system for handling back-stack operations, transition animations, and activity-like launch modes between fragments. It includes a navigation debugger with visual tools for inspecting the fragment hierarchy and monitoring the navigation stack in real time. The library covers fragment communication through activity-scoped event buses, lifecycle coordination with lazy view initialization, an
This project is a clean architecture reference implementation and modular project template for Android development. It provides a structural blueprint designed to isolate business logic from external frameworks and user interfaces. The template emphasizes a modular approach to organize code into independent modules, which is intended to improve build times and long-term project scalability. It demonstrates the application of domain-driven design to keep core business rules and entities independent from the underlying platform. The implementation covers several key architectural patterns, inc
MvvmCross is a .NET MVVM framework designed for building cross-platform applications by separating business logic from native user interfaces. It functions as a navigation engine and a UI data binding library, enabling the encapsulation of logic within view models that are reused across different operating systems. The framework provides a native hardware abstraction layer and a dependency injection container to decouple components and provide a consistent interface for accessing device features. It coordinates type-safe transitions between native screens and manages the synchronization of da
Compose Samples is a collection of reference implementations for the Jetpack Compose UI library, serving as a practical guide for building native Android user interfaces. It demonstrates the use of a declarative framework where Kotlin functions describe layout structures and data dependencies, enabling developers to construct modern, reactive interfaces. The repository highlights architectural patterns that prioritize maintainability and testability, such as layered organization and unidirectional data flow. It showcases how to implement adaptive layouts that automatically adjust to various s
This repository is a collection of reference implementations and galleries demonstrating best practices for the Android View system. It provides a set of practical examples for building user interfaces, including a component gallery and implementation guides for layouts, list performance, and motion design. The project distinguishes itself through detailed samples for coordinating layout animations and transition effects. It includes specialized demonstrations for complex motion animations using keyframes and interpolation, as well as a visualization tool for animation interpolation curves to
This project is a sample implementation of an audio playback application for the Android platform. It serves as a reference for building music players that utilize standard media APIs and system-level audio management. The implementation demonstrates the integration of media session controls for external hardware and provides a reference for synchronizing media playback and control states across multiple connected hardware devices. The project covers several core areas of Android audio development, including background playback services, media store querying, and declarative user interface c
This project provides a collection of instructional guides and tutorials for Android app development, native mobile application creation, and computer science education. It focuses on building native applications through step-by-step implementation, covering the development of user interfaces and the integration of system hardware and permissions. The material extends into broader technical domains, including the study of fundamental data structures and algorithms for technical interview preparation. It also covers cybersecurity fundamentals, such as identifying web vulnerabilities and implem
BoomMenu is an Android radial menu library and UI animation framework designed to create expandable floating action buttons. It provides a set of programmable custom view components that reveal submenu items in radial, horizontal, or vertical patterns using 3D transformations. The library distinguishes itself through a 3D-transformation animation engine that utilizes non-linear easing, scaling, and rotation to create depth during menu expansion. It includes specialized layout patterns for share-style menus and a coordinate-based mapping system for precise item displacement. The framework cov
This is a Go backend template that structures a web service into domain, usecase, controller, and repository layers with strict dependency inversion. It provides a foundation for building maintainable and testable REST APIs by separating business logic from transport and data access concerns. The project implements JWT-based authentication, issuing access and refresh tokens for user signup, login, and protected endpoint access. It uses the Gin HTTP framework to build a Docker-packaged REST API with public and private route groups, request validation, and middleware-based authentication. Depen
ahbottomnavigation is an Android UI component library that provides a view-based bottom navigation bar for implementing tabbed interfaces. It functions as a navigation framework for managing active tab states and triggering application logic through user interactions with a menu of three to five items. The library includes a dynamic notification badge system that renders visual overlays on navigation items to alert users to pending updates. It also features an interactive view manager that coordinates navigation bar visibility and transitions based on real-time scroll events. The component c
BottomNavigation is an Android UI component library used to implement a standard navigation bar at the bottom of a mobile screen. It provides a reusable interface for accessing top-level application destinations while following mobile design standards. The library includes a notification badge system to alert users of new content or pending actions on navigation tabs. This system allows for the customization of the colors, shapes, borders, and positions of these indicators, as well as control over their visibility. The project covers broader mobile UI customization, enabling the modification
Android-ZBLibrary is a mobile framework providing core primitives for Android development, including a Model-View-Presenter framework for structural architecture, a network request wrapper, and a local data persistence layer. It also includes a library of reusable interface elements and a background task manager to maintain user interface responsiveness. The framework decouples business logic from user interfaces through its MVP implementation and manages external service integration via tools for HTTP communication, JSON processing, and response caching. The library covers a broad set of ca
MVPArms is an Android application framework based on the Model-View-Presenter pattern. It provides a foundation for decoupling business logic from user interface components through a structured architectural implementation. The framework features automated boilerplate generation to produce base classes and dependency injection files, reducing manual project setup. It includes a centralized configuration system to manage global application settings and a dependency injection wrapper that bundles networking and image loading libraries. The project covers lifecycle management by binding logic c
mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle of beans, including instantiation, property population, and scope management, while providing a system for automating the wiring of components. The project implements a Java AOP framework that uses dynamic proxies to intercept method calls for cross-cutting logic. It also functions as a Java component scanner to automatically discover and register managed objects via annotations and as a Java event bus to decouple components through a publish-subscribe multicast system. The
This project is a comprehensive guide to architectural patterns and design techniques for building modular user interfaces with React. It focuses on structuring component hierarchies, implementing state management patterns, and decoupling services to ensure applications remain maintainable and scalable. The collection emphasizes strategies for dependency injection and the separation of business logic from presentation layers. It provides detailed approaches for utilizing containers, higher-order components, and module registries to isolate external services and third-party libraries from the
Guice is a Java dependency injection framework and component container. It automates object wiring by mapping interfaces to implementations via a central injector, removing the need for manual factory patterns and constructor calls. The framework provides specialized support for aspect-oriented programming, allowing for the interception and modification of method execution to implement shared cross-cutting concerns. It also functions as a persistence manager to coordinate transaction boundaries and manage the lifecycle of entity managers within a dependency-injected environment. Its core cap
This repository provides a collection of runnable code samples that demonstrate best practices for building Android user interfaces across a wide range of devices and scenarios. The samples cover the full spectrum of modern Android UI patterns, from adaptive layouts that automatically adjust to large screens and foldable devices to interactive home screen widgets and conversation-style notifications. The samples explore key capability areas including adaptive layouts powered by window size classes, foldable screen adaptation with hinge state handling, and declarative UI construction using Com
This is an open-source Android application that serves as a reference implementation for modern app architecture. It demonstrates a modular, testable structure built with Kotlin, Coroutines, and Jetpack libraries, organized into independent feature modules that each follow Clean Architecture and the MVVM pattern. The project enforces coding standards through an automated static analysis pipeline that integrates linting, formatting checks, and code quality tools directly into the build process, failing the build on any violations. It uses reusable Gradle convention plugins to standardize build