{"id":36939,"date":"2024-11-01T09:53:30","date_gmt":"2024-11-01T09:53:30","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36939"},"modified":"2024-11-01T13:02:39","modified_gmt":"2024-11-01T13:02:39","slug":"%ec%bd%94%ed%8b%80%eb%a6%b0-%ec%95%88%eb%93%9c%eb%a1%9c%ec%9d%b4%eb%93%9c-%ec%95%b1%ea%b0%9c%eb%b0%9c-%ea%b0%95%ec%a2%8c-%eb%8d%b0%ec%9d%b4%ed%84%b0%eb%b2%a0%ec%9d%b4%ec%8a%a4%ec%97%90-%eb%b3%b4-2","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36939\/","title":{"rendered":"Kotlin Android app development course, storing data in a database"},"content":{"rendered":"<p><body><\/p>\n<article>\n<section>\n<h2>1. Introduction<\/h2>\n<p>Data management is an essential element in modern application development. The database for storing user information or the state of the application is becoming increasingly important. In Android applications, the use of databases is essential for effectively managing user data. In this course, we will cover how to store data in a database using Kotlin.<\/p>\n<\/section>\n<section>\n<h2>2. Types of Databases<\/h2>\n<p>There are various databases that can be used in Android, among which the most commonly used are as follows:<\/p>\n<ul>\n<li><strong>SQLite<\/strong>: A lightweight database built into the Android platform that uses SQL language to manage data.<\/li>\n<li><strong>Room<\/strong>: A wrapper library for SQLite, allowing interaction with SQLite in an object-oriented manner.<\/li>\n<li><strong>Firebase Realtime Database<\/strong>: A cloud-based database by Google that provides real-time data synchronization and offline support.<\/li>\n<\/ul>\n<p>This course will focus on SQLite and Room.<\/p>\n<\/section>\n<section>\n<h2>3. SQLite Database<\/h2>\n<p>SQLite is a simple and efficient way to store data locally. It allows for quick access to requested data in component-based Android applications. To use the SQLite database, the following key steps must be followed.<\/p>\n<h3>3.1. SQLiteOpenHelper Class<\/h3>\n<p>SQLiteOpenHelper is a class for creating and managing database versions. It helps manage the database.<\/p>\n<p>Below is a simple implementation example of SQLiteOpenHelper:<\/p>\n<pre>\n                <code>\n                class MyDatabaseHelper(context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {\n                    override fun onCreate(db: SQLiteDatabase) {\n                        val createTableSQL = \"CREATE TABLE ${TABLE_NAME} (\" +\n                                \"${COLUMN_ID} INTEGER PRIMARY KEY AUTOINCREMENT, \" +\n                                \"${COLUMN_NAME} TEXT)\"\n                        db.execSQL(createTableSQL)\n                    }\n            \n                    override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {\n                        db.execSQL(\"DROP TABLE IF EXISTS $TABLE_NAME\")\n                        onCreate(db)\n                    }\n                }\n                <\/code>\n            <\/pre>\n<h3>3.2. Inserting, Retrieving, Updating, and Deleting Data<\/h3>\n<p>Now, let&#8217;s learn how to insert, read, update, and delete data in the database.<\/p>\n<h4>Inserting Data<\/h4>\n<pre>\n                <code>\n                fun insertData(name: String) {\n                    val db = this.writableDatabase\n                    val values = ContentValues().apply {\n                        put(COLUMN_NAME, name)\n                    }\n                    db.insert(TABLE_NAME, null, values)\n                    db.close()\n                }\n                <\/code>\n            <\/pre>\n<h4>Retrieving Data<\/h4>\n<pre>\n                <code>\n                fun getData(): List<String> {\n                    val dataList = mutableListOf<String>()\n                    val db = this.readableDatabase\n                    val cursor: Cursor = db.rawQuery(\"SELECT * FROM $TABLE_NAME\", null)\n                    if (cursor.moveToFirst()) {\n                        do {\n                            val name = cursor.getString(cursor.getColumnIndex(COLUMN_NAME))\n                            dataList.add(name)\n                        } while (cursor.moveToNext())\n                    }\n                    cursor.close()\n                    db.close()\n                    return dataList\n                }\n                <\/code>\n            <\/pre>\n<h4>Updating Data<\/h4>\n<pre>\n                <code>\n                fun updateData(id: Int, newName: String) {\n                    val db = this.writableDatabase\n                    val values = ContentValues().apply {\n                        put(COLUMN_NAME, newName)\n                    }\n                    db.update(TABLE_NAME, values, \"$COLUMN_ID = ?\", arrayOf(id.toString()))\n                    db.close()\n                }\n                <\/code>\n            <\/pre>\n<h4>Deleting Data<\/h4>\n<pre>\n                <code>\n                fun deleteData(id: Int) {\n                    val db = this.writableDatabase\n                    db.delete(TABLE_NAME, \"$COLUMN_ID = ?\", arrayOf(id.toString()))\n                    db.close()\n                }\n                <\/code>\n            <\/pre>\n<\/section>\n<section>\n<h2>4. Room Database<\/h2>\n<p>Room is a library that provides a simpler and more flexible way to access databases. It reduces the amount of database-related code and helps to use the database more safely. Room consists of three main components:<\/p>\n<ul>\n<li><strong>Entity<\/strong>: Represents a table in the database.<\/li>\n<li><strong>DAO (Data Access Object)<\/strong>: Defines methods for accessing the database.<\/li>\n<li><strong>Database<\/strong>: The Room database class.<\/li>\n<\/ul>\n<h3>4.1. Defining Entity Classes<\/h3>\n<p>Defining an Entity in Room is akin to designing a table. Below is a simple example of a User Entity:<\/p>\n<pre>\n                <code>\n                @Entity(tableName = \"user_table\")\n                data class User(\n                    @PrimaryKey(autoGenerate = true) val id: Int = 0,\n                    @ColumnInfo(name = \"name\") val name: String\n                )\n                <\/code>\n            <\/pre>\n<h3>4.2. Defining DAO Interfaces<\/h3>\n<p>DAO defines methods to perform CRUD (Create, Read, Update, Delete) operations on the database:<\/p>\n<pre>\n                <code>\n                @Dao\n                interface UserDao {\n                    @Insert\n                    suspend fun insert(user: User)\n                    \n                    @Query(\"SELECT * FROM user_table\")\n                    suspend fun getAllUsers(): List<User>\n                    \n                    @Update\n                    suspend fun update(user: User)\n                    \n                    @Delete\n                    suspend fun delete(user: User)\n                }\n                <\/code>\n            <\/pre>\n<h3>4.3. Defining RoomDatabase Class<\/h3>\n<p>The RoomDatabase class allows for the instantiation of DAO and the creation of the database:<\/p>\n<pre>\n                <code>\n                @Database(entities = [User::class], version = 1)\n                abstract class UserDatabase : RoomDatabase() {\n                    abstract fun userDao(): UserDao\n                    \n                    companion object {\n                        @Volatile\n                        private var INSTANCE: UserDatabase? = null\n\n                        fun getDatabase(context: Context): UserDatabase {\n                            return INSTANCE ?: synchronized(this) {\n                                val instance = Room.databaseBuilder(\n                                    context.applicationContext,\n                                    UserDatabase::class.java,\n                                    \"user_database\"\n                                ).build()\n                                INSTANCE = instance\n                                instance\n                            }\n                        }\n                    }\n                }\n                <\/code>\n            <\/pre>\n<h3>4.4. Manipulating Data<\/h3>\n<p>Using the Room database, here&#8217;s how you can insert, retrieve, update, and delete data:<\/p>\n<h4>Inserting Data<\/h4>\n<pre>\n                <code>\n                private fun insertUser(user: User) {\n                    CoroutineScope(Dispatchers.IO).launch {\n                        val db = UserDatabase.getDatabase(context)\n                        db.userDao().insert(user)\n                    }\n                }\n                <\/code>\n            <\/pre>\n<h4>Retrieving Data<\/h4>\n<pre>\n                <code>\n                private fun getAllUsers() {\n                    CoroutineScope(Dispatchers.IO).launch {\n                        val db = UserDatabase.getDatabase(context)\n                        val users = db.userDao().getAllUsers()\n                    }\n                }\n                <\/code>\n            <\/pre>\n<h4>Updating Data<\/h4>\n<pre>\n                <code>\n                private fun updateUser(user: User) {\n                    CoroutineScope(Dispatchers.IO).launch {\n                        val db = UserDatabase.getDatabase(context)\n                        db.userDao().update(user)\n                    }\n                }\n                <\/code>\n            <\/pre>\n<h4>Deleting Data<\/h4>\n<pre>\n                <code>\n                private fun deleteUser(user: User) {\n                    CoroutineScope(Dispatchers.IO).launch {\n                        val db = UserDatabase.getDatabase(context)\n                        db.userDao().delete(user)\n                    }\n                }\n                <\/code>\n            <\/pre>\n<\/section>\n<section>\n<h2>5. Conclusion<\/h2>\n<p>In this course, we learned how to utilize databases in Android apps using Kotlin. We understood the advantages and disadvantages of both SQLite and Room, and learned how to store and manage data in an application through concrete implementation examples. Now, we hope you can use these techniques to effectively manage user data and enhance the functionality of your app.<\/p>\n<\/section>\n<\/article>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Introduction Data management is an essential element in modern application development. The database for storing user information or the state of the application is becoming increasingly important. In Android applications, the use of databases is essential for effectively managing user data. In this course, we will cover how to store data in a database &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36939\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Kotlin Android app development course, storing data in a database&#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-36939","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, storing data in a database - \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\/36939\/\" \/>\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, storing data in a database - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"1. Introduction Data management is an essential element in modern application development. The database for storing user information or the state of the application is becoming increasingly important. In Android applications, the use of databases is essential for effectively managing user data. In this course, we will cover how to store data in a database &hellip; \ub354 \ubcf4\uae30 &quot;Kotlin Android app development course, storing data in a database&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36939\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:53:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T13:02:39+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=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/36939\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36939\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Kotlin Android app development course, storing data in a database\",\"datePublished\":\"2024-11-01T09:53:30+00:00\",\"dateModified\":\"2024-11-01T13:02:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36939\/\"},\"wordCount\":437,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Kotlin Android app development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36939\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36939\/\",\"name\":\"Kotlin Android app development course, storing data in a database - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:53:30+00:00\",\"dateModified\":\"2024-11-01T13:02:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36939\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36939\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36939\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kotlin Android app development course, storing data in a database\"}]},{\"@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, storing data in a database - \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\/36939\/","og_locale":"ko_KR","og_type":"article","og_title":"Kotlin Android app development course, storing data in a database - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"1. Introduction Data management is an essential element in modern application development. The database for storing user information or the state of the application is becoming increasingly important. In Android applications, the use of databases is essential for effectively managing user data. In this course, we will cover how to store data in a database &hellip; \ub354 \ubcf4\uae30 \"Kotlin Android app development course, storing data in a database\"","og_url":"https:\/\/atmokpo.com\/w\/36939\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:53:30+00:00","article_modified_time":"2024-11-01T13:02:39+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":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/36939\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36939\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Kotlin Android app development course, storing data in a database","datePublished":"2024-11-01T09:53:30+00:00","dateModified":"2024-11-01T13:02:39+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36939\/"},"wordCount":437,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Kotlin Android app development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36939\/","url":"https:\/\/atmokpo.com\/w\/36939\/","name":"Kotlin Android app development course, storing data in a database - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:53:30+00:00","dateModified":"2024-11-01T13:02:39+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36939\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36939\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36939\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Kotlin Android app development course, storing data in a database"}]},{"@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\/36939","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=36939"}],"version-history":[{"count":2,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36939\/revisions"}],"predecessor-version":[{"id":38139,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36939\/revisions\/38139"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}