{"id":37115,"date":"2024-11-01T09:54:59","date_gmt":"2024-11-01T09:54:59","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37115"},"modified":"2024-11-01T11:36:36","modified_gmt":"2024-11-01T11:36:36","slug":"java-android-app-development-course-various-dialogs","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37115\/","title":{"rendered":"Java Android App Development Course, Various Dialogs"},"content":{"rendered":"<p><body><\/p>\n<p>Dialogs in Android are powerful tools for interacting with users. They are used for various purposes such as alert messages, user input, selections, and displaying information. This article provides a detailed explanation of the concept and implementation of different types of dialogs, along with example code. Through this tutorial, you can learn the skills to effectively use dialogs in Android apps.<\/p>\n<h2>What is a Dialog?<\/h2>\n<p>A dialog is a small window for interaction with the user. It serves the purpose of providing or confirming necessary information to the user without interfering with the main UI of the app. Android provides several types of dialogs, which can improve user experience.<\/p>\n<h2>Types of Dialogs<\/h2>\n<p>Dialogs provided by Android can be broadly classified as follows:<\/p>\n<ul>\n<li><strong>AlertDialog<\/strong>: A common dialog used for various purposes such as alerts and information provision.<\/li>\n<li><strong>ProgressDialog<\/strong>: A dialog that shows the status of a process to the user during ongoing tasks (Note: This class is currently deprecated).<\/li>\n<li><strong>DatePickerDialog<\/strong>: A dialog for selecting dates.<\/li>\n<li><strong>TimePickerDialog<\/strong>: A dialog for selecting times.<\/li>\n<li><strong>Custom Dialog<\/strong>: A dialog with a user-defined UI.<\/li>\n<\/ul>\n<h2>1. AlertDialog<\/h2>\n<p>AlertDialog is the most common type of dialog that requests user selection or provides information. Below is a basic implementation example of AlertDialog.<\/p>\n<pre><code>import android.content.DialogInterface;\nimport android.os.Bundle;\nimport androidx.appcompat.app.AlertDialog;\nimport androidx.appcompat.app.AppCompatActivity;\n\npublic class MainActivity extends AppCompatActivity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        \n        showAlertDialog();\n    }\n\n    private void showAlertDialog() {\n        AlertDialog.Builder builder = new AlertDialog.Builder(this);\n        builder.setTitle(\"Notification\");\n        builder.setMessage(\"This is the dialog message.\");\n        \n        \/\/ Positive button\n        builder.setPositiveButton(\"OK\", new DialogInterface.OnClickListener() {\n            @Override\n            public void onClick(DialogInterface dialog, int which) {\n                \/\/ Handle positive button click\n            }\n        });\n       \n        \/\/ Negative button\n        builder.setNegativeButton(\"Cancel\", new DialogInterface.OnClickListener() {\n            @Override\n            public void onClick(DialogInterface dialog, int which) {\n                \/\/ Handle negative button click\n            }\n        });\n        \n        AlertDialog dialog = builder.create();\n        dialog.show();\n    }\n}\n<\/code><\/pre>\n<p><strong>Description<\/strong>: In the above code, <code>AlertDialog.Builder<\/code> is used to create the dialog. The dialog&#8217;s title and message are set, and positive and negative buttons are added. The actions upon button clicks are defined in the internal listeners.<\/p>\n<h2>2. ProgressDialog<\/h2>\n<p><strong>Note:<\/strong> ProgressDialog is no longer recommended, so it is better to use alternative UI elements. For example, you can combine <code>ProgressBar<\/code> with <code>DialogFragment<\/code> to implement similar functionality.<\/p>\n<pre><code>import android.app.ProgressDialog;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport androidx.appcompat.app.AppCompatActivity;\n\npublic class MainActivity extends AppCompatActivity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        \n        showProgressDialog();\n    }\n\n    private void showProgressDialog() {\n        ProgressDialog progressDialog = new ProgressDialog(this);\n        progressDialog.setTitle(\"Loading\");\n        progressDialog.setMessage(\"Loading data...\");\n        progressDialog.setCancelable(false); \/\/ Not cancelable\n      \n        progressDialog.show();\n\n        \/\/ Dismiss the dialog after 2 seconds\n        new Handler().postDelayed(new Runnable() {\n            @Override\n            public void run() {\n                progressDialog.dismiss();\n            }\n        }, 2000);\n    }\n}\n<\/code><\/pre>\n<p><strong>Description<\/strong>: The above code creates a ProgressDialog that is set to close after 2 seconds. It can visually indicate the loading status to the user.<\/p>\n<h2>3. DatePickerDialog<\/h2>\n<p>DatePickerDialog is a dialog that helps users select a date. The following example shows the basic usage of DatePickerDialog.<\/p>\n<pre><code>import android.app.DatePickerDialog;\nimport android.os.Bundle;\nimport android.widget.DatePicker;\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport java.util.Calendar;\n\npublic class MainActivity extends AppCompatActivity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        \n        showDatePickerDialog();\n    }\n\n    private void showDatePickerDialog() {\n        final Calendar calendar = Calendar.getInstance();\n        int year = calendar.get(Calendar.YEAR);\n        int month = calendar.get(Calendar.MONTH);\n        int day = calendar.get(Calendar.DAY_OF_MONTH);\n        \n        DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {\n            @Override\n            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {\n                \/\/ Handle selected date\n            }\n        }, year, month, day);\n        \n        datePickerDialog.show();\n    }\n}\n<\/code><\/pre>\n<p><strong>Description<\/strong>: The selected date in DatePickerDialog can be handled in the <code>onDateSet<\/code> method. When the user selects a date, the selected year, month, and day are passed as parameters.<\/p>\n<h2>4. TimePickerDialog<\/h2>\n<p>TimePickerDialog helps users select a time. The following code is a basic implementation example of TimePickerDialog.<\/p>\n<pre><code>import android.app.TimePickerDialog;\nimport android.os.Bundle;\nimport android.widget.TimePicker;\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport java.util.Calendar;\n\npublic class MainActivity extends AppCompatActivity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        \n        showTimePickerDialog();\n    }\n\n    private void showTimePickerDialog() {\n        final Calendar calendar = Calendar.getInstance();\n        int hour = calendar.get(Calendar.HOUR_OF_DAY);\n        int minute = calendar.get(Calendar.MINUTE);\n        \n        TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {\n            @Override\n            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {\n                \/\/ Handle selected time\n            }\n        }, hour, minute, true);\n        \n        timePickerDialog.show();\n    }\n}\n<\/code><\/pre>\n<p><strong>Description<\/strong>: The time selected by the user in TimePickerDialog is handled in the <code>onTimeSet<\/code> method, which receives the hour and minute values as parameters.<\/p>\n<h2>5. Custom Dialog<\/h2>\n<p>A Custom Dialog has a user-defined UI. You can create a dialog in your desired format using an XML layout. Below is an example of a Custom Dialog.<\/p>\n<pre><code>import android.app.Dialog;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.Button;\nimport android.widget.TextView;\nimport androidx.appcompat.app.AppCompatActivity;\n\npublic class MainActivity extends AppCompatActivity {\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        \n        showCustomDialog();\n    }\n\n    private void showCustomDialog() {\n        final Dialog dialog = new Dialog(this);\n        dialog.setContentView(R.layout.custom_dialog);\n        \n        TextView dialogText = dialog.findViewById(R.id.dialog_text);\n        Button dialogButton = dialog.findViewById(R.id.dialog_button);\n        \n        dialogText.setText(\"This is a custom dialog.\");\n        \n        dialogButton.setOnClickListener(new View.OnClickListener() {\n            @Override\n            public void onClick(View v) {\n                dialog.dismiss();\n            }\n        });\n        \n        dialog.show();\n    }\n}\n<\/code><\/pre>\n<p><strong>Description<\/strong>: In the above example, <code>custom_dialog.xml<\/code> is the layout file defined by the user. The layout of the dialog is defined in XML and a dialog is created using the <code>Dialog<\/code> class.<\/p>\n<h3>custom_dialog.xml<\/h3>\n<pre><code><?xml version=\"1.0\" encoding=\"utf-8\"?>\n<linearlayout android:layout_height=\"wrap_content\" android:layout_width=\"match_parent\" android:orientation=\"vertical\" android:padding=\"16dp\" xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\">\n\n    <textview android:id=\"@+id\/dialog_text\" android:layout_height=\"wrap_content\" android:layout_width=\"match_parent\" android:textsize=\"18sp\"><\/textview>\n\n    <button android:id=\"@+id\/dialog_button\" android:layout_height=\"wrap_content\" android:layout_width=\"wrap_content\" android:text=\"Close\"><\/button>\n\n<\/linearlayout>\n<\/code><\/pre>\n<h2>Various Attributes of Dialogs<\/h2>\n<p>Dialogs can be adjusted with various attributes to improve user experience. Here are some attributes that can be set on a dialog:<\/p>\n<ul>\n<li><strong>Cancelable:<\/strong> You can allow the user to close the dialog by touching outside or pressing the &#8216;Back&#8217; button.<\/li>\n<li><strong>Gravity:<\/strong> You can adjust the dialog\u2019s position to be displayed at a specific spot on the screen.<\/li>\n<li><strong>Theme:<\/strong> You can change the dialog&#8217;s theme to match the design of the app.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>In this tutorial, we learned how to create various types of dialogs in Android app development using Java. Dialogs play an important role in improving interaction with users and effectively conveying information. By learning the implementation of AlertDialog, ProgressDialog, DatePickerDialog, TimePickerDialog, and Custom Dialog, you can choose and use appropriate dialogs as needed. We hope you can create more attractive and user-friendly Android apps by utilizing these dialogs.<\/p>\n<h2>Additional Resources<\/h2>\n<p>You can find more information related to dialogs in the official Android developer documentation. Referring to the resources to create your own dialogs can also be a good experience.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dialogs in Android are powerful tools for interacting with users. They are used for various purposes such as alert messages, user input, selections, and displaying information. This article provides a detailed explanation of the concept and implementation of different types of dialogs, along with example code. Through this tutorial, you can learn the skills to &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37115\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Java Android App Development Course, Various Dialogs&#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-37115","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, Various Dialogs - \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\/37115\/\" \/>\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, Various Dialogs - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Dialogs in Android are powerful tools for interacting with users. They are used for various purposes such as alert messages, user input, selections, and displaying information. This article provides a detailed explanation of the concept and implementation of different types of dialogs, along with example code. Through this tutorial, you can learn the skills to &hellip; \ub354 \ubcf4\uae30 &quot;Java Android App Development Course, Various Dialogs&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37115\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:54:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:36:36+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\/37115\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37115\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Java Android App Development Course, Various Dialogs\",\"datePublished\":\"2024-11-01T09:54:59+00:00\",\"dateModified\":\"2024-11-01T11:36:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37115\/\"},\"wordCount\":624,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Java Android app development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37115\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37115\/\",\"name\":\"Java Android App Development Course, Various Dialogs - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:54:59+00:00\",\"dateModified\":\"2024-11-01T11:36:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37115\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37115\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37115\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Android App Development Course, Various Dialogs\"}]},{\"@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, Various Dialogs - \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\/37115\/","og_locale":"ko_KR","og_type":"article","og_title":"Java Android App Development Course, Various Dialogs - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Dialogs in Android are powerful tools for interacting with users. They are used for various purposes such as alert messages, user input, selections, and displaying information. This article provides a detailed explanation of the concept and implementation of different types of dialogs, along with example code. Through this tutorial, you can learn the skills to &hellip; \ub354 \ubcf4\uae30 \"Java Android App Development Course, Various Dialogs\"","og_url":"https:\/\/atmokpo.com\/w\/37115\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:54:59+00:00","article_modified_time":"2024-11-01T11:36:36+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\/37115\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37115\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Java Android App Development Course, Various Dialogs","datePublished":"2024-11-01T09:54:59+00:00","dateModified":"2024-11-01T11:36:36+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37115\/"},"wordCount":624,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Java Android app development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37115\/","url":"https:\/\/atmokpo.com\/w\/37115\/","name":"Java Android App Development Course, Various Dialogs - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:54:59+00:00","dateModified":"2024-11-01T11:36:36+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37115\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37115\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37115\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Java Android App Development Course, Various Dialogs"}]},{"@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\/37115","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=37115"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37115\/revisions"}],"predecessor-version":[{"id":37116,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37115\/revisions\/37116"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}