{"id":37239,"date":"2024-11-01T09:55:58","date_gmt":"2024-11-01T09:55:58","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37239"},"modified":"2024-11-01T11:36:03","modified_gmt":"2024-11-01T11:36:03","slug":"java-android-app-development-course-touch-and-key-events","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37239\/","title":{"rendered":"Java Android App Development Course, Touch and Key Events"},"content":{"rendered":"<p><body><\/p>\n<h2>Introduction<\/h2>\n<p>Android app development is an important task that handles various user interactions. In particular, touch and key events are fundamental ways for users to interact with the app. This article will detail how to handle touch and key events in Android apps using Java. We will provide characteristics of each event, processing methods, and practical tips along with usage examples.<\/p>\n<h2>1. Touch Events<\/h2>\n<p>Touch events occur when a user touches the screen with their finger. In Android, the <code>OnTouchListener<\/code> interface can be used to handle touch events. This event can detect various user actions, recognizing different gestures like swiping, long clicking, and double-clicking.<\/p>\n<h3>1.1 OnTouchListener Interface<\/h3>\n<p>The <code>OnTouchListener<\/code> interface is used to handle various touch events. It must implement the <code>onTouch(View v, MotionEvent event)<\/code> method. The <code>MotionEvent<\/code> argument of this method contains information about the user&#8217;s touch actions.<\/p>\n<h4>Touch Event Handling Example<\/h4>\n<pre><code>\n    import android.app.Activity;\n    import android.os.Bundle;\n    import android.view.MotionEvent;\n    import android.view.View;\n    import android.widget.Toast;\n    \n    public class MainActivity extends Activity {\n        @Override\n        protected void onCreate(Bundle savedInstanceState) {\n            super.onCreate(savedInstanceState);\n            setContentView(R.layout.activity_main);\n    \n            View touchView = findViewById(R.id.touch_view);\n            touchView.setOnTouchListener(new View.OnTouchListener() {\n                @Override\n                public boolean onTouch(View v, MotionEvent event) {\n                    switch (event.getAction()) {\n                        case MotionEvent.ACTION_DOWN:\n                            \/\/ Touch start\n                            Toast.makeText(getApplicationContext(), \"Touch Start\", Toast.LENGTH_SHORT).show();\n                            return true;\n                        case MotionEvent.ACTION_MOVE:\n                            \/\/ Touch move\n                            Toast.makeText(getApplicationContext(), \"Touch Move\", Toast.LENGTH_SHORT).show();\n                            return true;\n                        case MotionEvent.ACTION_UP:\n                            \/\/ Touch end\n                            Toast.makeText(getApplicationContext(), \"Touch End\", Toast.LENGTH_SHORT).show();\n                            return true;\n                    }\n                    return false;\n                }\n            });\n        }\n    }\n    <\/code><\/pre>\n<p>In the example code above, when the user touches a view called <code>touch_view<\/code>, it detects the start, move, and end events and displays messages in a dialog.<\/p>\n<h3>1.2 GestureDetector Class<\/h3>\n<p>To recognize more complex gestures, you can use the <code>GestureDetector<\/code> class. This class helps to handle complex gestures such as swipes and double taps easily, in addition to simple touches.<\/p>\n<h4>Gesture Recognition Example<\/h4>\n<pre><code>\n    import android.app.Activity;\n    import android.os.Bundle;\n    import android.view.GestureDetector;\n    import android.view.MotionEvent;\n    import android.view.View;\n    import android.widget.Toast;\n    \n    public class MainActivity extends Activity {\n        private GestureDetector gestureDetector;\n    \n        @Override\n        protected void onCreate(Bundle savedInstanceState) {\n            super.onCreate(savedInstanceState);\n            setContentView(R.layout.activity_main);\n    \n            gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {\n                @Override\n                public boolean onDoubleTap(MotionEvent e) {\n                    Toast.makeText(getApplicationContext(), \"Double Tap Detected\", Toast.LENGTH_SHORT).show();\n                    return super.onDoubleTap(e);\n                }\n    \n                @Override\n                public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {\n                    \/\/ Swipe gesture handling\n                    Toast.makeText(getApplicationContext(), \"Swipe Detected\", Toast.LENGTH_SHORT).show();\n                    return true;\n                }\n            });\n    \n            View gestureView = findViewById(R.id.gesture_view);\n            gestureView.setOnTouchListener(new View.OnTouchListener() {\n                @Override\n                public boolean onTouch(View v, MotionEvent event) {\n                    return gestureDetector.onTouchEvent(event);\n                }\n            });\n        }\n    }\n    <\/code><\/pre>\n<p>The above code demonstrates how to recognize double taps and swipe gestures using the <code>GestureDetector<\/code>. Each gesture can notify the user with a Toast message.<\/p>\n<h2>2. Key Events<\/h2>\n<p>In Android apps, key events occur when a physical or virtual keyboard key is pressed. To handle key events, you can use the <code>onKeyDown(int keyCode, KeyEvent event)<\/code> and <code>onKeyUp(int keyCode, KeyEvent event)<\/code> methods.<\/p>\n<h3>2.1 onKeyDown and onKeyUp Methods<\/h3>\n<p>The <code>onKeyDown<\/code> method is called when a key is pressed, and the <code>onKeyUp<\/code> method is called when a key is released. You can override these methods to define reactions to specific key inputs.<\/p>\n<h4>Key Event Handling Example<\/h4>\n<pre><code>\n    import android.app.Activity;\n    import android.os.Bundle;\n    import android.view.KeyEvent;\n    import android.widget.Toast;\n    \n    public class MainActivity extends Activity {\n        @Override\n        protected void onCreate(Bundle savedInstanceState) {\n            super.onCreate(savedInstanceState);\n            setContentView(R.layout.activity_main);\n        }\n    \n        @Override\n        public boolean onKeyDown(int keyCode, KeyEvent event) {\n            if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {\n                Toast.makeText(getApplicationContext(), \"Volume Up Button Pressed\", Toast.LENGTH_SHORT).show();\n                return true; \/\/ Event consumed\n            }\n            return super.onKeyDown(keyCode, event);\n        }\n\n        @Override\n        public boolean onKeyUp(int keyCode, KeyEvent event) {\n            if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {\n                Toast.makeText(getApplicationContext(), \"Volume Down Button Pressed\", Toast.LENGTH_SHORT).show();\n                return true; \/\/ Event consumed\n            }\n            return super.onKeyUp(keyCode, event);\n        }\n    }\n    <\/code><\/pre>\n<p>The above example is configured to respond appropriately when the volume up and volume down buttons are pressed. It returns true to indicate that the event has been consumed.<\/p>\n<h3>2.2 Keyboard Input Handling<\/h3>\n<p>Android can also handle keyboard input. Typically, views like EditText are used to receive user input. This allows users to input characters, numbers, and symbols. To handle the input entered by the user in EditText, you can use <code>TextWatcher<\/code> along with <code>OnKeyListener<\/code>.<\/p>\n<h4>Keyboard Input Example<\/h4>\n<pre><code>\n    import android.app.Activity;\n    import android.os.Bundle;\n    import android.text.Editable;\n    import android.text.TextWatcher;\n    import android.view.KeyEvent;\n    import android.view.View;\n    import android.widget.EditText;\n    import android.widget.Toast;\n    \n    public class MainActivity extends Activity {\n        @Override\n        protected void onCreate(Bundle savedInstanceState) {\n            super.onCreate(savedInstanceState);\n            setContentView(R.layout.activity_main);\n    \n            EditText editText = findViewById(R.id.edit_text);\n            editText.setOnKeyListener(new View.OnKeyListener() {\n                @Override\n                public boolean onKey(View v, int keyCode, KeyEvent event) {\n                    if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {\n                        Toast.makeText(getApplicationContext(), \"Enter Key Pressed\", Toast.LENGTH_SHORT).show();\n                        return true; \/\/ Event consumed\n                    }\n                    return false;\n                }\n            });\n    \n            editText.addTextChangedListener(new TextWatcher() {\n                @Override\n                public void beforeTextChanged(CharSequence s, int start, int count, int after) {\n                }\n\n                @Override\n                public void onTextChanged(CharSequence s, int start, int before, int count) {\n                    Toast.makeText(getApplicationContext(), \"Text Changed: \" + s, Toast.LENGTH_SHORT).show();\n                }\n\n                @Override\n                public void afterTextChanged(Editable s) {\n                }\n            });\n        }\n    }\n    <\/code><\/pre>\n<p>The above example detects input for the EditText and shows a Toast message when the user presses the enter key and when the text changes.<\/p>\n<h2>3. Conclusion<\/h2>\n<p>Touch and key events are essential elements that enable user interaction in Android app development. In this tutorial, we learned how to handle touch and key events. Throughout this process, we explored various techniques to improve interactions in the user interface using <code>OnTouchListener<\/code>, <code>GestureDetector<\/code>, <code>onKeyDown\/onKeyUp<\/code> methods, <code>TextWatcher<\/code>, and more.<\/p>\n<p>We encourage you to learn more about Android app development using Java. Experiment with and apply various methods to enhance user experience, creating richer applications!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Android app development is an important task that handles various user interactions. In particular, touch and key events are fundamental ways for users to interact with the app. This article will detail how to handle touch and key events in Android apps using Java. We will provide characteristics of each event, processing methods, and &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37239\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Java Android App Development Course, Touch and Key Events&#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-37239","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, Touch and Key Events - \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\/37239\/\" \/>\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, Touch and Key Events - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Introduction Android app development is an important task that handles various user interactions. In particular, touch and key events are fundamental ways for users to interact with the app. This article will detail how to handle touch and key events in Android apps using Java. We will provide characteristics of each event, processing methods, and &hellip; \ub354 \ubcf4\uae30 &quot;Java Android App Development Course, Touch and Key Events&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37239\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:55:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:36:03+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\/37239\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37239\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Java Android App Development Course, Touch and Key Events\",\"datePublished\":\"2024-11-01T09:55:58+00:00\",\"dateModified\":\"2024-11-01T11:36:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37239\/\"},\"wordCount\":465,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Java Android app development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37239\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37239\/\",\"name\":\"Java Android App Development Course, Touch and Key Events - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:55:58+00:00\",\"dateModified\":\"2024-11-01T11:36:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37239\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37239\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37239\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Android App Development Course, Touch and Key Events\"}]},{\"@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, Touch and Key Events - \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\/37239\/","og_locale":"ko_KR","og_type":"article","og_title":"Java Android App Development Course, Touch and Key Events - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Introduction Android app development is an important task that handles various user interactions. In particular, touch and key events are fundamental ways for users to interact with the app. This article will detail how to handle touch and key events in Android apps using Java. We will provide characteristics of each event, processing methods, and &hellip; \ub354 \ubcf4\uae30 \"Java Android App Development Course, Touch and Key Events\"","og_url":"https:\/\/atmokpo.com\/w\/37239\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:55:58+00:00","article_modified_time":"2024-11-01T11:36:03+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\/37239\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37239\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Java Android App Development Course, Touch and Key Events","datePublished":"2024-11-01T09:55:58+00:00","dateModified":"2024-11-01T11:36:03+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37239\/"},"wordCount":465,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Java Android app development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37239\/","url":"https:\/\/atmokpo.com\/w\/37239\/","name":"Java Android App Development Course, Touch and Key Events - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:55:58+00:00","dateModified":"2024-11-01T11:36:03+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37239\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37239\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37239\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Java Android App Development Course, Touch and Key Events"}]},{"@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\/37239","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=37239"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37239\/revisions"}],"predecessor-version":[{"id":37240,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37239\/revisions\/37240"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37239"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}