
소스 : Activity와 Fragment 간의 ViewModel 공유 처음 앱을 실행하면 Activity가 생성된 후에 Fragment가 생성된다. 화면 회전 시 위처럼 생명주기가 진행된다. 두 번째 페이지로 이동했을 때의 생명주기 다시 회전하면 위와 같은 생명주기를 거친다. onPause() 되어있던 FragmentRed도 생명주기를 거쳐 다시 onStart()로 돌아온다. 잠시 후 FragmentRed가 onResume() 상태가 안되면 완전히 파괴된다. FragmentGreen는 현재 화면이므로 파괴되지 않는다. FragmentGreen은 onPause() 상태가 되고 파괴됐던 FragmentRed는 재생성된다. Fragment Count 가 0이 된 이유는 FragmentRed가 재생성 됐기 때..

build.gradle (Module: app) android { dataBinding { enabled = true } kotlinOptions { jvmTarget = "1.8" // viewModels() 사용 } } dependencies { // viewModels() 사용 implementation 'androidx.fragment:fragment-ktx:1.2.5' // ViewPager2 사용 implementation 'androidx.viewpager2:viewpager2:1.0.0' } activity_main.xml fragment_red.xml fragment_green.xml fragment_blue.xml fragment_white.xml fragment_black.xml Ma..

MVVM (Model + View + ViewModel) build.gradle (Module: app) apply plugin: 'kotlin-kapt' // BindingAdapter 사용하기 위함 android { dataBinding { enabled = true } kotlinOptions { // by viewModels() 사용하기 위함 jvmTarget = "1.8" } } dependencies { // by viewModels() 사용하기 위함 implementation 'androidx.fragment:fragment-ktx:1.2.5' } activity_main.xml binding/BindingAdapters.kt package com.jwsoft.kotlinproject.bin..

MVP (Model + View + Presenter) activity_main.xml model/Player.kt package com.jwsoft.kotlinproject.model enum class Player { O, X, NULL } model/Cell.kt package com.jwsoft.kotlinproject.model data class Cell ( var player: Player = Player.NULL ) model/Board.kt package com.jwsoft.kotlinproject.model class Board { lateinit var currentPlayer: Player // X 선차례 lateinit var cells: Array init { clearCells..

MVC (Model + View Controller) activity_main.xml View 역할 model/Player.kt package com.jwsoft.model enum class Player { O, X, NULL } model/Cell.kt package com.jwsoft.model data class Cell ( var player: Player ) model/Board.kt package com.jwsoft.model class Board { var currentPlayer: Player = Player.X var winnerPlayer: Player = Player.NULL var cells: Array = Array(3) { Array(3) { Cell(Player.NULL) }..
- Total
- Today
- Yesterday
- Vue.js #Vue.js + javascript
- JSONObject
- ArrayList
- CoordinatorLayout
- DataBinding
- ViewModel
- James Kim
- Design Pattern
- MVVM
- Kotlin
- 혀가 길지 않은 개발자
- 자바
- java
- ViewPager2
- View
- JSONArray
- recyclerview
- 안드로이드 #코틀린 #Android #Kotlin
- fragment
- Intent
- 코틀린
- coroutine
- 안드로이드
- XML
- activity
- TabLayout
- Livedata
- Architecture Pattern
- handler
- Android
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |