Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
310
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
330
Continuous integration for androids
painie
0
130
Modern android UI
painie
1
90
Android client-server interaction
painie
0
58
Other Decks in Programming
See All in Programming
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
120
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
120
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
270
GISエンジニアから見たLINKSデータ
nokonoko1203
0
180
Cap'n Webについて
yusukebe
0
150
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
160
クラウドに依存しないS3を使った開発術
simesaba80
0
160
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.3k
Grafana:建立系統全知視角的捷徑
blueswen
0
210
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
150
Python札幌 LT資料
t3tra
7
1k
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
260
The Spectacular Lies of Maps
axbom
PRO
1
400
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
170
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
RailsConf 2023
tenderlove
30
1.3k
The browser strikes back
jonoalderson
0
120
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Statistics for Hackers
jakevdp
799
230k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
0
100
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
69
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
92
Designing for Timeless Needs
cassininazir
0
93
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?