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 MVP with kotlin
Search
TaeHwan
February 20, 2017
Technology
0
3.5k
Android MVP with kotlin
GDG Inchon is a presentation on "Android MVP with Kotlin".
TaeHwan
February 20, 2017
Tweet
Share
More Decks by TaeHwan
See All by TaeHwan
Compose 함수 나누는 조건은?
taehwandev
0
2.5k
Android MVVM 패턴의 접근법 - 2023 드로이드 나이츠
taehwandev
1
1.9k
안드로이드의 변화 - IO Extended 2023 - 송도
taehwandev
0
640
What’s new in Android?(Google IO ex 23-GDG Pangyo)
taehwandev
0
910
Jetpack Compose 상태 및 사이드 효과
taehwandev
0
1.2k
GDG DevFest2022 Songdo - KMM(Kotlin Multiplatform Mobile)
taehwandev
0
630
Kotlin Night 2022 - 코틀린 어노테이션으로 할 수 있는 것(GDG Seoul)
taehwandev
2
1.6k
Android module 개발 - Now in android 참고
taehwandev
3
18k
Android Compose Component - mapping.
taehwandev
2
4.9k
Other Decks in Technology
See All in Technology
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
270
First-Principles-of-Scrum
hiranabe
1
300
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
「もしもデータ基盤開発で『強くてニューゲーム』ができたなら今の僕はどんなデータ基盤を作っただろう」
aeonpeople
0
280
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
170
AWS Lambda durable functions を使って AWS Lambda の15分の壁を超えてみよう
matsuzawatakeshi
0
120
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
19k
20251225_たのしい出張報告&IgniteRecap!
ponponmikankan
0
100
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
「アウトプット脳からユーザー価値脳へ」がそんなに簡単にできたら苦労しない #RSGT2026
aki_iinuma
6
1.9k
Introduction to Bill One Development Engineer
sansan33
PRO
0
340
AWS re:Inventre:cap ~AmazonNova 2 Omniのワークショップを体験してきた~
nrinetcom
PRO
0
120
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.7k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
110
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
43
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
We Are The Robots
honzajavorek
0
130
Crafting Experiences
bethany
0
25
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
71
Marketing to machines
jonoalderson
1
4.5k
Darren the Foodie - Storyboard
khoart
PRO
0
2k
jQuery: Nuts, Bolts and Bling
dougneiner
65
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