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
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
290
Whats new in Android Media?
myolwin00
2
360
MasteringDaggerWithHiltOnAndroid
myolwin00
0
200
BritishUniversityCollegeEventSlides.pdf
myolwin00
0
48
Road to become an Android Developer
myolwin00
1
380
Other Decks in Programming
See All in Programming
Event is what happens
moro
2
770
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
sbt 2.0: takeoff
eed3si9n
0
160
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
Next.js: The final boss of Web Performance
guaca
0
250
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
140
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
560
Skip the Path - Find Your Career Trail
mkilby
1
260
Utilizing Notion as your number one productivity tool
mfonobong
4
620
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Site-Speed That Sticks
csswizardry
13
1.6k
Deep Space Network (abreviated)
tonyrice
0
370
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
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