{"id":2540,"date":"2025-10-23T12:32:29","date_gmt":"2025-10-23T03:32:29","guid":{"rendered":"https:\/\/www.freelifemakers.org\/wordpress\/?p=2540"},"modified":"2025-10-23T13:28:09","modified_gmt":"2025-10-23T04:28:09","slug":"kotlin","status":"publish","type":"post","link":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/2025\/10\/23\/kotlin\/","title":{"rendered":"[kotlin]\ud504\ub85c\uc81d\ud2b8\uc0dd\uc131\/Create Project(XML + Jetpack Compose)"},"content":{"rendered":"\n<p>\ud83d\udc49\ud83c\udffb \ucf54\ud2c0\ub9b0 \uac1c\ubc1c \ubc29\uc2dd\uc740 \uae30\uc874\uc758 XML\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uacfc Jetpack Compose\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uc774 \uc788\uc2b5\ub2c8\ub2e4.<br>There are two ways to develop in Kotlin: using traditional XML and using Jetpack Compose.<\/p>\n\n\n\n<p>\ud83d\udc49\ud83c\udffb XML\uc740 \uae30\uc874 \uac1c\ubc1c\ubc29\uc2dd\uc774\uace0 Jetpack Compose\ub294 \uc0c8\ub85c\uc6b4 \uac1c\ubc1c\ubc29\uc2dd \uc785\ub2c8\ub2e4.<br>XML is the old way of development, and Jetpack Compose is the new way of development.<\/p>\n\n\n\n<p>\ud83d\udc49\ud83c\udffb \uc774\ub7f0 \uac1c\ubc1c \ubc29\uc2dd\uc758 \ucc28\uc774\ub294 \uc571\ub514\uc790\uc778\uacfc \uad00\ub828\uc774 \uc788\uc2b5\ub2c8\ub2e4.<br>These differences in development methods have to do with app design.<\/p>\n\n\n\n<p>\ud83d\udc49\ud83c\udffb\uc544\ub798\ub294 XML\uacfc Jetpack Compose\ud504\ub85c\uc81d\ud2b8 \uc0dd\uc131\ud558\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4.<br>Below are instructions for creating an XML and Jetpack Compose project.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">1.\ud504\ub85c\uc81d\ud2b8 \uc0dd\uc131 \/ Create Project<\/h5>\n\n\n\n<p>\u2714\ufe0f\uc548\ub4dc\ub85c\uc774\ud2b8 \uc2a4\ud29c\ub514\uc624\ub97c \uc2e4\ud589\ud558\uace0 New Project\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4.<br>Launch Android Studio and select New Project.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"963\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/1-1024x963.png\" alt=\"\" class=\"wp-image-2547\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/1-1024x963.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/1-300x282.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/1-768x722.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/1-1536x1444.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/1.png 1604w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u2714\ufe0f \uc88c\uce21\uc5d0\uc11c Phone and Tablet\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<br>Select Phone and Tablet on the left.<\/p>\n\n\n\n<p>\u2714\ufe0fEmpty Activity\ub97c \uc120\ud0dd\ud558\uba74 Jetpack Compose\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<br>Selecting Empty Activity uses Jetpack Compose.<\/p>\n\n\n\n<p>\u2714\ufe0f\ubc14\ub85c \uc544\ub798\uc758 Empty Views Activity\ub97c \uc120\ud0dd\ud558\uba74 XML\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<br>If you select the Empty Views Activity just below, it will use XML.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"765\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/2-1-1024x765.png\" alt=\"\" class=\"wp-image-2545\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/2-1-1024x765.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/2-1-300x224.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/2-1-768x574.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/2-1-1536x1148.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/2-1.png 1804w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">2.XML \ud654\uba74 \/ XML screen<\/h5>\n\n\n\n<p>\u2714\ufe0f XML\uc5d0\uc11c\ub294 activity_main.xml\ud654\uba74\uc5d0\uc11c \ub9c8\uc6b0\uc2a4\ub97c \uc0ac\uc6a9\ud574\uc11c \uc9c1\uc811 \ub514\uc790\uc778\uc744 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br>In XML, you can design directly using the mouse on the activity_main.xml screen.<\/p>\n\n\n\n<p>\u2714\ufe0f MainActivity.kt\uc785\ub2c8\ub2e4. \/ This is MainActivity.kt.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"626\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml1-1024x626.png\" alt=\"\" class=\"wp-image-2551\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml1-1024x626.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml1-300x183.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml1-768x469.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml1-1536x938.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml1-2048x1251.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u2714\ufe0f activity_main.xml \uc785\ub2c8\ub2e4. \/ This is activity_main.xml.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"616\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml2-1024x616.png\" alt=\"\" class=\"wp-image-2549\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml2-1024x616.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml2-300x180.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml2-768x462.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml2-1536x924.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml2-2048x1232.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u2714\ufe0f \uc6b0\uce21 \uc0c1\ub2e8\uc758 \ud584\ubc84\uac70 \uba54\ub274\ub97c \ub204\ub974\uba74 XML\ucf54\ub4dc\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br>You can view the XML code by clicking the hamburger menu in the upper right corner.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"839\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml3-1024x839.png\" alt=\"\" class=\"wp-image-2554\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml3-1024x839.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml3-300x246.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml3-768x629.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml3-1536x1258.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/xml3.png 1846w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">3.Jetpack Compose \ud654\uba74 \/ Jetpack Compose Screen<\/h5>\n\n\n\n<p>\u2714\ufe0f MainActivity.kt \uc785\ub2c8\ub2e4. \/ This is MainActivity.kt.<\/p>\n\n\n\n<p>\u2714\ufe0f \ub514\uc790\uc778\uc744 \ubaa8\ub450 \ucf54\ud2c0\ub9b0 \ucf54\ub4dc\ub85c \uad6c\uc131\ud558\ub294 \ubc29\uc2dd\uc785\ub2c8\ub2e4.<br>This is a way to structure all designs in Kotlin code.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"618\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack1-1024x618.png\" alt=\"\" class=\"wp-image-2550\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack1-1024x618.png 1024w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack1-300x181.png 300w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack1-768x464.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack1-1536x928.png 1536w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack1-2048x1237.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u2714\ufe0f \uc6b0\uce21\uc0c1\ub2e8\uc758 \uc774\ubbf8\uc9c0 \ubaa8\uc591\uc744 \ud074\ub9ad\ud558\uba74 \ud504\ub9ac\ubdf0\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br>You can see a preview by clicking on the image shape in the upper right corner.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"1024\" src=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack2-961x1024.png\" alt=\"\" class=\"wp-image-2560\" srcset=\"https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack2-961x1024.png 961w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack2-281x300.png 281w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack2-768x819.png 768w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack2-1441x1536.png 1441w, https:\/\/www.freelifemakers.org\/wordpress\/wp-content\/uploads\/2025\/10\/jetpack2.png 1550w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udc49\ud83c\udffb \ucf54\ud2c0\ub9b0 \uac1c\ubc1c \ubc29\uc2dd\uc740 \uae30\uc874\uc758 XML\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uacfc Jetpack Compose\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\uc2dd\uc774 \uc788\uc2b5\ub2c8\ub2e4.There are two ways to develop in Kotlin: using traditional XML and using Jetpack Compose. \ud83d\udc49\ud83c\udffb XML\uc740 \uae30\uc874 \uac1c\ubc1c\ubc29\uc2dd\uc774\uace0 Jetpack Compose\ub294 \uc0c8\ub85c\uc6b4 \uac1c\ubc1c\ubc29\uc2dd \uc785\ub2c8\ub2e4.XML is the old way of development, and Jetpack Compose is the new way of development. \ud83d\udc49\ud83c\udffb \uc774\ub7f0 \uac1c\ubc1c \ubc29\uc2dd\uc758 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,1],"tags":[],"class_list":["post-2540","post","type-post","status-publish","format-standard","hentry","category-kotlin","category-uncategorized","missing-thumbnail"],"_links":{"self":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/2540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=2540"}],"version-history":[{"count":24,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/2540\/revisions"}],"predecessor-version":[{"id":2572,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/2540\/revisions\/2572"}],"wp:attachment":[{"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=2540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=2540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.freelifemakers.org\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=2540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}