Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Android architecture patterns
Search
Kirill Zotin
November 23, 2013
Programming
3
300
Android architecture patterns
Kirill Zotin
November 23, 2013
Tweet
Share
More Decks by Kirill Zotin
See All by Kirill Zotin
From idea to production with serverless architecture
painie
0
320
Continuous integration for androids
painie
0
120
Modern android UI
painie
1
89
Android client-server interaction
painie
0
56
Other Decks in Programming
See All in Programming
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
190
実践 Dev Containers × Claude Code
touyu
1
170
AIのメモリー
watany
13
1.4k
実践!App Intents対応
yuukiw00w
1
230
Constant integer division faster than compiler-generated code
herumi
2
590
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
0
280
Portapad紹介プレゼンテーション
gotoumakakeru
1
120
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
130
decksh - a little language for decks
ajstarks
4
21k
新しいモバイルアプリ勉強会(仮)について
uetyo
1
250
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
3
810
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
260
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Designing for Performance
lara
610
69k
Docker and Python
trallard
45
3.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Why Our Code Smells
bkeepers
PRO
337
57k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Building an army of robots
kneath
306
45k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Transcript
Android app architecture patterns Kirill Zotin 23.11.2013
None
Data storage
None
None
None
None
DAO layer • Poor async support • Lifecycle is a
nightmare • Difficult to implement properly • Poor async support • Lifecycle is a nightmare • Extra layer of complexity ORM frameworks
MVC?
MVP?
MVVM?
MWTF !
Content Provider + Contract ~ model Activities ~ controller layouts.xml
~ view
Cursor is the model ! • Simple • Async •
Framework support (ContentObserver, Adapters) • High learning curve
Components communication
None
None
None
Local Broadcast Manager • Boilerplate • No type safety •
Hard to test • Fails fast • @Produce • DI friendly Otto, EventBus
Developing Android REST client applications
Developing Android REST client applications http://www.youtube.com/watch?v=xHXn3Kg2IQE © Virgil Dobjanschi
None
Already implemented! Retrofit https://github.com/square/retrofit
Already implemented! Retrofit https://github.com/square/retrofit Volley https://developers.google. com/events/io/sessions/325304728
Already implemented! Retrofit https://github.com/square/retrofit Volley https://developers.google. com/events/io/sessions/325304728 https://github. com/111minutes/111-android- restapi
Dependency injection
In example
None
None
None
None
Not everyone is happy with Android SDK
FRP ! https://www.coursera.org/course/reactive
Thanks! Questions?