# Android Architecture: Introducing Dynamo

DevFeed: [Android Architecture: Introducing Dynamo](<https://devfeed.tech/articles/android-architecture-introducing-dynamo-26031.md>)

Original publisher: [Read original article](<http://doridori.github.io//Android-Architecture-Dynamo/>)

Author: SystemDotRun

Published: 2015-04-03T00:00:00Z

Content type: article

Language: en

Sources: [SystemDotRun](<https://devfeed.tech/sources/systemdotrun.md>)

Topics: [Dynamo](<https://devfeed.tech/topics/dynamo.md>), [Library](<https://devfeed.tech/topics/library.md>), [Development](<https://devfeed.tech/topics/development.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-architecture](<https://devfeed.tech/tags/android-architecture.md>), [app-architecture](<https://devfeed.tech/tags/app-architecture.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [code](<https://devfeed.tech/tags/code.md>), [dynamo](<https://devfeed.tech/tags/dynamo.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>)

## AI overview

This introductory post presents Dynamo, a small library and wiki for Android application architecture. It focuses on managing application state and asynchronous code, including their interaction with the Android lifecycle, and aims to decouple UI behavior from core application logic.

## Source excerpt

Dynamo has been superseded by Pilot Welcome, welcome. Come in, it looks mighty cold out there. The code is laying heavy across the hills, disorder rules the day and the nights are long. We yearn for a day where the suns shines forth once more. This is post #2 of my very short Android Architecture series (can two be a series?). Post #1 was a primer for this post. It contained A brief outline of the problems when defaulting to stock Android architecture. An overview of common general architectural concepts. This post is really a short intro to a small library + Wiki I have created. This library fills an architectural hole which I see in the Android dev world. There is no unified approach to generic Android app architecture and this creates a vacuum which sucks in well meaning devs and results is messy codebases strewn across the land. It is also my reponse to the many MVP blog posts out there, which have really helped me think about this issue but also I have my own take on. Plus, I feel sorry for new Android devs who are turning up later to the party and are overwhealmed by the Android ecosystem and need to get up to speed quickly on what these issues are before even getting to the point of thinking about potential solutions. Some of the issues addressed by this approach are solved by fantastic existing libraries, but again, I think for a large chunk of devs these can be difficult concepts to grasp and get running with. These are mentioned in the projects wiki for further reading. In my experience at least there are two core ideas around the center of most apps codebases. From the codebases I have seen & inherited both ideas seem to have too few brain cycles spent on them. 1. State Most apps and views are state-based however the spaghetti-level that captures the state logic is generally very high. 2. Asynchronous code Pretty much every app involves some asynchronous code. Pretty much every app allows this to touch the Android lifecycle. This always leads to sadness.