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
The Android Architecture
Search
မျိုးလွင်ဦး
July 09, 2019
Programming
160
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The Android Architecture
Slides for DroidYangon2019
မျိုးလွင်ဦး
July 09, 2019
More Decks by မျိုးလွင်ဦး
See All by မျိုးလွင်ဦး
Android Media3: The Next Generation of Media Playback on Android
myolwin00
1
260
Whats new in Android Media?
myolwin00
2
340
MasteringDaggerWithHiltOnAndroid
myolwin00
0
190
BritishUniversityCollegeEventSlides.pdf
myolwin00
0
40
Road to become an Android Developer
myolwin00
1
370
Other Decks in Programming
See All in Programming
自作OSでスライド発表する
uyuki234
1
3.8k
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
130
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.9k
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
170
act1-costs.pdf
sumedhbala
0
230
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
240
act2-costs.pdf
sumedhbala
0
110
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
520
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
950
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
220
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Chasing Engaging Ingredients in Design
codingconduct
0
240
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
810
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Six Lessons from altMBA
skipperchong
29
4.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Transcript
The Android Architecture @myolwin00
Why do we need this?
Separation of concerns(SoC) • Don’t write all your code in
an Activity or a Fragment • Separate into sections • Encapsulate informations
Issues • Limited resource • UI controllers are not for
business logic • You don't own implementations of Activity and Fragment • Destroyed after configuration changes • Potential memory leaks • Hard to test • Hard to maintain • And extending your app is more difficult
If you shouldn't use app components to store app data
and state, how should you design your app?
Clean Architecture, Chapter 15 “A good software architecture allows the
system to be easy to understand, to develop, to maintain and to implement.”
Common Architectures • MVC • MVP • MVVM • MVI,
Clean Architecture and more…
Model-View-Controller(MVC)
• Describe business logic • Data operation • Define data
manipulation Model • Represent UI components • Display the data from Controller View • Coordinate between View and Model Controller
MVP(Model-View-Presenter)
MVVM(Model-View-ViewModel)
Loaders • AsyncTaskLoader • CursorLoader
Loaders
MVVM with AAC Source: https://developer.android.com/jetpack/docs/guide
ViewModel From AAC • Replace loaders • Manage UI-related data
in a lifecycle conscious way • Survive configuration changes
ViewModel Lifecycle
Useful links • https://github.com/googlesamples/android-architecture • https://github.com/googlesamples/android- architecture-components • https://developer.android.com/jetpack/docs/guide
Thank You ! It’s question time ! @myolwin00