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
290
Continuous integration for androids
painie
0
120
Modern android UI
painie
1
84
Android client-server interaction
painie
0
52
Other Decks in Programming
See All in Programming
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
630
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
subpath importsで始めるモック生活
10tera
0
310
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
みんなでプロポーザルを書いてみた
yuriko1211
0
280
Quine, Polyglot, 良いコード
qnighy
4
650
CSC509 Lecture 09
javiergs
PRO
0
140
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.7k
Featured
See All Featured
Embracing the Ebb and Flow
colly
84
4.5k
Speed Design
sergeychernyshev
25
620
What's new in Ruby 2.0
geeforr
343
31k
Gamification - CAS2011
davidbonilla
80
5k
Git: the NoSQL Database
bkeepers
PRO
427
64k
How to train your dragon (web standard)
notwaldorf
88
5.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Producing Creativity
orderedlist
PRO
341
39k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Facilitating Awesome Meetings
lara
50
6.1k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
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?