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
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
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
270
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
1
310
すこし踏み込む CancellationToken
htkym
2
1.7k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
200
APNsからLive Activityを開始する話
yumnumm
0
170
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Chasing Engaging Ingredients in Design
codingconduct
0
360
Into the Great Unknown - MozCon
thekraken
41
2.8k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Are puppies a ranking factor?
jonoalderson
2
4.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Site-Speed That Sticks
csswizardry
13
1.6k
Git: the NoSQL Database
bkeepers
PRO
433
67k
The agentic SEO stack - context over prompts
schlessera
0
970
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
Being A Developer After 40
akosma
92
590k
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?