{"id":37219,"date":"2024-11-01T09:55:50","date_gmt":"2024-11-01T09:55:50","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37219"},"modified":"2024-11-01T11:36:08","modified_gmt":"2024-11-01T11:36:08","slug":"java-android-app-development-course-creating-screens-using-jetpack","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37219\/","title":{"rendered":"Java Android App Development Course, Creating Screens using Jetpack"},"content":{"rendered":"<p><body><\/p>\n<p>\n        Android app development is receiving more attention than ever. In particular, Google&#8217;s Jetpack library is a powerful tool that makes the development of Android applications easier and more efficient. In this course, we will take a closer look at how to create screens based on Jetpack using Java.\n    <\/p>\n<h2>1. Understanding Jetpack<\/h2>\n<p>\n        Jetpack is a set of numerous libraries and architecture components for Android development that helps make app development, testing, and maintenance easier and faster. Jetpack is composed of the following key components.\n    <\/p>\n<ul>\n<li><strong>Architecture Components:<\/strong> UI-related libraries such as Lifecycle, LiveData, and ViewModel<\/li>\n<li><strong>UI Components:<\/strong> Modern UI tools like Jetpack Compose<\/li>\n<li><strong>Data Management:<\/strong> Data storage solutions like Room and DataStore<\/li>\n<li><strong>Behavior:<\/strong> Manages app behavior with Navigation and WorkManager<\/li>\n<\/ul>\n<h2>2. Setting Up the Environment<\/h2>\n<p>\n        Let&#8217;s learn how to set up a project using Jetpack with Android Studio. Please follow the steps below.\n    <\/p>\n<ol>\n<li>\n            Launch Android Studio and create a new project. Select &#8220;Empty Activity&#8221; and enter the project name.\n        <\/li>\n<li>\n<strong>Gradle File (Build.gradle)<\/strong> Add Jetpack library dependencies. The necessary libraries are as follows:<\/p>\n<pre><code>dependencies {\n    implementation 'androidx.appcompat:appcompat:1.3.0'\n    implementation 'androidx.activity:activity-ktx:1.2.3'\n    implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0'\n    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'\n}<\/code><\/pre>\n<\/li>\n<li>\n            Sync the Gradle file.\n        <\/li>\n<\/ol>\n<h2>3. Creating the Basic Screen<\/h2>\n<p>\n        Now let&#8217;s write the XML layout and Java code to create the basic screen.\n    <\/p>\n<h3>3.1 Creating the XML Layout File<\/h3>\n<p>\n        Open the project\u2019s <code>res\/layout\/activity_main.xml<\/code> file and modify it as follows.\n    <\/p>\n<pre><code>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"&gt;\n\n    &lt;TextView\n        android:id=\"@+id\/text_view\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"Hello, Jetpack!\"\n        android:textSize=\"24sp\"\n        android:layout_centerInParent=\"true\" \/&gt;\n\n    &lt;Button\n        android:id=\"@+id\/button\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"Click Me\"\n        android:layout_below=\"@id\/text_view\"\n        android:layout_centerHorizontal=\"true\"\n        android:layout_marginTop=\"20dp\" \/&gt;\n\n&lt;\/RelativeLayout&gt;<\/code><\/pre>\n<h3>3.2 Writing MainActivity.java<\/h3>\n<p>\nOpen the <code>MainActivity.java<\/code> file and write the code as follows. This code implements the functionality to change the text upon button click.\n    <\/p>\n<pre><code>package com.example.myapplication;\n\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.TextView;\n\nimport androidx.appcompat.app.AppCompatActivity;\n\npublic class MainActivity extends AppCompatActivity {\n    private TextView textView;\n    private Button button;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        textView = findViewById(R.id.text_view);\n        button = findViewById(R.id.button);\n\n        button.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                textView.setText(\"Button Clicked!\");\n            }\n        });\n    }\n}<\/code><\/pre>\n<h2>4. Utilizing ViewModel and LiveData<\/h2>\n<p>\n        Using Jetpack&#8217;s ViewModel and LiveData allows for efficient management of UI data. ViewModel retains UI-related data, and LiveData automatically updates the UI upon data changes.\n    <\/p>\n<h3>4.1 Creating the ViewModel Class<\/h3>\n<p>\n        Create a new class to implement ViewModel. Create a <code>MyViewModel.java<\/code> file and enter the following code.\n    <\/p>\n<pre><code>package com.example.myapplication;\n\nimport androidx.lifecycle.LiveData;\nimport androidx.lifecycle.MutableLiveData;\nimport androidx.lifecycle.ViewModel;\n\npublic class MyViewModel extends ViewModel {\n    private final MutableLiveData<String> text = new MutableLiveData<>();\n\n    public MyViewModel() {\n        text.setValue(\"Hello, Jetpack with ViewModel!\");\n    }\n\n    public LiveData<String> getText() {\n        return text;\n    }\n\n    public void updateText(String newText) {\n        text.setValue(newText);\n    }\n}<\/code><\/pre>\n<h3>4.2 Using ViewModel in MainActivity<\/h3>\n<p>\n        Now let&#8217;s use the ViewModel in MainActivity to update the text. Modify the code as follows.\n    <\/p>\n<pre><code>package com.example.myapplication;\n\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.TextView;\n\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.lifecycle.Observer;\nimport androidx.lifecycle.ViewModelProvider;\n\npublic class MainActivity extends AppCompatActivity {\n    private MyViewModel myViewModel;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        myViewModel = new ViewModelProvider(this).get(MyViewModel.class);\n        TextView textView = findViewById(R.id.text_view);\n        Button button = findViewById(R.id.button);\n\n        myViewModel.getText().observe(this, new Observer<String>() {\n            @Override\n            public void onChanged(String s) {\n                textView.setText(s);\n            }\n        });\n\n        button.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                myViewModel.updateText(\"Button Clicked!\");\n            }\n        });\n    }\n}<\/code><\/pre>\n<h2>5. Screen Transitions via Navigation<\/h2>\n<p>\n        The Jetpack Navigation component allows for easy transitions between various screens of the app. Let&#8217;s learn how to switch screens using Navigation components.\n    <\/p>\n<h3>5.1 Creating a Navigation Graph<\/h3>\n<p>\n        Create a new Navigation graph file. Create a <code>res\/navigation\/nav_graph.xml<\/code> file and set it up as follows.\n    <\/p>\n<pre><code>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;navigation xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:app=\"http:\/\/schemas.android.com\/apk\/res-auto\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    app:startDestination=\"@id\/firstFragment\"&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/firstFragment\"\n        android:name=\"com.example.myapplication.FirstFragment\"\n        android:label=\"First Fragment\"\n        tools:layout=\"@layout\/fragment_first\"&gt;\n    &lt;\/fragment&gt;\n\n    &lt;fragment\n        android:id=\"@+id\/secondFragment\"\n        android:name=\"com.example.myapplication.SecondFragment\"\n        android:label=\"Second Fragment\"\n        tools:layout=\"@layout\/fragment_second\"&gt;\n    &lt;\/fragment&gt;\n\n&lt;\/navigation&gt;<\/code><\/pre>\n<h3>5.2 Creating Fragment Classes<\/h3>\n<p>\n        To implement navigation, we will add two Fragment classes. First, create <code>FirstFragment.java<\/code>.\n    <\/p>\n<pre><code>package com.example.myapplication;\n\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\n\nimport androidx.fragment.app.Fragment;\n\npublic class FirstFragment extends Fragment {\n    @Override\n    public View onCreateView(LayoutInflater inflater, ViewGroup container,\n                             Bundle savedInstanceState) {\n        return inflater.inflate(R.layout.fragment_first, container, false);\n    }\n}<\/code><\/pre>\n<p>\n        Next, create the <code>SecondFragment.java<\/code> file.\n    <\/p>\n<pre><code>package com.example.myapplication;\n\nimport android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\n\nimport androidx.fragment.app.Fragment;\n\npublic class SecondFragment extends Fragment {\n    @Override\n    public View onCreateView(LayoutInflater inflater, ViewGroup container,\n                             Bundle savedInstanceState) {\n        return inflater.inflate(R.layout.fragment_second, container, false);\n    }\n}<\/code><\/pre>\n<h2>6. Conclusion<\/h2>\n<p>\n        Developing Android apps utilizing Jetpack allows for efficient use of various features such as UI components, data management, and fragment navigation. In this course, we configured a basic screen using Java and implemented state management using ViewModel and LiveData. We also learned how to facilitate screen transitions easily using navigation components.\n    <\/p>\n<p>\n        To develop more complex apps, you can leverage additional components and libraries, and enhance code reusability and maintainability through the various features of Jetpack. Keep practicing and try applying it to actual projects to gain more experience.\n    <\/p>\n<h2>References<\/h2>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\">Official Android Jetpack Site<\/a><\/li>\n<li><a href=\"https:\/\/developer.android.com\/architecture\/components\">Architecture Components Documentation<\/a><\/li>\n<li><a href=\"https:\/\/developer.android.com\/guide\/navigation\">Android Navigation Guide<\/a><\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Android app development is receiving more attention than ever. In particular, Google&#8217;s Jetpack library is a powerful tool that makes the development of Android applications easier and more efficient. In this course, we will take a closer look at how to create screens based on Jetpack using Java. 1. Understanding Jetpack Jetpack is a set &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37219\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Java Android App Development Course, Creating Screens using Jetpack&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[137],"tags":[],"class_list":["post-37219","post","type-post","status-publish","format-standard","hentry","category-java-android-app-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java Android App Development Course, Creating Screens using Jetpack - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/37219\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java Android App Development Course, Creating Screens using Jetpack - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Android app development is receiving more attention than ever. In particular, Google&#8217;s Jetpack library is a powerful tool that makes the development of Android applications easier and more efficient. In this course, we will take a closer look at how to create screens based on Jetpack using Java. 1. Understanding Jetpack Jetpack is a set &hellip; \ub354 \ubcf4\uae30 &quot;Java Android App Development Course, Creating Screens using Jetpack&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37219\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:55:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:36:08+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/37219\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37219\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Java Android App Development Course, Creating Screens using Jetpack\",\"datePublished\":\"2024-11-01T09:55:50+00:00\",\"dateModified\":\"2024-11-01T11:36:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37219\/\"},\"wordCount\":477,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Java Android app development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37219\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37219\/\",\"name\":\"Java Android App Development Course, Creating Screens using Jetpack - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:55:50+00:00\",\"dateModified\":\"2024-11-01T11:36:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37219\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37219\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37219\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Android App Development Course, Creating Screens using Jetpack\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java Android App Development Course, Creating Screens using Jetpack - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/37219\/","og_locale":"ko_KR","og_type":"article","og_title":"Java Android App Development Course, Creating Screens using Jetpack - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Android app development is receiving more attention than ever. In particular, Google&#8217;s Jetpack library is a powerful tool that makes the development of Android applications easier and more efficient. In this course, we will take a closer look at how to create screens based on Jetpack using Java. 1. Understanding Jetpack Jetpack is a set &hellip; \ub354 \ubcf4\uae30 \"Java Android App Development Course, Creating Screens using Jetpack\"","og_url":"https:\/\/atmokpo.com\/w\/37219\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:55:50+00:00","article_modified_time":"2024-11-01T11:36:08+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/37219\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37219\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Java Android App Development Course, Creating Screens using Jetpack","datePublished":"2024-11-01T09:55:50+00:00","dateModified":"2024-11-01T11:36:08+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37219\/"},"wordCount":477,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Java Android app development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37219\/","url":"https:\/\/atmokpo.com\/w\/37219\/","name":"Java Android App Development Course, Creating Screens using Jetpack - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:55:50+00:00","dateModified":"2024-11-01T11:36:08+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37219\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37219\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37219\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Java Android App Development Course, Creating Screens using Jetpack"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=37219"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37219\/revisions"}],"predecessor-version":[{"id":37220,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37219\/revisions\/37220"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}