{"id":45610,"date":"2021-11-12T18:38:47","date_gmt":"2021-11-12T09:38:47","guid":{"rendered":"https:\/\/www.charlezz.com\/?p=45610"},"modified":"2021-11-12T18:39:06","modified_gmt":"2021-11-12T09:39:06","slug":"using-state-in-jetpack-compose-%ec%84%a4%ec%a0%95%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/charlezz.com\/?p=45610","title":{"rendered":"Using state in Jetpack Compose &#8211; \uc124\uc815\ud558\uae30"},"content":{"rendered":"\n<p>\uc0d8\ud50c \uc571\uc744 \ub2e4\uc6b4\ub85c\ub4dc \ud558\ub824\uba74 \ub2e4\uc74c\uc911 \ud558\ub098\ub97c \uc218\ud589\ud558\uc790.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/googlecodelabs\/android-compose-codelabs\/archive\/main.zip\">\uc0d8\ud50c \uc571 \ub2e4\uc6b4\ub85c\ub4dc<\/a>\ub97c \uc218\ud589\ud558\uac70\ub098 \ub610\ub294 \ucee4\ub9e8\ub4dc \ub77c\uc778\uc744 \uc0ac\uc6a9\ud558\uc5ec Github \uc800\uc7a5\uc18c\ub97c \ud074\ub860\ud558\uc790<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">git clone https:\/\/github.com\/googlecodelabs\/android-compose-codelabs.git\ncd android-compose-codelabs\/StateCodelab<\/pre>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>compose-codelabs \uc800\uc7a5\uc18c\ub294 \ucf54\ub4dc\ub7a9\uc744 \uc704\ud55c \uc2a4\ud0c0\ud130 \ucf54\ub4dc\ub97c \ud3ec\ud568\ud55c\ub2e4.<\/p><p>\uc774 \ucf54\ub4dc\ub7a9\uc5d0\uc11c\ub294 StateCodelab \ud504\ub85c\uc81d\ud2b8\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p><p><strong>  &#8211; StateCodelab<\/strong> : \uc774 \ucf54\ub4dc\ub7a9\uc744 \uc704\ud55c \uc2dc\uc791\uacfc \ub05d\uc744 \ud3ec\ud568\ud558\ub294 \ucf54\ub4dc\uac00 \ub2f4\uae34 \ud504\ub85c\uc81d\ud2b8 <\/p><p>\uc774 \ub514\ub809\ud1a0\ub9ac\ub294 start \ubc0f finished \ucf54\ub4dc\ub97c \ud3ec\ud568\ud558\uace0 \uc788\ub2e4. \uc548\ub4dc\ub85c\uc774\ub4dc \uc2a4\ud29c\ub514\uc624\uc5d0\uc11c \uc88c\uce21 \ud328\ub110\uc744 \ubcf4\uba74 \ubaa8\ub4c8 \ub450\uac1c\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p><p><strong>  &#8211; start<\/strong> : \uc774 \ud504\ub85c\uc81d\ud2b8\ub97c \uc704\ud55c \uc2a4\ud0c0\ud130 \ucf54\ub4dc, \uc774 \ucf54\ub4dc\ub7a9\uc744 \uc644\uc131\ud558\uae30 \uc704\ud574 \ubcc0\uacbd\ud560 <br><strong>  -finished <\/strong>: \uc774 \ucf54\ub4dc\ub7a9\uc5d0 \ub300\ud55c \uc644\uc131\ub41c \ucf54\ub4dc<\/p><\/blockquote>\n\n\n\n<p>\uc5b8\uc81c\ub4e0\uc9c0 \uc548\ub4dc\ub85c\uc774\ub4dc \uc2a4\ud29c\ub514\uc5b4\uc5d0\uc11c \uac01 \ubaa8\ub4c8\uc744 \uc120\ud0dd\ud558\uc5ec \uc2e4\ud589\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"473\" height=\"105\" src=\"https:\/\/www.charlezz.com\/wordpress\/wp-content\/uploads\/2021\/11\/www.charlezz.com-using-state-in-jetpack-compose-8a2e49d6d6d2609d.png\" alt=\"\" class=\"wp-image-45612\" srcset=\"https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2021\/11\/www.charlezz.com-using-state-in-jetpack-compose-8a2e49d6d6d2609d.png 473w, https:\/\/charlezz.com\/wordpress\/wp-content\/uploads\/2021\/11\/www.charlezz.com-using-state-in-jetpack-compose-8a2e49d6d6d2609d-300x67.png 300w\" sizes=\"(max-width: 473px) 100vw, 473px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\uc548\ub4dc\ub85c\uc774\ub4dc \uc2a4\ud29c\ub514\uc624\uc5d0\uc11c \ud504\ub85c\uc81d\ud2b8 \uc5f4\uae30<\/h2>\n\n\n\n<ol><li><em><strong>Open an Existing Project<\/strong><\/em>\ub97c \uc120\ud0dd\ud558\uc790<\/li><li><strong><em>StateCodeLab<\/em><\/strong>\uc744 \ub2e4\uc6b4\ub85c\ub4dc \ud55c \uacbd\ub85c\ub97c \ucc3e\uc544 \ud3f4\ub354\ub97c \uc120\ud0dd\ud558\ub3c4\ub85d \ud558\uc790.<\/li><li>\uc548\ub4dc\ub85c\uc774\ub4dc \uc2a4\ud29c\ub514\uc624\uac00 \ud504\ub85c\uc81d\ud2b8\ub97c \ubd88\ub7ec\uc654\ub2e4\uba74, <strong><em>start<\/em><\/strong> \ubc0f <strong><em>finished<\/em><\/strong> \ubaa8\ub4c8\uc744 \uc2e4\ud589\ud574\ubcf4\ub3c4\ub85d \ud558\uc790.<\/li><\/ol>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>\ubc29\uae08 \ub2e4\uc6b4\ub85c\ub4dc \ud55c \uc0d8\ud50c\uc5d0\uc11c <strong><em>start<\/em><\/strong> \ubaa8\ub4c8\uc740 \ube48 \ud654\uba74\uc744 \ubcf4\uc5ec\uc900\ub2e4.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\uc2dc\uc791 \ucf54\ub4dc \ud0d0\uc0c9\ud558\uae30<\/h2>\n\n\n\n<ul><li><strong>examples<\/strong> &#8211; \ub2e8\ubc29\ud5a5 \ub370\uc774\ud130 \ud750\ub984\uc5d0 \ub300\ud55c \uac1c\ub150\uc744 \ud0d0\uc0c9\ud558\uae30 \uc704\ud55c Activity \uc608\uc81c. \uc774 \ud328\ud0a4\uc9c0\ub97c \uc218\uc815\ud560 \uc77c\uc740 \uc5c6\ub2e4.<\/li><li><strong>ui<\/strong> &#8211; \uc548\ub4dc\ub85c\uc774\ub4dc \uc2a4\ud29c\ub514\uc624\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \ucef4\ud3ec\uc988 \ud504\ub85c\uc81d\ud2b8\ub97c \uc2dc\uc791\ud560 \ub54c \uc790\ub3d9\uc73c\ub85c \uc0dd\uc131\ub418\ub294 \ud14c\ub9c8\ub97c \ud3ec\ud568\ud55c\ub2e4. \uc774 \ud328\ud0a4\uc9c0\ub3c4 \uc218\uc815\ud560 \uc77c\uc740 \uc5c6\ub2e4.<\/li><li><strong>util<\/strong> &#8211; \ud504\ub85c\uc81d\ud2b8\ub97c \uc704\ud55c helper \ucf54\ub4dc\uac00 \ud3ec\ud568\ub418\uc5b4\uc788\ub2e4. \uc774 \ud328\ud0a4\uc9c0\ub97c \uc218\uc815\ud560 \uc77c\uc740 \uc5c6\ub2e4.<\/li><li><strong>todo<\/strong> &#8211; \uc6b0\ub9ac\uac00 \ub9cc\ub4dc\ub824\ub294 Todo \ud654\uba74\uc5d0 \ub300\ud55c \ucf54\ub4dc\ub97c \uc774 \ud328\ud0a4\uc9c0\uc5d0\uc11c \ud3ec\ud568\ud558\uace0 \uc788\ub2e4. \uc774 \ud328\ud0a4\uc9c0\ub97c \uc218\uc815\ud560 \uc608\uc815\uc774\ub2e4.<\/li><\/ul>\n\n\n\n<p>\uc774 \ucf54\ub4dc\ub7a9\uc5d0\uc11c\ub294 todo \ud328\ud0a4\uc9c0\uc5d0 \uc788\ub294 \ud30c\uc77c\ub4e4\uc5d0 \ucd08\uc810\uc744 \ub9de\ucd9c \uac83\uc774\ub2e4. start \ubaa8\ub4c8\uc5d0\uc11c \uba87\uac00\uc9c0 \uce5c\uc219\ud55c \ud30c\uc77c\ub4e4\uc774 \uc788\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">todo \ud328\ud0a4\uc9c0\uc5d0 \uc81c\uacf5\ub41c \ud30c\uc77c<\/h2>\n\n\n\n<ul><li><strong>Data.kt<\/strong> &#8211; TodoItem\uc744 \ud45c\ud604\ud558\ub294\ub370 \uc0ac\uc6a9\ub41c \ub370\uc774\ud130 \uad6c\uc870<\/li><li><strong>TodoComponents.kt<\/strong> &#8211; Todo \ud654\uba74\uc744 \ub9cc\ub4dc\ub294\ub370 \uc0ac\uc6a9\ub418\ub294, \uc7ac\uc0ac\uc6a9 \ud560 \uc218 \uc788\ub294 \ucef4\ud3ec\uc800\ube14. \uc774 \ud30c\uc77c\uc740 \uc218\uc815\ud560 \ud544\uc694\uac00 \uc5c6\ub2e4.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">todo\ud328\ud0a4\uc9c0\uc5d0\uc11c \uc218\uc815\ud560 \ud30c\uc77c\ub4e4<\/h2>\n\n\n\n<ul><li><strong>TodoActivity.kt<\/strong> &#8211; \uc774 \ucf54\ub4dc\ub7a9\uc744 \ub9c8\uce5c \ud6c4 \ucef4\ud3ec\uc988\ub97c \uc0ac\uc6a9\ud558\uc5ec Todo \ud654\uba74\uc744 \uadf8\ub9b4 \uc548\ub4dc\ub85c\uc774\ub4dc Activity.<\/li><li><strong>TodoViewModel.kt<\/strong> &#8211; Todo \ud654\uba74\uc744 \ub9cc\ub4e4\uae30 \uc704\ud55c \ucef4\ud3ec\uc988\ub97c \ud1b5\ud569\ud55c <strong>ViewModel<\/strong>. \uc774 ViewModel\uc744 \ucef4\ud3ec\uc988\uc5d0 \uc5f0\uacb0\ud558\uace0 \ud655\uc7a5\ud558\uc5ec \ub354 \ub9ce\uc740 \uae30\ub2a5\uc744 \ucd94\uac00 \ud560 \uac83\uc774\ub2e4.<\/li><li><strong>TodoScreen.kt<\/strong> &#8211; \uc774 \ucf54\ub4dc\ub7a9\uc744 \uc9c4\ud589\ud558\ub294 \ub3d9\uc548 \ub9cc\ub4e4 Todo \ud654\uba74\uc5d0 \ub300\ud55c \ucef4\ud3ec\uc988 \uad6c\ud604.<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc0d8\ud50c \uc571\uc744 \ub2e4\uc6b4\ub85c\ub4dc \ud558\ub824\uba74 \ub2e4\uc74c\uc911 \ud558\ub098\ub97c \uc218\ud589\ud558\uc790. \uc0d8\ud50c \uc571 \ub2e4\uc6b4\ub85c\ub4dc\ub97c \uc218\ud589\ud558\uac70\ub098 \ub610\ub294 \ucee4\ub9e8\ub4dc \ub77c\uc778\uc744 \uc0ac\uc6a9\ud558\uc5ec Github \uc800\uc7a5\uc18c\ub97c \ud074\ub860\ud558\uc790 git clone https:\/\/github.com\/googlecodelabs\/android-compose-codelabs.git cd android-compose-codelabs\/StateCodelab compose-codelabs \uc800\uc7a5\uc18c\ub294 \ucf54\ub4dc\ub7a9\uc744 \uc704\ud55c \uc2a4\ud0c0\ud130 \ucf54\ub4dc\ub97c \ud3ec\ud568\ud55c\ub2e4. \uc774 \ucf54\ub4dc\ub7a9\uc5d0\uc11c\ub294 StateCodelab \ud504\ub85c\uc81d\ud2b8\ub97c \uc0ac\uc6a9\ud55c\ub2e4. &#8211; StateCodelab : \uc774 \ucf54\ub4dc\ub7a9\uc744 \uc704\ud55c \uc2dc\uc791\uacfc \ub05d\uc744 \ud3ec\ud568\ud558\ub294 \ucf54\ub4dc\uac00 \ub2f4\uae34 \ud504\ub85c\uc81d\ud2b8 \uc774 \ub514\ub809\ud1a0\ub9ac\ub294 start [&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":[38],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/45610"}],"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=45610"}],"version-history":[{"count":4,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/45610\/revisions"}],"predecessor-version":[{"id":45615,"href":"https:\/\/charlezz.com\/index.php?rest_route=\/wp\/v2\/posts\/45610\/revisions\/45615"}],"wp:attachment":[{"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=45610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=45610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/charlezz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=45610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}