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
3.5k
0
Share
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.1k
Android MVVM 패턴의 접근법 - 2023 드로이드 나이츠
taehwandev
1
1.9k
안드로이드의 변화 - IO Extended 2023 - 송도
taehwandev
0
660
What’s new in Android?(Google IO ex 23-GDG Pangyo)
taehwandev
0
920
Jetpack Compose 상태 및 사이드 효과
taehwandev
0
1.2k
GDG DevFest2022 Songdo - KMM(Kotlin Multiplatform Mobile)
taehwandev
0
640
Kotlin Night 2022 - 코틀린 어노테이션으로 할 수 있는 것(GDG Seoul)
taehwandev
2
1.7k
Android module 개발 - Now in android 참고
taehwandev
3
18k
Android Compose Component - mapping.
taehwandev
2
4.9k
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
340
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
3
350
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
900
Podcast配信で広がったアウトプットの輪~70人と音声発信してきた7年間~/outputconf_01
fortegp05
0
210
AWS DevOps Agent or Kiro の使いどころを考える_20260402
masakiokuda
0
150
JSTQB Expert Levelシラバス「テストマネジメント」日本語版のご紹介
ymty
0
120
出版記念イベントin大阪「書籍紹介&私がよく使うMCPサーバー3選と社内で安全に活用する方法」
kintotechdev
0
140
Amazon Qはアマコネで頑張っています〜 Amazon Q in Connectについて〜
yama3133
1
180
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
630
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
110
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.3k
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
460
Building an army of robots
kneath
306
46k
Thoughts on Productivity
jonyablonski
76
5.1k
Between Models and Reality
mayunak
3
250
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
91
Skip the Path - Find Your Career Trail
mkilby
1
93
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
Crafting Experiences
bethany
1
100
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
320
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