소스 : 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
- Livedata
- Vue.js #Vue.js + javascript
- JSONObject
- handler
- ArrayList
- Android
- Intent
- TabLayout
- java
- recyclerview
- fragment
- 안드로이드 #코틀린 #Android #Kotlin
- XML
- Design Pattern
- coroutine
- ViewModel
- View
- Kotlin
- James Kim
- 안드로이드
- 혀가 길지 않은 개발자
- 자바
- MVVM
- activity
- Architecture Pattern
- ViewPager2
- JSONArray
- 코틀린
- DataBinding
- CoordinatorLayout
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |