20 Repos
Structural design patterns and best practices for building maintainable Android applications.
Distinct from Android App Modularization: Shortlist candidates focus on execution and modularization rather than the high-level architectural pattern of the entire app.
Explore 20 awesome GitHub repositories matching mobile development · Android App Architecture Patterns. Refine with filters or upvote what's useful.
LearningNotes ist eine technische Wissensdatenbank und ein Engineering-Studienleitfaden, der sich auf Android-Framework-Interna, Systemarchitektur und mobile Leistungsoptimierung konzentriert. Er dient als Referenz für die Analyse der Android-Boot-Sequenz, des Prozess-Bootstrappings und der Initialisierung von Systemdiensten. Das Projekt bietet detaillierte Anleitungen zur mobilen Leistung, einschließlich Strategien zur Reduzierung von Speicher-Footprints, zur Identifizierung von Speicherlecks und zur Optimierung der Bilddekodierung. Es deckt zudem die Android-Inter-Prozess-Kommunikation mittels AIDL und dem Binder-Kernel-Treiber ab sowie Softwarearchitektur-Handbücher zur Entkopplung von Geschäftslogik von Benutzeroberflächen durch Muster wie MVVM und MVP. Über die mobile Entwicklung hinaus enthält das Repository eine Informatik-Wissensdatenbank zur Vorbereitung auf technische Vorstellungsgespräche, die Datenstrukturen, Algorithmen und Betriebssystemkonzepte abdeckt. Es bietet zudem eine praktische Referenz für die Git-Versionskontrolle, die Repository-Management, Synchronisierung und Branching-Workflows detailliert beschreibt.
Analyzes the application of MVVM and dependency inversion patterns to decouple business logic from the presentation layer.
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
Provides a foundation for building maintainable mobile apps using MVVM and Google Architecture Components.
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
Demonstrates a modular, testable Android application architecture using modern Jetpack libraries, Clean Architecture, and feature modules.
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
Provides structural design patterns and best practices for building maintainable Android applications.
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
Provides opinionated, lifecycle-aware components that reduce boilerplate and make configuration changes easier to handle.
EffectiveAndroidUI ist eine Sammlung von Referenzimplementierungen und Beispielprojekten, die Android-UI-Architekturmuster, Navigationsstrategien und Ressourcenverwaltungstechniken demonstrieren. Sie bietet praktische Beispiele für die Implementierung von Model-View-Presenter- und Model-View-ViewModel-Mustern, um Geschäftslogik von der Benutzeroberfläche zu trennen. Das Projekt enthält Demonstrationen zentralisierter Bildschirmübergangslogik und Kommunikation zwischen Fragmenten. Es umfasst Beispiele für Ressourcenverwaltung unter Verwendung benutzerdefinierter Qualifizierer, um Assets zu organisieren und Layouts basierend auf Bildschirmdichte und -größe anzupassen. Das Repository deckt breite Funktionsbereiche ab, einschließlich Abhängigkeitsverwaltung zur Steuerung von Objektlebenszyklen, Layout-Optimierung für responsive Interfaces und Listen-Performance-Optimierung mittels View-Recycling für große Datensätze.
Demonstrates structural design patterns like MVP and MVVM for building maintainable Android applications.
Dieses Projekt ist eine Referenzimplementierung der Model-View-Presenter-Architektur für Android-Anwendungen. Es dient als strukturelles Beispiel dafür, wie Geschäftslogik durch ein Presenter-basiertes Framework von der Benutzeroberfläche getrennt werden kann. Die Implementierung konzentriert sich auf einen Clean-Architecture-Ansatz und nutzt Presenter, um die gesamte Kommunikation zwischen Datenmodell und View zu vermitteln. Sie verwendet ein Passive-View-Muster und eine Interface-basierte Entkopplung, um die Benutzeroberfläche von Domänenregeln zu isolieren. Die Architektur integriert Interactor-basierte Domänenlogik und eine schichtweise Trennung, um die systemische Kopplung zu reduzieren. Diese Struktur ermöglicht plattformunabhängige Unit-Tests, wodurch die Anwendungslogik innerhalb einer Standard-Java-Virtual-Machine verifiziert werden kann, ohne das Android-Framework oder ein physisches Gerät zu benötigen.
Structures the Android application using MVP patterns to ensure maintainability and separation of concerns.
Dieses Projekt ist eine kuratierte Sammlung technischer Interview-Leitfäden und Referenzmaterialien mit Fokus auf Android-Entwicklung und Systemarchitektur. Es bietet eine strukturierte Reihe täglicher Interviewfragen und detaillierter Antworten, die darauf ausgelegt sind, Softwareingenieuren bei der Vorbereitung auf professionelle Vorstellungsgespräche zu helfen. Das Repository enthält spezifische Studienführer für Grundlagen der Programmiersprache Kotlin und Android-Architekturmuster. Diese Materialien sind in kategorisierte technische Probleme und Lösungen über verschiedene Informatikdomänen hinweg organisiert, die für die mobile Entwicklung relevant sind. Der Inhalt wird über Markdown-formatierte Dateien und eine statische Dateistruktur bereitgestellt, wobei ein Versionskontroll-Workflow genutzt wird, um regelmäßige Updates bereitzustellen.
Explains core design patterns and structural best practices for modern Android applications.
Mosby ist ein Presentation-Layer-Framework für Android-Anwendungen, das dazu entwickelt wurde, Anwendungszustand und Benutzerabsichten (Intents) zu verwalten. Es fungiert als architektonisches Werkzeug, das sowohl Model-View-Intent (MVI) als auch Model-View-Presenter (MVP)-Muster implementiert. Das Framework nutzt einen unidirektionalen Datenfluss, um eine Single Source of Truth aufrechtzuerhalten, wodurch sichergestellt wird, dass Zustandsaktualisierungen vorhersehbar bleiben, indem Intents durch einen einzigen Logikpfad verarbeitet werden. Es trennt die Geschäftslogik von der View-Schicht, um die Präsentationslogik von Android-Activity- und Fragment-Klassen zu entkoppeln. Das System bietet Funktionen für Zustandsmanagement und Navigationskoordination, wobei der Anwendungszustand mit Bildschirmübergängen synchronisiert wird.
Offers structural design patterns for organizing Android applications to separate business logic from the user interface.
Dieses Projekt bietet eine Reihe von Android-Entwicklungsrichtlinien, Architekturstandards und einen Coding-Styleguide. Es etabliert einheitliche Formatierungs- und Implementierungsregeln, um die Code-Konsistenz und Wartbarkeit für Anwendungen auf der Android-Plattform sicherzustellen. Das Projekt enthält eine standardisierte Projektstrukturvorlage, die konsistente Ordnerhierarchien und Dateilayouts definiert. Diese Standards wurden entwickelt, um eine vorhersehbare Entwicklungserfahrung über mehrere Arbeitsabläufe hinweg zu gewährleisten. Die Richtlinien decken Architekturmuster ab, einschließlich der schichtbasierten Trennung von Geschäftslogik und Präsentation, funktionsbasierter Modulisolierung und unidirektionalem Datenfluss. Zudem werden die Verwendung von Interface-gesteuerter Dependency Injection und eine standardisierte Pakethierarchie behandelt.
Defines architectural design patterns and structural guidelines for building maintainable Android applications.
Dieses Projekt ist eine Kotlin-Android-Referenzanwendung und eine Reihe von Beispielimplementierungen, die Prinzipien der Clean Architecture demonstrieren. Es bietet ein strukturelles Design, das Kern-Geschäftsregeln von der Benutzeroberfläche und den Datenquellen in distinkte, geschichtete Module isoliert. Die Implementierung konzentriert sich auf das Model-View-ViewModel-Muster (MVVM), um UI-Logik von Datenmodellen zu entkoppeln. Sie nutzt ein Dependency-Injection-Framework, um die Objekterstellung zu automatisieren und Komponenten-Lebenszyklen zu verwalten, während sie ein Repository-Muster verwendet, um Datenanfragen über Speicher-, Festplatten- und Cloud-Quellen hinweg zu abstrahieren. Die Architektur integriert eine funktionsbasierte Paketorganisation und modulare Build-Konfigurationen, um Konsistenz über das Projekt hinweg zu wahren. Sie enthält zudem eine umfassende Teststrategie, die Unit-Tests für Geschäftslogik mit Instrumentierung für die UI und Mock-Module für die Validierung der Datenebene kombiniert.
Demonstrates structural design patterns and Clean Architecture principles for building maintainable Android applications.
Dieses Projekt ist eine Referenzimplementierung der Model-View-Presenter (MVP)-Architektur für Android-Anwendungen. Es konzentriert sich auf die Trennung von Geschäftslogik und Benutzeroberfläche durch die Entkopplung von Datenlogik, UI-Präsentation und View-Layern. Die Implementierung zeichnet sich durch die Einbindung eines Boilerplate-Generators aus, der automatisch die für das MVP-Muster erforderlichen Activity-, Presenter- und View-Dateien erstellt. Sie nutzt ein Compile-Time-Dependency-Injection-Framework zur Verwaltung von Objektlebenszyklen und einen reaktiven Programmier-Workflow zur Handhabung asynchroner Datenströme und Ereignisweiterleitungen. Die Architektur deckt die lokale Datenspeicherung mittels eines Object-Relational-Mappers für SQLite-Datenbanken ab und definiert eine schnittstellenbasierte Kommunikation zwischen Presentern und Activities, um eine unabhängige Testbarkeit der Logik zu ermöglichen.
Organizes code into separate layers specifically tailored for maintainable Android application development.
This project is a structured learning path and skill roadmap designed to guide developers through the Android ecosystem. It serves as a mobile engineering curriculum and career guide, organizing the technical knowledge required to build scalable applications from basic concepts to advanced professional skills. The guide differentiates itself by providing a hierarchical map of required knowledge, sequencing technical topics into a logical order. It includes a curated collection of study resources and technical documentation, along with tools to track learning progress through the specified cur
Covers the study and implementation of scalable architectural patterns specifically for Android applications.
LiveEventBus ist eine AndroidX-Kommunikationsbibliothek, die einen Message-Bus für die entkoppelte Datenübertragung zwischen Anwendungskomponenten bereitstellt. Sie nutzt LiveData, um einen lebenszyklusbewussten Message-Bus zu implementieren, der sicherstellt, dass Event-Abonnements automatisch basierend auf dem Status der Android-Komponenten verwaltet werden, um Speicherlecks zu vermeiden. Die Bibliothek enthält eine Bridge für Inter-Process-Communication (IPC), die die Übertragung serialisierter Daten und Events zwischen verschiedenen Prozessen oder separaten Anwendungen ermöglicht. Sie bietet zudem einen Sticky-Event-Dispatcher, der die aktuellste Nachricht speichert und bei Registrierung sofort an neue Abonnenten ausliefert. Das Framework deckt internes und prozessübergreifendes Message-Routing, verzögerte Nachrichtenplanung und Datenserialisierung ab. Es bietet zudem Dienstprogramme zur Zustandsüberprüfung des Message-Bus, um aktive Beobachter und registrierte Empfänger zu überwachen.
A communication system that automatically manages event subscriptions based on Android component lifecycles.
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
Provides a comprehensive scalable architectural pattern for Android applications with separated layers.
This repository serves as an educational resource for implementing asynchronous programming patterns in Android applications using Kotlin Coroutines and Flow. It provides a collection of practical examples and unit tests designed to demonstrate how to manage background tasks, concurrent network requests, and reactive data streams while maintaining a responsive user interface. The project focuses on structured concurrency, offering patterns for organizing tasks into hierarchical scopes that automatically propagate cancellation and lifecycle signals. It emphasizes the integration of lifecycle-a
Provides lifecycle-aware components that ensure network requests and data streams respect the Android component state.
This project serves as a comprehensive educational roadmap and curriculum for mastering professional Android application development. It provides a structured learning path that guides developers through the essential system design principles, architectural patterns, and technical skills required to build, test, and deploy scalable mobile software. The resource distinguishes itself by organizing complex technical topics into a logical sequence, covering everything from foundational mobile development tooling to advanced software engineering practices. It emphasizes industry-standard patterns
Provides lifecycle-aware components that automatically manage resource release and task cancellation to prevent memory leaks.
This project serves as an educational resource and practical guide for developers learning to build native mobile applications on the Android platform using the Kotlin programming language. It provides a structured codebase that demonstrates how to apply modern language syntax and development paradigms to real-world software tasks. The repository focuses on teaching professional mobile application architecture by implementing industry-standard design patterns. Through a series of hands-on examples, it illustrates how to organize application logic, manage component dependencies, and maintain c
Implements lifecycle-aware components to manage Android system state and prevent memory leaks.
Dieses Repository dient als zentrale Sammlung technischer Dokumentationen und Architekturmuster für Entwickler, die mobile Software auf der Android-Plattform erstellen. Es fungiert als umfassender Leitfaden für die Implementierung von idiomatischem Kotlin-Code und die Etablierung konsistenter technischer Standards in mobilen Projekten. Das Projekt bietet kuratierte Ressourcen, die sich auf Best Practices der Android-Entwicklung und effiziente Programmiermuster konzentrieren. Durch die Betonung wartbarer Codestrukturen und empfohlener Architekturansätze unterstützt es Teams bei der Bewältigung der Komplexität der mobilen Anwendungsentwicklung innerhalb des Android-Ökosystems. Die Dokumentation ist in Markdown verfasst und in einer hierarchischen Verzeichnisstruktur organisiert, um Portabilität und einfache Navigation zu gewährleisten. Diese Materialien werden als statischer Inhalt gehostet, sodass Entwickler für ihre laufenden Entwicklungsaufgaben auf versionskontrollierte Anleitungen zugreifen können.
Provides structural design patterns and best practices for building maintainable Android applications.
This repository provides a comprehensive collection of functional code samples designed to demonstrate modern development patterns and architectural practices for the Android platform using Kotlin. It serves as a practical guide for implementing standard design patterns that decouple business logic from user interface components, ensuring that applications remain maintainable and testable. The project distinguishes itself by offering isolated, hands-on implementations of complex mobile programming tasks. It covers a wide range of capabilities, including asynchronous networking, local database
Demonstrates standard architectural design patterns to decouple business logic from user interface components in Android applications.