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
270
Continuous integration for androids
painie
0
120
Modern android UI
painie
1
82
Android client-server interaction
painie
0
51
Other Decks in Programming
See All in Programming
フロントエンド技術の波を乗り越える!Vue2からReactへの移行とアーキテクチャ設計による堅牢化
drumnistnakano
0
510
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
190
Compose Web 개발하기
pangmoo
0
110
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
160
Google Cloud の RDB を徹底比較! 選び方と最新機能紹介 #devio2024
maroon1st
0
840
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
1
1k
CSC307 Lecture 12
javiergs
PRO
0
250
Flutter gRPC - 박제창 @I/O Extended 2024 인천/송도
itsmedreamwalker
0
130
It Takes Two to Tango – Designing Module Interactions in Modulithic Spring Applications
olivergierke
4
260
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
3
83k
Terraformテスト入門
msato
1
1k
Ruby メモリ管理 プログラミング
megmogmog1965
0
180
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
52
8.9k
Designing for Performance
lara
604
68k
Making Projects Easy
brettharned
111
5.7k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Statistics for Hackers
jakevdp
792
220k
The Mythical Team-Month
searls
218
43k
The World Runs on Bad Software
bkeepers
PRO
63
11k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
How to Think Like a Performance Engineer
csswizardry
13
730
Six Lessons from altMBA
skipperchong
25
3.3k
A Tale of Four Properties
chriscoyier
155
22k
Documentation Writing (for coders)
carmenintech
64
4.2k
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?