Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Android architecture patterns
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kirill Zotin
November 23, 2013
Programming
320
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android architecture patterns
Kirill Zotin
November 23, 2013
More Decks by Kirill Zotin
See All by Kirill Zotin
From idea to production with serverless architecture
painie
0
360
Continuous integration for androids
painie
0
150
Modern android UI
painie
1
99
Android client-server interaction
painie
0
72
Other Decks in Programming
See All in Programming
iOSDC2026登壇資料.pdf
riofujimon
0
180
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
220
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
190
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
370
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
230
Verilogで学ぶCPU自作入門.pdf
uyuki234
2
680
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.7k
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
8k
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
380
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
300
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
330
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
830
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Optimising Largest Contentful Paint
csswizardry
37
4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
A Soul's Torment
seathinner
8
3.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
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?