All Projects → android → Architecture Samples

android / Architecture Samples

Licence: apache-2.0
A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Architecture Samples

Android Mvp Architecture
Sample app to show basics of Model-View-Presenter (MVP) architectural pattern
Stars: ✭ 79 (-99.8%)
Mutual labels:  android-architecture
Placeline Nextjs
HyperTrack Placeline web application sample using NextJS, Ant-Design, Styled-Components, and Heroku
Stars: ✭ 88 (-99.78%)
Mutual labels:  samples
Spring Boot Samples
Spring Boot samples by Netgloo
Stars: ✭ 1,376 (-96.55%)
Mutual labels:  samples
Fluxxan
Fluxxan is an Android implementation of the Flux Architecture that combines concepts from both Fluxxor and Redux.
Stars: ✭ 80 (-99.8%)
Mutual labels:  android-architecture
Java Docs Samples
Java and Kotlin Code samples used on cloud.google.com
Stars: ✭ 1,259 (-96.84%)
Mutual labels:  samples
Glide Support
Android application to test out issues from the Glide image loading library
Stars: ✭ 88 (-99.78%)
Mutual labels:  samples
Aacpaginginfinitescrollingwithnetworksample
AAC Paging Infinite Scrolling With Network Sample
Stars: ✭ 74 (-99.81%)
Mutual labels:  android-architecture
Mediapicker
Easy customizable picker for all your needs in Android application
Stars: ✭ 105 (-99.74%)
Mutual labels:  android-architecture
Capsule Samples Collection
A collection of sample Bixby capsules
Stars: ✭ 87 (-99.78%)
Mutual labels:  samples
Roomdb Sample
A simple notes app to demo Room + LiveData implementation in Android
Stars: ✭ 100 (-99.75%)
Mutual labels:  android-architecture
Hellomap Ios
Quick start with the Google Maps iOS SDK
Stars: ✭ 81 (-99.8%)
Mutual labels:  samples
Android Mvp Architecture
MVP + Kotlin + Retrofit2 + Dagger2 + Coroutines + Anko + Kotlin-Android-Extensions + RX-java + Mockk + Espresso + Junit5
Stars: ✭ 82 (-99.79%)
Mutual labels:  android-architecture
Alfonz
Mr. Alfonz is here to help you build your Android app, make the development process easier and avoid boilerplate code.
Stars: ✭ 90 (-99.77%)
Mutual labels:  android-architecture
Ngxs Examples
NGXS Example Apps
Stars: ✭ 80 (-99.8%)
Mutual labels:  samples
Osu Resources
assets used by osu!
Stars: ✭ 102 (-99.74%)
Mutual labels:  samples
Haxe Basics
The collection of easy samples and hello-worlds for Haxe.
Stars: ✭ 78 (-99.8%)
Mutual labels:  samples
Azurefunctionsintroduction
Sample Code for Azure Functions
Stars: ✭ 88 (-99.78%)
Mutual labels:  samples
Android Kotlin Mvp Clean Architecture
Clean architecture blueprint using Kotlin and MVP pattern.
Stars: ✭ 105 (-99.74%)
Mutual labels:  android-architecture
Cloudml Samples
Cloud ML Engine repo. Please visit the new Vertex AI samples repo at https://github.com/GoogleCloudPlatform/vertex-ai-samples
Stars: ✭ 1,452 (-96.36%)
Mutual labels:  samples
Cpp Samples
C++ code samples for using Google Cloud Platform
Stars: ✭ 98 (-99.75%)
Mutual labels:  samples

Android Architecture Blueprints v2

Illustration by Virginia Poltrack

Android Architecture Blueprints is a project to showcase different architectural approaches to developing Android apps. In its different branches you'll find the same app (a TODO app) implemented with small differences.

In this branch you'll find:

  • Kotlin Coroutines for background operations.
  • A single-activity architecture, using the Navigation component to manage fragment operations.
  • A presentation layer that contains a fragment (View) and a ViewModel per screen (or feature).
  • Reactive UIs using LiveData observables and Data Binding.
  • A data layer with a repository and two data sources (local using Room and remote) that are queried with one-shot operations (no listeners or data streams).
  • Two product flavors, mock and prod, to ease development and testing (except in the Dagger branch).
  • A collection of unit, integration and e2e tests, including "shared" tests that can be run on emulator/device or Robolectric.

Variations

This project hosts each sample app in separate repository branches. For more information, see the README.md file in each branch.

Stable samples - Kotlin

Sample Description
master The base for the rest of the branches.
Uses Kotlin, Architecture Components, coroutines, Data Binding, etc. and uses Room as source of truth, with a reactive UI.
dagger-android
[compare]
A simple Dagger setup that uses dagger-android and removes the two flavors.
usecases
[compare]
Adds a new domain layer that uses UseCases for business logic.

Old samples - Kotlin and Java

Blueprints v1 had a collection of samples that are not maintained anymore, but can still be useful. See all project branches.

Why a to-do app?

A demo illustraating the UI of the app

The app in this project aims to be simple enough that you can understand it quickly, but complex enough to showcase difficult design decisions and testing scenarios. For more information, see the app's specification.

What is it not?

  • A UI/Material Design sample. The interface of the app is deliberately kept simple to focus on architecture. Check out Plaid instead.
  • A complete Jetpack sample covering all libraries. Check out Android Sunflower or the advanced Github Browser Sample instead.
  • A real production app with network access, user authentication, etc. Check out the Google I/O app, Santa Tracker or Tivi for that.

Who is it for?

  • Intermediate developers and beginners looking for a way to structure their app in a testable and maintainable way.
  • Advanced developers looking for quick reference.

Opening a sample in Android Studio

To open one of the samples in Android Studio, begin by checking out one of the sample branches, and then open the root directory in Android Studio. The following series of steps illustrate how to open the usecases sample.

Clone the repository:

git clone [email protected]:googlesamples/android-architecture.git

This step checks out the master branch. If you want to change to a different sample:

git checkout usecases

Note: To review a different sample, replace usecases with the name of sample you want to check out.

Finally open the android-architecture/ directory in Android Studio.

License

Copyright 2019 Google, Inc.

Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].