{"id":44175,"date":"2020-06-01T12:58:52","date_gmt":"2020-06-01T03:58:52","guid":{"rendered":"https:\/\/www.charlezz.com\/?p=44175"},"modified":"2020-08-25T14:01:38","modified_gmt":"2020-08-25T05:01:38","slug":"savedstatehandle%ea%b3%bc-%ed%95%a8%ea%bb%98-viewmodel%ec%9d%98-%ec%83%81%ed%83%9c%eb%a5%bc-%ec%a0%80%ec%9e%a5%ed%95%98%ec%9e%90","status":"publish","type":"post","link":"https:\/\/charlezz.com\/?p=44175","title":{"rendered":"SavedStateHandle\uacfc \ud568\uaed8 ViewModel\uc758 \uc0c1\ud0dc\ub97c \uc800\uc7a5\ud558\uc790"},"content":{"rendered":"<h2>UI \uc0c1\ud0dc \uc800\uc7a5 \ubc0f \ubcf5\uc6d0\uc758 \ud544\uc694\uc131<\/h2>\n<p>\uc548\ub4dc\ub85c\uc774\ub4dc\uc758 Activity\ub294 \uc2dc\uc2a4\ud15c\uc758 \uc694\uccad\uc5d0 \uc758\ud574 \uc5b8\uc81c\ub4e0\uc9c0 \uc18c\uba78\ub420 \uc218 \uc788\ub2e4. \uc0ac\uc6a9\uc790\ub294 UI\uc0c1\ud0dc\uac00 \ub3d9\uc77c\ud558\uac8c \uc720\uc9c0\ub418\uae38 \uae30\ub300\ud558\uae30 \ub54c\ubb38\uc5d0 Activity\uc758 \uc0c1\ud0dc\ub97c \uc801\uc2dc\uc5d0 \ubcf4\uc874\ud558\uace0 \ubcf5\uc6d0\ud558\ub294 \uc791\uc5c5\uc774 \ud544\uc694\ud558\ub2e4.\u00a0<\/p>\n<p>\ud654\uba74 \ud68c\uc804 \ub610\ub294 \uba40\ud2f0 \uc708\ub3c4\uc6b0 \ubaa8\ub4dc\ub85c \uc804\ud658\ud558\ub294 \uac83\uacfc \uac19\uc774 Configuration\uc774 \ubcc0\uacbd\ub418\uc5b4\ub3c4 \uc0ac\uc6a9\uc790\ub294 Activity\uc758 UI\uc0c1\ud0dc\uac00 \uadf8\ub300\ub85c \uc720\uc9c0\ud558\uae30\ub97c \uae30\ub300\ud55c\ub2e4. Activity\ub294 Configuration\uc774 \ubcc0\uacbd\ub418\uba74 \uae30\uc874 Activity\ub97c \uc18c\uba78\uc2dc\ud0a4\uace0 \uc0c8\ub85c\uc6b4 Activity \uc778\uc2a4\ud134\uc2a4\ub97c \uc0dd\uc131\ud558\uae30 \ub54c\ubb38\uc5d0 \uc774\uc804 UI\uc0c1\ud0dc\uac00 \ubaa8\ub450 \ub0a0\uc544\uac00\ubc84\ub9b0\ub2e4.\u00a0<\/p>\n<p>\uc774\ub97c \ubc29\uc9c0\ud558\uae30 \uc704\ud574\uc11c\ub294 Activity\uac00 \uac00\uc9c0\uace0 \uc788\ub294 \ub0b4\ubd80 \ucf5c\ubc31 \uba54\uc11c\ub4dc\uc778 onSavedInstanceState() \uc640 onRestoreInstanceState() \ub97c \ud1b5\ud574 \uc0c1\ud0dc\ub97c \uc800\uc7a5\ud558\uace0 \ubcf5\uad6c\ud560 \uc218 \uc788\ub2e4. \uadf8\ub7ec\ub098 Configuration\ubcc0\uacbd\uc758 \uacbd\uc6b0 <a href=\"https:\/\/www.charlezz.com\/?p=44167\">ViewModel<\/a>\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83 \ub9cc\uc73c\ub85c\ub3c4 UI\uc0c1\ud0dc\ub97c \uc720\uc9c0\ud560 \uc218\ub3c4 \uc788\ub2e4. \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0\uc5d0\ub294 ViewModel\uacfc \uc800\uc7a5\ub41c \uc778\uc2a4\ud134\uc2a4 \uc0c1\ud0dc(savedInstanceState)\ub97c \ubaa8\ub450 \uc0ac\uc6a9\ud574\uc57c\ud55c\ub2e4.<\/p>\n<p>\uc544\ub798 \uc601\uc0c1\uc744 \ud1b5\ud574 UI \uc0c1\ud0dc\ub97c \uc720\uc9c0\ud558\uc9c0 \ubabb\ud558\ub294 \uc571\uc744 \ud655\uc778\ud558\uc790.<\/p>\n<div style=\"width: 360px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]--><br \/>\n<video class=\"wp-video-shortcode\" id=\"video-44175-1\" width=\"360\" height=\"736\" loop=\"1\" autoplay=\"1\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/ViewModel-Basic.mp4?_=1\" \/><a href=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/ViewModel-Basic.mp4\">https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/ViewModel-Basic.mp4<\/a><\/video><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2>Activity\uc758 \uc885\ub8cc \uadf8\ub9ac\uace0 \uc0c1\ud0dc \uc800\uc7a5 \ubc0f \ubcf5\uc6d0 \uc2dc\uae30<\/h2>\n<p>\uc0ac\uc6a9\uc790\uac00 \uba85\uc2dc\uc801\uc73c\ub85c Activity\ub97c \uc885\ub8cc\ud558\ub294 \uacbd\uc6b0\ub294 UI\uc0c1\ud0dc\ub97c \uc800\uc7a5\ud560 \ud544\uc694\uac00 \uc5c6\uae30 \ub54c\ubb38\uc5d0 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\ub294 Activity\uc640 \uad00\ub828\ub41c ViewModel \ubc0f \uc800\uc7a5\ub41c \uc778\uc2a4\ud134\uc2a4 \uc0c1\ud0dc\ub97c \uba54\ubaa8\ub9ac\uc5d0\uc11c \uc0ad\uc81c\uc2dc\ud0a8\ub2e4.\u00a0<\/p>\n<p>\uc0ac\uc6a9\uc790\uac00 \uba85\uc2dc\uc801\uc73c\ub85c Activity\ub97c \uc885\ub8cc\ud55c \ucf00\uc774\uc2a4\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<\/p>\n<ul>\n<li>Back \ubc84\ud2bc \ub204\ub974\uae30<\/li>\n<li><span>Recents(\ucd5c\uadfc\uc571) \ud654\uba74\uc5d0\uc11c \uc571\uc744 \ubc00\uc5b4\uc11c \uc885\ub8cc\uc2dc\ud0a4\uae30<\/span><\/li>\n<li>\uc0c1\uc704 \uc561\ud2f0\ube44\ud2f0\ub85c \uc774\ub3d9\ud558\uae30<\/li>\n<li>\uc124\uc815\ud654\uba74\uc5d0\uc11c \uc571\uc744 \uac15\uc81c\ub85c \uc885\ub8cc\ud558\uae30<\/li>\n<li>finish() \ud638\ucd9c\uc5d0 \uc758\ud55c Activity \uc885\ub8cc\ud558\uae30<\/li>\n<\/ul>\n<p>\uc0ac\uc6a9\uc790\uac00 Activity\ub97c \uba85\uc2dc\uc801\uc73c\ub85c \uc885\ub8cc\ud558\uc9c0 \uc54a\uc558\ub294\ub370 Activity\uac00 \uc885\ub8cc\ub418\ub294 \ucf00\uc774\uc2a4\ub294 Configuration\ubcc0\uacbd\uacfc \uc2dc\uc2a4\ud15c\uc5d0 \uc758\ud55c \uc885\ub8cc\uac00 \uc788\ub2e4.\u00a0<\/p>\n<p>Configuration \ubcc0\uacbd\uc740 \ub7f0\ud0c0\uc784\uc5d0 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 Activity\uc758 \ud68c\uc804, \uba40\ud2f0 \uc708\ub3c4\uc6b0, \ud0a4\ubcf4\ub4dc \uac00\uc6a9\uc131 \ub4f1\uc744 \ub9d0\ud558\uba70 \uc774 \uacbd\uc6b0 Activity\ub97c \ub2e4\uc2dc \uc2dc\uc791\ud558\uac8c \ub41c\ub2e4. Configuration \ubcc0\uacbd\uc758 \uacbd\uc6b0 <a href=\"https:\/\/www.charlezz.com\/?p=44167\">ViewModel<\/a>\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\ub9cc\uc73c\ub85c\ub3c4 UI\uc0c1\ud0dc\ub97c \ubcf4\uc874\ud560 \uc218 \uc788\ub2e4. \ud558\uc9c0\ub9cc \uc2dc\uc2a4\ud15c\uc5d0 \uc758\ud574\uc11c Activity\uac00 \uc885\ub8cc\ub418\ub294 \uacbd\uc6b0 ViewModel\ub3c4 \uac19\uc774 \uba54\ubaa8\ub9ac\uc5d0\uc11c \uc81c\uac70 \ub418\uae30 \ub54c\ubb38\uc5d0 UI \uc0c1\ud0dc\ub97c \ubcf4\uc874\ud560 \uc218 \uc5c6\ub2e4.<\/p>\n<p>\uc2dc\uc2a4\ud15c\uc740 RAM\uc5d0 \uc5ec\uc720 \uacf5\uac04\uc774 \ud544\uc694\ud560 \ub54c \ud504\ub85c\uc138\uc2a4\ub97c \uc885\ub8cc\uc2dc\ud0a8\ub2e4. \uc2dc\uc2a4\ud15c\uc774 \ud2b9\uc815 \ud504\ub85c\uc138\uc2a4\ub97c \uc885\ub8cc\ud560 \uac00\ub2a5\uc131\uc740 \uadf8 \uc2dc\uc810\uc758 \ud504\ub85c\uc138\uc2a4 \uc0c1\ud0dc\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c4\ub2e4. \uadf8\ub9ac\uace0 \ud504\ub85c\uc138\uc2a4 \uc0c1\ud0dc\ub294 \ud504\ub85c\uc138\uc2a4\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 Activity \uc0c1\ud0dc\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c4\ub2e4. \ub2e4\uc74c\uc740 \ud504\ub85c\uc138\uc2a4 \uc0c1\ud0dc, Activity\uc0c1\ud0dc, \uc2dc\uc2a4\ud15c\uc774 \ud504\ub85c\uc138\uc2a4\ub97c \uc885\ub8cc\ud560 \uac00\ub2a5\uc131 \uc0ac\uc774\uc758 \uc0c1\uad00\uad00\uacc4\ub97c \ub098\ud0c0\ub0b8\ub2e4.\u00a0<\/p>\n<p><a href=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/www.charlezz.com-savedstatehandle-viewmodel-03znjtqqca8acg2zs.png\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/www.charlezz.com-savedstatehandle-viewmodel-03znjtqqca8acg2zs-1024x339.png\" alt=\"\" width=\"750\" height=\"248\" class=\"aligncenter wp-image-44486 size-large\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/www.charlezz.com-savedstatehandle-viewmodel-03znjtqqca8acg2zs.png 1024w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/www.charlezz.com-savedstatehandle-viewmodel-03znjtqqca8acg2zs-300x99.png 300w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/www.charlezz.com-savedstatehandle-viewmodel-03znjtqqca8acg2zs-768x254.png 768w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>\uc2dc\uc2a4\ud15c\uc5d0 \uc758\ud574\uc11c Activity\uac00 \uc885\ub8cc\ub418\ub294 \uacbd\uc6b0 \uc800\uc7a5\ub41c \uc778\uc2a4\ud134\uc2a4 \uc0c1\ud0dc \ub610\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 UI\uc0c1\ud0dc\ub97c \uc800\uc7a5\ud558\uc5ec \ubcf5\uc6d0\ud558\ub294 \ubc29\ubc95\uc774 \uc788\ub2e4. \ub2e4\uc74c\uc758 \ud45c\ub294 UI \uc0c1\ud0dc\ub97c \uc720\uc9c0\ud558\uae30 \uc704\ud574 \uace0\ub824\ud560\ub9cc\ud55c \uc0ac\ud56d\ub4e4\uc744 \uc815\ub9ac\ud558\uace0 \uc788\ub2e4.<\/p>\n<div class=\"devsite-table-wrapper\">\n<table style=\"height: 463px; width: 100%; border-color: #000000; border-style: solid;\">\n<thead>\n<tr style=\"height: 27px;\">\n<th style=\"height: 27px; width: 25%;\"><strong><\/strong><\/th>\n<th style=\"height: 27px; width: 25%; text-align: left;\"><strong>ViewModel<\/strong><\/th>\n<th style=\"height: 27px; width: 25%; text-align: left;\"><strong>\uc800\uc7a5\ub41c \uc778\uc2a4\ud134\uc2a4 \uc0c1\ud0dc<\/strong><\/th>\n<th style=\"height: 27px; width: 25%; text-align: left;\"><strong>\ub370\uc774\ud130 \ubca0\uc774\uc2a4<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 30px;\">\n<td style=\"height: 30px; width: 18.0822%;\"><strong>\uc800\uc7a5 \uc704\uce58<\/strong><\/td>\n<td style=\"height: 30px; width: 25.6164%;\">\uba54\ubaa8\ub9ac \ub0b4<\/td>\n<td style=\"height: 30px; width: 25.8904%;\">\ub514\uc2a4\ud06c\uc5d0 \uc9c1\ub82c\ud654<\/td>\n<td style=\"height: 30px; width: 30.411%;\">\ub514\uc2a4\ud06c \ub610\ub294 \ub124\ud2b8\uc6cc\ud06c \uc11c\ubc84<\/td>\n<\/tr>\n<tr style=\"height: 58px;\">\n<td style=\"height: 58px; width: 18.0822%;\">\n<p><strong>Configuration \ubcc0\uacbd\uc2dc\uc5d0\ub3c4 \uc720\uc9c0(\ud654\uba74 \ud68c\uc804)<\/strong><\/p>\n<\/td>\n<td style=\"height: 58px; width: 25.6164%;\">\uc608<\/td>\n<td style=\"height: 58px; width: 25.8904%;\">\uc608<\/td>\n<td style=\"height: 58px; width: 30.411%;\">\uc608<\/td>\n<\/tr>\n<tr style=\"height: 87px;\">\n<td style=\"height: 87px; width: 18.0822%;\"><strong>\uc2dc\uc2a4\ud15c\uc5d0 \uc758\ud55c \ud504\ub85c\uc138\uc2a4 \uc911\ub2e8\uc2dc \uc720\uc9c0<\/strong><\/td>\n<td style=\"height: 87px; width: 25.6164%;\">\uc544\ub2c8\uc694<\/td>\n<td style=\"height: 87px; width: 25.8904%;\">\uc608<\/td>\n<td style=\"height: 87px; width: 30.411%;\">\uc608<\/td>\n<\/tr>\n<tr style=\"height: 116px;\">\n<td style=\"height: 116px; width: 18.0822%;\">\n<p><strong>\uc0ac\uc6a9\uc790 \uc561\uc158\uc5d0 \uc758\ud55c Activity \uc885\ub8cc<\/strong><\/p>\n<\/td>\n<td style=\"height: 116px; width: 25.6164%;\">\uc544\ub2c8\uc694<\/td>\n<td style=\"height: 116px; width: 25.8904%;\">\uc544\ub2c8\uc694<\/td>\n<td style=\"height: 116px; width: 30.411%;\">\uc608<\/td>\n<\/tr>\n<tr style=\"height: 87px;\">\n<td style=\"height: 87px; width: 18.0822%;\"><strong>\ub370\uc774\ud130 \uc81c\ud55c<\/strong><\/td>\n<td style=\"height: 87px; width: 25.6164%;\">\ubcf5\uc7a1\ud55c \uac1c\uccb4\ub3c4 \uad1c\ucc2e\uc9c0\ub9cc \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uba54\ubaa8\ub9ac\uc5d0 \uc758\ud574 \uacf5\uac04\uc774 \uc81c\ud55c\ub428<\/td>\n<td style=\"height: 87px; width: 25.8904%;\">\uc6d0\uc2dc(primitive) \uc720\ud615 \ubc0f \ubb38\uc790\uc5f4\uacfc \uac19\uc740 \ub2e8\uc21c\ud558\uace0 \uc791\uc740 \uac1c\uccb4\ub9cc \ud574\ub2f9<\/td>\n<td style=\"height: 87px; width: 30.411%;\">\ub514\uc2a4\ud06c \uacf5\uac04 \ub610\ub294 \ub124\ud2b8\uc6cc\ud06c \ub9ac\uc18c\uc2a4\uc5d0\uc11c \uac80\uc0c9\ud558\ub294 \ube44\uc6a9\/\uc2dc\uac04\uc5d0 \uc758\ud574\uc11c\ub9cc \uc81c\ud55c\ub428<\/td>\n<\/tr>\n<tr style=\"height: 58px;\">\n<td style=\"height: 58px; width: 18.0822%;\"><strong>\uc77d\uae30\/\uc4f0\uae30 \uc2dc\uac04<\/strong><\/td>\n<td style=\"height: 58px; width: 25.6164%;\">\ube60\ub984(\uba54\ubaa8\ub9ac \uc561\uc138\uc2a4\ub9cc)<\/td>\n<td style=\"height: 58px; width: 25.8904%;\">\ub290\ub9bc(\uc9c1\ub82c\ud654\/\uc5ed\uc9c1\ub82c\ud654 \ubc0f \ub514\uc2a4\ud06c \uc561\uc138\uc2a4 \ud544\uc694)<\/td>\n<td style=\"height: 58px; width: 30.411%;\">\ub290\ub9bc(\ub514\uc2a4\ud06c \uc561\uc138\uc2a4 \ub610\ub294 \ub124\ud2b8\uc6cc\ud06c \ud2b8\ub79c\uc7ad\uc158 \ud544\uc694)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2>SavedStateHandle\uc744 \uc774\uc6a9\ud55c \uc0c1\ud0dc \uc800\uc7a5\/\ubcf5\uc6d0 \uad6c\ud604\ud558\uae30<\/h2>\n<p>ViewModel\uc744 \uc704\ud55c saved state \ubaa8\ub4c8\uc740 lifecycle \ubc84\uc804 2.2.0\uc5d0\uc11c \ucd94\uac00\ub418\uc5c8\ub2e4.<\/p>\n<p>build.gradle\uc5d0 \ub2e4\uc74c\uacfc \uac19\uc740 \uc544\ud2f0\ud329\ud2b8\uc758 \uc885\uc18d\uc131\uc744 \ucd94\uac00\ud558\uc790. (<a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/lifecycle?hl=ko#declaring_dependencies\">\ucd5c\uc2e0 \ubc84\uc804 \ud655\uc778<\/a>)\u00a0<\/p>\n<pre class=\"lang: decode:true \">dependencies {\r\n    def lifecycle_version = \"2.2.0\"\r\n    implementation \"androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version\"\r\n}<\/pre>\n<p>SavedStateHandle\uc744 ViewModel\uc5d0\uc11c \ub2e4\ub8e8\uae30 \uc704\ud574\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 SavedStateHandle\uc744 \ubc1b\ub294 \uc0dd\uc131\uc790\ub97c ViewModel\uc5d0 \ud3ec\ud568\ud574\uc57c \ud55c\ub2e4.<\/p>\n<pre class=\"lang: decode:true \">class MainViewModel(val savedStateHandle: SavedStateHandle) : ViewModel() {\r\n    ...\r\n}<\/pre>\n<p>SavedStateHandle\uc744 \ubc1b\ub3c4\ub85d ViewModel \uc778\uc2a4\ud134\uc2a4\ub97c \uc0dd\uc131\ud558\ub824\uba74 AbstractSavedStateViewModelFactory\ub97c \ud655\uc7a5\ud558\ub294 Factory \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e4\uc5b4\uc57c \ud55c\ub2e4.\u00a0<\/p>\n<p>\ub9cc\uc57d ViewModel \uc0dd\uc131\uc790 \ud30c\ub77c\ubbf8\ud130 \uc2dc\uadf8\ub2c8\uccd0\uac00 (Application, SavedStateHandle) \ub610\ub294 (SavedStateHandle) \uc774\ub77c\uba74 \uc774\ubbf8 \uc815\uc758\ub41c SavedStateViewModelFactory \ud074\ub798\uc2a4\ub97c \uc774\uc6a9\ud558\uc5ec AbstractSavedStateViewModelFactory \uad6c\ud604\uc744 \ub300\uc2e0\ud560 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n<p>SavedStateViewModelFactory\ub97c \uc774\uc6a9\ud55c ViewModel \uc778\uc2a4\ud134\uc2a4\ud654\ub97c \ud558\ub294 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc744 \uc218 \uc788\ub2e4.<\/p>\n<pre class=\"lang: decode:true\">class MainActivity : AppCompatActivity() {\r\n\r\n    private lateinit var viewModel: MainViewModel\r\n\r\n    override fun onCreate(savedInstanceState: Bundle?) {\r\n        ...\r\n        viewModel = ViewModelProvider(this, SavedStateViewModelFactory(application, this)).get(MainViewModel::class.java)\r\n\r\n    }\r\n}<\/pre>\n<p>\uc774\uc81c ViewModel\uc758 SavedStateHandle\uc744 \uc774\uc6a9\ud558\uc5ec \uac04\ub2e8\ud55c \ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\uace0 \ubcf5\uc6d0\ud558\ub294 \ucf54\ub4dc\ub97c \uad6c\ud604\ud560 \uc218 \uc788\ub2e4. \ub2e4\uc74c\uc740 \uc815\uc218\ud615 count \ubcc0\uc218\uc758 \uc0c1\ud0dc\ub97c \uc800\uc7a5\ud558\uace0 \ubcf5\uc6d0\ud558\ub294 \ucf54\ub4dc\ub2e4.<\/p>\n<pre class=\"lang: decode:true\">class MainViewModel(private val savedStateHandle: SavedStateHandle) : ViewModel() {\r\n\r\n    var count = 0\r\n    set(value) {\r\n        savedStateHandle.set(\"count\",value)\r\n        field = value\r\n    }\r\n\r\n    init {\r\n        savedStateHandle.get&lt;Int&gt;(\"count\")?.run {\r\n            count = this\r\n        }\r\n    }\r\n\r\n}<\/pre>\n<p>\ud0a4 &#8211; \uac12 \ud615\uc2dd\uc73c\ub85c \uc800\uc7a5\uc774 \uac00\ub2a5\ud558\uace0 \ubd88\ub7ec\uc624\ub294 \uac83\uc774 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<p>SavedStateHandle \ud074\ub798\uc2a4\uc5d0\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ud0a4-\uac12 \ub9f5\uc5d0 \ud544\uc694\ud55c \uba54\uc11c\ub4dc\uac00 \uc788\ub2e4.<\/p>\n<ul>\n<li>get(String key)<\/li>\n<li>contains(String key)<\/li>\n<li>remove(String key)<\/li>\n<li>set(String key, T Value)<\/li>\n<li>keys()<\/li>\n<\/ul>\n<p>\ub610\ud55c \uc2dd\ubcc4 \uac00\ub2a5\ud55c LiveData \ud56d\ubaa9\uc73c\ub85c \ub798\ud551\ub41c \uac12\uc744 \ubc18\ud658\ud558\ub294 \ud2b9\ubcc4\ud55c \uba54\uc11c\ub4dc getLiveData(String key)\ub3c4 \uc788\ub2e4.<\/p>\n<p>SavedStateHandle\ub85c \ubd80\ud130 \uc0c1\ud0dc\uac00 \ubcf5\uc6d0\ub41c ViewModel\uc744 \ucc38\uc870\ud558\ub294 Activity\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc0c1\ud0dc\uac00 \ubcf4\uc874\ub41c \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<div style=\"width: 360px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-44175-2\" width=\"360\" height=\"736\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/ViewModel-with-SavedStateHandle.mp4?_=2\" \/><a href=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/ViewModel-with-SavedStateHandle.mp4\">https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2020\/06\/ViewModel-with-SavedStateHandle.mp4<\/a><\/video><\/div>\n<p>\uc608\uc81c\ucf54\ub4dc\ub294 <a href=\"https:\/\/github.com\/Charlezz\/ViewModelSample\">github<\/a>\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<h2>\uc720\uc758\uc0ac\ud56d<\/h2>\n<ul>\n<li>SavedStateHandle\uc5d0 \uc800\uc7a5\ub418\ub294 \ub370\uc774\ud130\ub294 \ub2e8\uc21c\ud558\uace0 \uac00\ubcbc\uc6cc\uc57c \ud55c\ub2e4. \ubcf5\uc7a1\ud558\uac70\ub098 \ud070 \ub370\uc774\ud130\uc758 \uacbd\uc6b0 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub3c4\ub85d \ud558\uc790.<\/li>\n<li>SavedStateHandle\ub85c \ubd80\ud130 \ubcf5\uc6d0\ub41c \uc0c1\ud0dc\uac12\uc744 \uc774\uc6a9\ud558\uc5ec \ub2e4\uc2dc \uc7ac\ucffc\ub9ac\ub97c \ud558\ub824\ub294 \uacbd\uc6b0, ViewModel\uc5d0 \uce90\uc2dc\ub41c \uacb0\uacfc\uac00 \uc788\ub294\uc9c0 \ud655\uc778\ud558\uc790. \uc774\ubbf8 ViewModel\uc774 \ud544\uc694\ud55c \ub370\uc774\ud130\ub97c \ub85c\ub4dc \ud588\uc73c\uba74 \uc0c8\ub85c\uc6b4 \ub370\uc774\ud130\ub97c \ubd88\ub7ec\uc62c \ud544\uc694\uac00 \uc5c6\ub2e4.<\/li>\n<li>\uc2dc\uc2a4\ud15c\uc5d0 \uc758\ud55c Activity\uc18c\uba78 \ucf00\uc774\uc2a4\ub97c \ud14c\uc2a4\ud2b8 \ud558\uace0 \uc2f6\ub2e4\uba74, <strong>\uac1c\ubc1c\uc790 \ubaa8\ub4dc &gt; \uc561\ud2f0\ube44\ud2f0 \uc720\uc9c0\uc548\ud568 <\/strong>\uc635\uc158\uc744 \ud65c\uc131\ud654 \ud558\uc790. \ubc31\uadf8\ub77c\uc6b4\ub4dc\ub85c \uc9c4\uc785\ud558\ub294 \uc21c\uac04 \ubc14\ub85c Activity\uac00 \uc18c\uba78\ub418\uace0, \ud3ec\uc5b4\uadf8\ub77c\uc6b4\ub4dc\ub85c \uc7ac\uc9c4\uc785\ud588\uc744 \ub54c \uc0c8\ub85c\uc6b4 Activity\uac00 \uc0dd\uc131\ub418\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \ub610\ud55c \uac1c\ubc1c\uc790 \ubaa8\ub4dc\uc5d0\uc11c \ubc31\uadf8\ub77c\uc6b4\ub4dc \ud504\ub85c\uc138\uc2a4 \uac1c\uc218\uc5d0 \uc81c\ud55c\uc744 \uac70\ub294 \ubc29\ubc95\ub3c4 \uc720\ud6a8\ud558\ub2e4.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UI \uc0c1\ud0dc \uc800\uc7a5 \ubc0f \ubcf5\uc6d0\uc758 \ud544\uc694\uc131 \uc548\ub4dc\ub85c\uc774\ub4dc\uc758 Activity\ub294 \uc2dc\uc2a4\ud15c\uc758 \uc694\uccad\uc5d0 \uc758\ud574 \uc5b8\uc81c\ub4e0\uc9c0 \uc18c\uba78\ub420 \uc218 \uc788\ub2e4. \uc0ac\uc6a9\uc790\ub294 UI\uc0c1\ud0dc\uac00 \ub3d9\uc77c\ud558\uac8c \uc720\uc9c0\ub418\uae38 \uae30\ub300\ud558\uae30 \ub54c\ubb38\uc5d0 Activity\uc758 \uc0c1\ud0dc\ub97c \uc801\uc2dc\uc5d0 \ubcf4\uc874\ud558\uace0 \ubcf5\uc6d0\ud558\ub294 \uc791\uc5c5\uc774 \ud544\uc694\ud558\ub2e4.\u00a0 \ud654\uba74 \ud68c\uc804 \ub610\ub294 \uba40\ud2f0 \uc708\ub3c4\uc6b0 \ubaa8\ub4dc\ub85c \uc804\ud658\ud558\ub294 \uac83\uacfc \uac19\uc774 Configuration\uc774 \ubcc0\uacbd\ub418\uc5b4\ub3c4 \uc0ac\uc6a9\uc790\ub294 Activity\uc758 UI\uc0c1\ud0dc\uac00 \uadf8\ub300\ub85c \uc720\uc9c0\ud558\uae30\ub97c \uae30\ub300\ud55c\ub2e4. Activity\ub294 Configuration\uc774 \ubcc0\uacbd\ub418\uba74 \uae30\uc874 Activity\ub97c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[16],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/44175"}],"collection":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=44175"}],"version-history":[{"count":4,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/44175\/revisions"}],"predecessor-version":[{"id":44488,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/44175\/revisions\/44488"}],"wp:attachment":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}