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 MVP with kotlin
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
TaeHwan
February 20, 2017
Technology
3.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android MVP with kotlin
GDG Inchon is a presentation on "Android MVP with Kotlin".
TaeHwan
February 20, 2017
More Decks by TaeHwan
See All by TaeHwan
Compose 함수 나누는 조건은?
taehwandev
0
4.7k
Android MVVM 패턴의 접근법 - 2023 드로이드 나이츠
taehwandev
1
2k
안드로이드의 변화 - IO Extended 2023 - 송도
taehwandev
0
690
What’s new in Android?(Google IO ex 23-GDG Pangyo)
taehwandev
0
980
Jetpack Compose 상태 및 사이드 효과
taehwandev
0
1.3k
GDG DevFest2022 Songdo - KMM(Kotlin Multiplatform Mobile)
taehwandev
0
690
Kotlin Night 2022 - 코틀린 어노테이션으로 할 수 있는 것(GDG Seoul)
taehwandev
2
1.7k
Android module 개발 - Now in android 참고
taehwandev
3
18k
Android Compose Component - mapping.
taehwandev
2
5k
Other Decks in Technology
See All in Technology
Deep Data Security 機能解説
oracle4engineer
PRO
2
650
自主式軟體工廠
philipz
0
150
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
120
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
130
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
AI臭い文章とは何なのか
nasuvitz
38
78k
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3k
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
320
[2026 Oracle Technical Deep Dive] AI時代のデータベース基盤をどう選ぶ? Exadata Database Serviceの選択肢と使い分け (2026年9月17日開催)
oracle4engineer
PRO
0
200
『GOエコノミー 』(相乗りサービス) におけるスペック駆動開発
mot_techtalk
1
260
React Nativeでの OTA Updateって、 どう説明する?
ichiki1023
0
140
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
560
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Documentation Writing (for coders)
carmenintech
77
5.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A better future with KSS
kneath
240
18k
The Curious Case for Waylosing
cassininazir
1
550
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
530
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Skip the Path - Find Your Career Trail
mkilby
1
240
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Transcript
MVP - Kotlinਵ۽ ೧ࠁӝ Taehwan GDG Incheon - thdev.tech, Taehwan
2017 1
Introduce • 5֙ରী যٚ Android ѐߊ • GDG Seoul
• BLOG : Է ݆ ѐߊо غ • h5p:/ /thdev.tech • h5p:/ /thdev.net GDG Incheon - thdev.tech, Taehwan 2017 2
য়ט ޖट ঠӝܳ ೡө? GDG Incheon - thdev.tech, Taehwan 2017
3
MVC/MVP/MVVM GDG Incheon - thdev.tech, Taehwan 2017 4
MVC/MVP/MVVM with kotlin GDG Incheon - thdev.tech, Taehwan 2017 5
MVC GDG Incheon - thdev.tech, Taehwan 2017 6
MVC GDG Incheon - thdev.tech, Taehwan 2017 7
MVC - Model • ؘఠܳ ೠ. • ֎ਕ ؘఠ, DB
١ GDG Incheon - thdev.tech, Taehwan 2017 8
MVC - View • Ac$vity/Fragment/layoutਸ ನೣೞৈ View оמ •
layout ݅ਸ View оמ • Realm ನझ : উ٘۽٘ MVC, MVP, MVVM ઙ উղࢲ • Control ী ٮۄ Modelਸ ࠛ۞৬ Viewܳ јन ೠ GDG Incheon - thdev.tech, Taehwan 2017 9
MVC - Control • ৻ࠗ ࢎਊ ੑ۱ਸ ߉Ҋ, ݽ؛ ী
ٮۄ View јनਸ ذח • Ac*vity/Fragmentо ഝਸ ೣԋ ೠ GDG Incheon - thdev.tech, Taehwan 2017 10
MVC GDG Incheon - thdev.tech, Taehwan 2017 11
Android MVC GDG Incheon - thdev.tech, Taehwan 2017 12
MVP GDG Incheon - thdev.tech, Taehwan 2017 13
MVP GDG Incheon - thdev.tech, Taehwan 2017 14
MVP - Model • ؘఠܳ ೠ. • ֎ਕ ؘఠ, DB
١ GDG Incheon - thdev.tech, Taehwan 2017 15
MVP - View • Ac$vity/Fragment ܳ ViewۄҊ ೠ. • Control(ࢎਊ
߮)ܳ ߉ই ܳ Presenter۽ ׳ೠ. • Presenter۽ ࠗఠ ߮ܳ ߉ই View јनೠ. GDG Incheon - thdev.tech, Taehwan 2017 16
MVP - Presenter • View৬ 1:1 ҙ҅ܳ ਬೠ • View۽ࠗఠ
߮ܳ ߉Ҋ, ܳ Modelҗ ҙ҅ী ٮۄ View јनਸ ਬب GDG Incheon - thdev.tech, Taehwan 2017 17
MVP - flow GDG Incheon - thdev.tech, Taehwan 2017 18
MVVM GDG Incheon - thdev.tech, Taehwan 2017 19
MVVM GDG Incheon - thdev.tech, Taehwan 2017 20
MVVM - Model • ؘఠܳ ೠ. • ֎ਕ ؘఠ, DB
١ GDG Incheon - thdev.tech, Taehwan 2017 21
MVVM - View • Ac$vity/Fragment ܳ ViewۄҊ ೠ. • Control(ࢎਊ
߮)ܳ ߉ই ܳ ViewModel ٜ۽ ׳ೠ. • ViewModel ٜ۽ ߮ܳ ׳ ߉ই ܳ јनೠ GDG Incheon - thdev.tech, Taehwan 2017 22
MVVM - ViewModel • Presenter৬ ਬࢎೠ ഋక. • ViewModel ח
ݽ؛ ߹۽ ܻ࠙ೞ۽, Viewী ઙࣘغ ঋח. GDG Incheon - thdev.tech, Taehwan 2017 23
MVVM • Reac&ve ੋ ߑߨ(kickstarter)ਸ ࢎਊೞৈ ਊ оמ • Rx
Subjectܳ ࢎਊೞৈ ਊ оמ • DataBindingਸ ాೠ ਊ оמ GDG Incheon - thdev.tech, Taehwan 2017 24
пп ݽ؛ ࠁওਵפ! GDG Incheon - thdev.tech, Taehwan 2017 25
Architecture • ೧ ইפ • ԙ ۧѱ ೡ ਃח হ
GDG Incheon - thdev.tech, Taehwan 2017 26
Android Architecture Blueprints GDG Incheon - thdev.tech, Taehwan 2017 27
Architecture ਊ ݾ GDG Incheon - thdev.tech, Taehwan 2017 28
٘ ࠂب ߂ झѱ౭ ٘ ӝ GDG Incheon - thdev.tech,
Taehwan 2017 29
ݺഛೠ ٘ ࢿ GDG Incheon - thdev.tech, Taehwan 2017 30
ਬࠁࣻо ಞೠ ٘ ࢿ GDG Incheon - thdev.tech, Taehwan 2017
31
ۧѱ ࢿೣਵ۽ ח GDG Incheon - thdev.tech, Taehwan 2017
32
పझ оמೠ ഋక ٘ ࢿ GDG Incheon - thdev.tech, Taehwan
2017 33
ۨযܳ ܻ࠙ೞৈ ӭՔೠ ٘ ࢿ GDG Incheon - thdev.tech, Taehwan
2017 34
Architecture ਊ ݾ • ٘ ࠂب ߂ झѱ౭ ٘ ӝ
• ݺഛೠ ٘ ࢿ • ਬࠁࣻо ಞೠ ٘ ࢿ • పझ оמೠ ഋక ٘ ࢿ • ۨযܳ ܻ࠙ೞৈ ӭՔೠ ٘ ࢿ GDG Incheon - thdev.tech, Taehwan 2017 35
۠ ࠗ࠙ • Architecture ঈೞҊ ೯ • Reac-ve • DataBinding
• Model ݺഛࢿ GDG Incheon - thdev.tech, Taehwan 2017 36
MVP ਊೞӝ ী GDG Incheon - thdev.tech, Taehwan 2017 37
Presenter ࢎਊೞח ߑߨਸ ݢ ঌইࠁ • Presenter(View/Presenter) - interface
/ PresenterImpl(ҳഅ) • Contract(View/Presenter) - interface / Presenter(ҳഅ) • View - interface / Presenter(ҳഅ) GDG Incheon - thdev.tech, Taehwan 2017 38
Presenter(View/Presenter) PresenterImpl(ҳഅ) GDG Incheon - thdev.tech, Taehwan 2017 39
Presenter(View/Presenter)/PresenterImpl(ҳഅ) - 1 interface SamplePresenter { // presenter method interface
View { // View method } } GDG Incheon - thdev.tech, Taehwan 2017 40
Presenter(View/Presenter)/PresenterImpl(ҳഅ) - 2 interface SamplePresenterImpl(val view: View) : SamplePresenter {
// presenter method } GDG Incheon - thdev.tech, Taehwan 2017 41
Contract(View/Presenter) Presenter(ҳഅ) GDG Incheon - thdev.tech, Taehwan 2017 42
Contract(View/Presenter)/Presenter(ҳഅ) - 1 interface SampleContract { interface View { //
View method } interface Presenter { // presenter method fun setView(view: View) } } GDG Incheon - thdev.tech, Taehwan 2017 43
Contract(View/Presenter)/Presenter(ҳഅ) - 2 interface SamplePresenter : SampleContract.Presenter { private lateinit
var view: View override fun setView(view: View) { this.view = view } // presenter method } GDG Incheon - thdev.tech, Taehwan 2017 44
View - interface Presenter(ҳഅ) GDG Incheon - thdev.tech, Taehwan
2017 45
View - interface / Presenter(ҳഅ) - 1 interface SampleView
{ // View method } class SamplePresenter(view: View) { // Presenter method } GDG Incheon - thdev.tech, Taehwan 2017 46
View - interface / Presenter(ҳഅ) - 2 class SampleActivity
: SampleView { val presenter: SamplePresenter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // ࢬۚ presenter = SamplePresenter(this) } } GDG Incheon - thdev.tech, Taehwan 2017 47
MVP base GDG Incheon - thdev.tech, Taehwan 2017 48
दো GDG Incheon - thdev.tech, Taehwan 2017 49
۽Ӓইਓ ҳഅೞӝ GDG Incheon - thdev.tech, Taehwan 2017 50
ଵҊܐ • উ٘۽٘ MVC, MVP, MVVM ઙ উղࢲ - realm
• উ٘۽٘ MVP - taehwan • Android Architecture Blueprints • kotlin reference • MVP Login Sample ٘ - taehwan GDG Incheon - thdev.tech, Taehwan 2017 51
хࢎפ. GDG Incheon - thdev.tech, Taehwan 2017 52