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
Six and a half ridiculous things to do with Quarkus
hollycummins
0
180
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
400
Devoxx BE - Local Development in the AI Era
kdubois
0
130
オープンソースソフトウェアへの解像度🔬
utam0k
16
3k
作って理解するGOCACHEPROG / Go Conference 2025(Workshop)
mazrean
0
100
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
380
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
230
XP, Testing and ninja testing ZOZ5
m_seki
3
690
Software Architecture
hschwentner
6
2.3k
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
950
Swift Concurrency - 状態監視の罠
objectiveaudio
2
530
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
8
910
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Code Reviewing Like a Champion
maltzj
526
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
33
2.3k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Being A Developer After 40
akosma
91
590k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Writing Fast Ruby
sferik
629
62k
Agile that works and the tools we love
rasmusluckow
331
21k
Balancing Empowerment & Direction
lara
4
690
Context Engineering - Making Every Token Count
addyosmani
6
260
Building Applications with DynamoDB
mza
96
6.7k
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?