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.4k
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
1.8k
Android MVVM 패턴의 접근법 - 2023 드로이드 나이츠
taehwandev
1
1.8k
안드로이드의 변화 - IO Extended 2023 - 송도
taehwandev
0
620
What’s new in Android?(Google IO ex 23-GDG Pangyo)
taehwandev
0
880
Jetpack Compose 상태 및 사이드 효과
taehwandev
0
1.2k
GDG DevFest2022 Songdo - KMM(Kotlin Multiplatform Mobile)
taehwandev
0
620
Kotlin Night 2022 - 코틀린 어노테이션으로 할 수 있는 것(GDG Seoul)
taehwandev
2
1.6k
Android module 개발 - Now in android 참고
taehwandev
3
17k
Android Compose Component - mapping.
taehwandev
2
4.8k
Other Decks in Technology
See All in Technology
Automating Web Accessibility Testing with AI Agents
maminami373
0
280
Jaws-ug名古屋_LT資料_20250829
azoo2024
3
210
実践AIガバナンス
asei
3
290
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
1
650
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
430
衝突して強くなる! BLUE GIANTと アジャイルチームの共通点とは ― いきいきと活気に満ちたグルーヴあるチームを作るコツ ― / BLUE GIANT and Agile Teams
naitosatoshi
0
290
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
0
150
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
440
RSCの時代にReactとフレームワークの境界を探る
uhyo
8
1.1k
Webアクセシビリティ入門
recruitengineers
PRO
3
1.5k
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
180
役割は変わっても、変わらないもの 〜スクラムマスターからEMへの転身で学んだ信頼構築の本質〜 / How to build trust
shinop
0
150
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
What's in a price? How to price your products and services
michaelherold
246
12k
Scaling GitHub
holman
463
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Designing Experiences People Love
moore
142
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
830
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
510
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