{"id":37049,"date":"2024-11-01T09:54:23","date_gmt":"2024-11-01T09:54:23","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37049"},"modified":"2024-11-01T12:59:29","modified_gmt":"2024-11-01T12:59:29","slug":"%ec%a0%9c%eb%aa%a9-kotlin-android-app-development-course-introduction-to-the-kotlin-language","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37049\/","title":{"rendered":"Kotlin Android App Development Course, Introduction to the Kotlin Language"},"content":{"rendered":"<p>Hello! In this course, we will take a closer look at Android app development using Kotlin. The Kotlin language is a modern programming language that offers many advantages in Android development. In this post, we will explain the basic concepts, features of Kotlin, and how it is utilized in Android development.<\/p>\n<h2>1. What is Kotlin?<\/h2>\n<p>Kotlin is a statically typed programming language developed by JetBrains. First announced in 2011, Kotlin was officially adopted as the Android language by Google in 2017. Kotlin is fully interoperable with Java and can run on the Java Virtual Machine (JVM). Thanks to this compatibility, existing Java code can be used as is, and a gradual transition to Kotlin is possible when needed.<\/p>\n<h3>1.1 History of Kotlin<\/h3>\n<p>The development of Kotlin began in 2010 by JetBrains, with the first beta version released in 2011. The 1.0 version was launched in 2016, which led to widespread use. With Google\u2019s announcement in 2017, Kotlin was selected as the official language for Android, drawing the attention of many developers.<\/p>\n<h2>2. Features of Kotlin<\/h2>\n<p>Kotlin has many features that help developers write code more efficiently. The main features are as follows.<\/p>\n<h3>2.1 Conciseness<\/h3>\n<p>Kotlin aims to make code easy to read and understand, minimizing boilerplate code. For example, properties can be defined simply without the need to write getter and setter methods separately.<\/p>\n<pre><code>class User(val name: String, var age: Int)<\/code><\/pre>\n<p>The code above shows a very concise class definition in Kotlin.<\/p>\n<h3>2.2 Null Safety<\/h3>\n<p>Kotlin places significant importance on null safety to prevent NullPointerExceptions. You can explicitly specify whether a variable can be null, allowing developers to handle nulls safely.<\/p>\n<pre><code>var name: String? = null<\/code><\/pre>\n<p>In the above case, the variable name is declared as a nullable string.<\/p>\n<h3>2.3 Extension Functions<\/h3>\n<p>Kotlin supports extension functions that allow you to add new methods to existing classes. This enhances code reusability.<\/p>\n<pre><code>fun String.isPalindrome(): Boolean {\n    return this == this.reversed()\n}<\/code><\/pre>\n<p>The code above adds an isPalindrome method to the String class, providing functionality to check if the string is a palindrome.<\/p>\n<h3>2.4 Higher-Order Functions<\/h3>\n<p>Kotlin treats functions as first-class objects, enabling you to pass functions as arguments to other functions or return them. This allows for a high level of abstraction.<\/p>\n<pre><code>fun operateOnNumbers(a: Int, b: Int, operation: (Int, Int) -> Int): Int {\n    return operation(a, b)\n}\n<\/code><\/pre>\n<h3>2.5 Data Classes<\/h3>\n<p>The data class in Kotlin provides a feature that makes it easier to create commonly used data holder objects.<\/p>\n<pre><code>data class Person(val name: String, val age: Int)<\/code><\/pre>\n<p>This class automatically generates equals, hashCode, and toString methods, making object comparison and storage easier.<\/p>\n<h2>3. Kotlin and Android Development<\/h2>\n<p>Kotlin provides various features necessary for Android development, enabling developers to work more efficiently. By using Kotlin, you can enhance code readability and maintainability.<\/p>\n<h3>3.1 Starting an Android Project with Kotlin<\/h3>\n<p>To start an Android project with Kotlin, install Android Studio, and choose Kotlin when creating a new project. Below is a basic guide for setting up an Android project.<\/p>\n<ol>\n<li>Run Android Studio.<\/li>\n<li>Click on New Project.<\/li>\n<li>Select &#8216;Empty Activity&#8217; and click Next.<\/li>\n<li>Select Kotlin under Language.<\/li>\n<li>Click Finish to create the project.<\/li>\n<\/ol>\n<h3>3.2 Kotlin Supported Libraries<\/h3>\n<p>There are various useful libraries for developing Android apps with Kotlin. Some representative libraries include:<\/p>\n<ul>\n<li><b>Kotlin Coroutines<\/b>: Useful for simplifying asynchronous programming.<\/li>\n<li><b>Kotlin Android Extensions<\/b>: Easily connects Android UI and Kotlin classes.<\/li>\n<li><b>Koin<\/b>: A framework that facilitates dependency injection.<\/li>\n<\/ul>\n<h3>3.3 Basic Kotlin Android Code Example<\/h3>\n<p>Now, let&#8217;s create a basic Android application using Kotlin. Below is a simple &#8216;Hello World&#8217; example.<\/p>\n<pre><code>package com.example.helloworld\n\nimport android.os.Bundle\nimport androidx.appcompat.app.AppCompatActivity\nimport android.widget.TextView\n\nclass MainActivity : AppCompatActivity() {\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n        \n        val textView: TextView = findViewById(R.id.textView)\n        textView.text = \"Hello, World!\"\n    }\n}\n<\/code><\/pre>\n<p>In the above example, we override the <code>onCreate<\/code> method to display the text &#8220;Hello, World!&#8221; on the screen. UI elements are defined through XML files, which can be handled in Kotlin code.<\/p>\n<h2>4. Implementing Advanced App Features in Kotlin<\/h2>\n<p>Let&#8217;s take a look at the features that can be provided in Android apps using various features of Kotlin.<\/p>\n<h3>4.1 Data Binding<\/h3>\n<p>Data binding allows for easy connection between the UI and the data model. Below is how to use data binding.<\/p>\n<pre><code>\/\/ build.gradle (app)\nandroid {\n    ...\n    buildFeatures {\n        dataBinding true\n    }\n}\n\n\/\/ XML layout file (activity_main.xml)\n<layout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\">\n    <data>\n        <variable name=\"user\" type=\"com.example.helloworld.User\"><\/variable>\n    <\/data>\n    <linearlayout android:layout_height=\"match_parent\" android:layout_width=\"match_parent\">\n        <textview android:layout_height=\"wrap_content\" android:layout_width=\"wrap_content\" android:text=\"@{user.name}\"><\/textview>\n    <\/linearlayout>\n<\/layout>\n<\/code><\/pre>\n<h3>4.2 Using Coroutines for Asynchronous Processing<\/h3>\n<p>Using Kotlin Coroutines, you can easily implement asynchronous processing. Below is a simple example.<\/p>\n<pre><code>import kotlinx.coroutines.*\n\nclass MainActivity : AppCompatActivity() {\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n\n        GlobalScope.launch {\n            val result = fetchDataFromNetwork()\n            withContext(Dispatchers.Main) {\n                \/\/ UI updates\n            }\n        }\n    }\n\n    private suspend fun fetchDataFromNetwork(): String {\n        \/\/ Asynchronous network request\n        return \"Data from Network\"\n    }\n}\n<\/code><\/pre>\n<h3>4.3 Using Room Database<\/h3>\n<p>Kotlin supports easy access to databases. Below is how to store data using Room database.<\/p>\n<pre><code>import androidx.room.*\n\n@Entity\ndata class User(\n    @PrimaryKey val uid: Int,\n    @ColumnInfo(name = \"first_name\") val firstName: String?,\n    @ColumnInfo(name = \"last_name\") val lastName: String?\n)\n\n@Dao\ninterface UserDao {\n    @Query(\"SELECT * FROM user\")\n    fun getAll(): List<User>\n\n    @Insert\n    fun insertAll(vararg users: User)\n}\n\n@Database(entities = [User::class], version = 1)\nabstract class AppDatabase : RoomDatabase() {\n    abstract fun userDao(): UserDao\n}\n<\/code><\/pre>\n<h2>5. Tips for Developing Android Apps with Kotlin<\/h2>\n<p>When developing apps using Kotlin, there are several points to watch out for. Let&#8217;s explore them below.<\/p>\n<h3>5.1 Kotlin Only Code<\/h3>\n<p>When starting a new project, it is best to fully utilize Kotlin. Mixing it with Java can lead to compatibility issues between the two languages.<\/p>\n<h3>5.2 Utilize Extension Functions<\/h3>\n<p>Enhancing code readability through extension functions that provide additional features to existing classes is highly recommended.<\/p>\n<h3>5.3 Apply Null Safety<\/h3>\n<p>Actively utilizing Kotlin&#8217;s null safety to prevent NullPointerExceptions is advisable. Use nullable and non-nullable types appropriately to increase stability.<\/p>\n<h3>5.4 Use Kotlin Coroutines<\/h3>\n<p>Using coroutines for asynchronous processing can reduce code complexity and allow for more intuitive handling of asynchronous tasks.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this course, we explored the basics of Android app development using Kotlin and various useful features. Thanks to Kotlin&#8217;s conciseness and safety, Android development has become much easier. We encourage you to continue learning and utilizing Kotlin to develop amazing apps!<\/p>\n<h2>Thank You!<\/h2>\n<p>I hope this course was beneficial to you. If you have any additional questions or discussions, please leave a comment!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello! In this course, we will take a closer look at Android app development using Kotlin. The Kotlin language is a modern programming language that offers many advantages in Android development. In this post, we will explain the basic concepts, features of Kotlin, and how it is utilized in Android development. 1. What is Kotlin? &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37049\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Kotlin Android App Development Course, Introduction to the Kotlin Language&#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":[143],"tags":[],"class_list":["post-37049","post","type-post","status-publish","format-standard","hentry","category-kotlin-android-app-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kotlin Android App Development Course, Introduction to the Kotlin Language - \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\/37049\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kotlin Android App Development Course, Introduction to the Kotlin Language - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello! In this course, we will take a closer look at Android app development using Kotlin. The Kotlin language is a modern programming language that offers many advantages in Android development. In this post, we will explain the basic concepts, features of Kotlin, and how it is utilized in Android development. 1. What is Kotlin? &hellip; \ub354 \ubcf4\uae30 &quot;Kotlin Android App Development Course, Introduction to the Kotlin Language&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37049\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:54:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T12:59:29+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\/37049\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37049\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Kotlin Android App Development Course, Introduction to the Kotlin Language\",\"datePublished\":\"2024-11-01T09:54:23+00:00\",\"dateModified\":\"2024-11-01T12:59:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37049\/\"},\"wordCount\":830,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Kotlin Android app development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37049\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37049\/\",\"name\":\"Kotlin Android App Development Course, Introduction to the Kotlin Language - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:54:23+00:00\",\"dateModified\":\"2024-11-01T12:59:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37049\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37049\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37049\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kotlin Android App Development Course, Introduction to the Kotlin Language\"}]},{\"@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":"Kotlin Android App Development Course, Introduction to the Kotlin Language - \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\/37049\/","og_locale":"ko_KR","og_type":"article","og_title":"Kotlin Android App Development Course, Introduction to the Kotlin Language - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello! In this course, we will take a closer look at Android app development using Kotlin. The Kotlin language is a modern programming language that offers many advantages in Android development. In this post, we will explain the basic concepts, features of Kotlin, and how it is utilized in Android development. 1. What is Kotlin? &hellip; \ub354 \ubcf4\uae30 \"Kotlin Android App Development Course, Introduction to the Kotlin Language\"","og_url":"https:\/\/atmokpo.com\/w\/37049\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:54:23+00:00","article_modified_time":"2024-11-01T12:59:29+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\/37049\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37049\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Kotlin Android App Development Course, Introduction to the Kotlin Language","datePublished":"2024-11-01T09:54:23+00:00","dateModified":"2024-11-01T12:59:29+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37049\/"},"wordCount":830,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Kotlin Android app development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37049\/","url":"https:\/\/atmokpo.com\/w\/37049\/","name":"Kotlin Android App Development Course, Introduction to the Kotlin Language - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:54:23+00:00","dateModified":"2024-11-01T12:59:29+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37049\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37049\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37049\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Kotlin Android App Development Course, Introduction to the Kotlin Language"}]},{"@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\/37049","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=37049"}],"version-history":[{"count":2,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37049\/revisions"}],"predecessor-version":[{"id":38128,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37049\/revisions\/38128"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}