{"id":37145,"date":"2024-11-01T09:55:12","date_gmt":"2024-11-01T09:55:12","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37145"},"modified":"2024-11-01T11:36:28","modified_gmt":"2024-11-01T11:36:28","slug":"java-android-app-development-course-view-pager-2-screen-composition-with-swipe","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37145\/","title":{"rendered":"Java Android App Development Course, View Pager 2 &#8211; Screen Composition with Swipe"},"content":{"rendered":"<p><body><\/p>\n<p>In Android application development, user experience is very important, and various UI components are needed to help users navigate the app naturally. Among them, the <strong>ViewPager<\/strong> provides an experience for users to swipe through multiple screens. In this post, we will learn how to configure swipeable screens using <code>ViewPager2<\/code>.<\/p>\n<h2>Overview of ViewPager<\/h2>\n<p><code>ViewPager<\/code> is a UI component that allows users to navigate by swiping left and right through multiple pages. It helps users easily move to the desired page as they swipe the screen. <code>ViewPager2<\/code> is an improved version of the existing <code>ViewPager<\/code>, providing better performance and flexibility based on <strong>RecyclerView<\/strong>.<\/p>\n<h2>Features of ViewPager2<\/h2>\n<ul>\n<li>RecyclerView Based: <code>ViewPager2<\/code> integrates with <code>RecyclerView<\/code> to offer more features and optimizations.<\/li>\n<li>Vertical and Horizontal Scroll: It supports horizontal scrolling by default, and vertical scrolling can be enabled through settings.<\/li>\n<li>Fragment Support: <code>ViewPager2<\/code> allows you to use fragments directly, making it easy to organize multiple screens.<\/li>\n<\/ul>\n<h2>Setting Up the Development Environment<\/h2>\n<p>To use ViewPager2, you need to create a new project using Android Studio and Gradle. Please follow the steps below.<\/p>\n<ol>\n<li>Open Android Studio and select <strong>File<\/strong> &gt; <strong>New<\/strong> &gt; <strong>New Project<\/strong>.<\/li>\n<li>Select <strong>Empty Activity<\/strong> and set the project name and package name.<\/li>\n<li>Add the ViewPager2 dependency to the Gradle file.<\/li>\n<\/ol>\n<h3>Adding Gradle Dependency<\/h3>\n<pre><code>dependencies {\n    implementation 'androidx.viewpager2:viewpager2:1.0.0'\n}<\/code><\/pre>\n<p>After adding the above dependency to the <code>build.gradle (Module: app)<\/code> file, sync the project.<\/p>\n<h2>Implementing ViewPager2<\/h2>\n<h3>1. Configuring the Layout<\/h3>\n<p>First, add <code>ViewPager2<\/code> to the <code>activity_main.xml<\/code> file as follows.<\/p>\n<pre><code>&lt;androidx.viewpager2.widget.ViewPager2\n    android:id=\"@+id\/viewPager\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\/&gt;<\/code><\/pre>\n<h3>2. Creating the Adapter<\/h3>\n<p>Next, you need to create an <strong>adapter<\/strong> that manages the data for the <code>ViewPager2<\/code>. The adapter must inherit from <code>RecyclerView.Adapter<\/code>.<\/p>\n<pre><code>import android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport androidx.annotation.NonNull;\nimport androidx.recyclerview.widget.RecyclerView;\n\npublic class MyPagerAdapter extends RecyclerView.Adapter<mypageradapter.viewholder> {\n\n    private String[] data;\n\n    public MyPagerAdapter(String[] data) {\n        this.data = data;\n    }\n\n    @NonNull\n    @Override\n    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {\n        View view = LayoutInflater.from(parent.getContext())\n                .inflate(android.R.layout.simple_list_item_1, parent, false);\n        return new ViewHolder(view);\n    }\n\n    @Override\n    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {\n        holder.textView.setText(data[position]);\n    }\n\n    @Override\n    public int getItemCount() {\n        return data.length;\n    }\n\n    public static class ViewHolder extends RecyclerView.ViewHolder {\n        TextView textView;\n\n        public ViewHolder(View itemView) {\n            super(itemView);\n            textView = itemView.findViewById(android.R.id.text1);\n        }\n    }\n}<\/mypageradapter.viewholder><\/code><\/pre>\n<h3>3. Implementing MainActivity<\/h3>\n<p>Now, we will initialize the <code>ViewPager2<\/code> in the main activity and connect it to the created adapter.<\/p>\n<pre><code>import android.os.Bundle;\nimport androidx.appcompat.app.AppCompatActivity;\nimport androidx.viewpager2.widget.ViewPager2;\n\npublic class MainActivity extends AppCompatActivity {\n\n    private ViewPager2 viewPager;\n    private MyPagerAdapter adapter;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        viewPager = findViewById(R.id.viewPager);\n        String[] data = {\"Screen 1\", \"Screen 2\", \"Screen 3\", \"Screen 4\"};\n        adapter = new MyPagerAdapter(data);\n        viewPager.setAdapter(adapter);\n    }\n}<\/code><\/pre>\n<h2>Using Fragments with ViewPager2<\/h2>\n<p>Now, we will use fragments in <code>ViewPager2<\/code> to create a more complex UI. Using fragments is useful for implementing various screens.<\/p>\n<h3>1. Creating Fragments<\/h3>\n<p>We will create new fragments to configure each screen.<\/p>\n<pre><code>import android.os.Bundle;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport androidx.annotation.NonNull;\nimport androidx.annotation.Nullable;\nimport androidx.fragment.app.Fragment;\n\npublic class ScreenSlidePageFragment extends Fragment {\n    private static final String ARG_OBJECT = \"object\";\n\n    public static ScreenSlidePageFragment create(int position) {\n        ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();\n        Bundle args = new Bundle();\n        args.putInt(ARG_OBJECT, position);\n        fragment.setArguments(args);\n        return fragment;\n    }\n\n    @Nullable\n    @Override\n    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {\n        View view = inflater.inflate(android.R.layout.simple_list_item_1, container, false);\n        TextView textView = view.findViewById(android.R.id.text1);\n        textView.setText(\"Fragment \" + getArguments().getInt(ARG_OBJECT));\n        return view;\n    }\n}<\/code><\/pre>\n<h3>2. Modifying the Adapter<\/h3>\n<p>We will modify the adapter to use fragments.<\/p>\n<pre><code>import androidx.annotation.NonNull;\nimport androidx.fragment.app.Fragment;\nimport androidx.fragment.app.FragmentActivity;\nimport androidx.viewpager2.adapter.FragmentStateAdapter;\n\npublic class ScreenSlidePagerAdapter extends FragmentStateAdapter {\n\n    public ScreenSlidePagerAdapter(FragmentActivity fa) {\n        super(fa);\n    }\n\n    @NonNull\n    @Override\n    public Fragment createFragment(int position) {\n        return ScreenSlidePageFragment.create(position);\n    }\n\n    @Override\n    public int getItemCount() {\n        return 4; \/\/ Number of fragments\n    }\n}<\/code><\/pre>\n<h3>3. Setting the Adapter in MainActivity<\/h3>\n<p>Finally, we will set the adapter in <code>MainActivity<\/code>.<\/p>\n<pre><code>import androidx.appcompat.app.AppCompatActivity;\nimport androidx.fragment.app.FragmentActivity;\nimport androidx.viewpager2.widget.ViewPager2;\n\npublic class MainActivity extends AppCompatActivity {\n\n    private ViewPager2 viewPager;\n    private ScreenSlidePagerAdapter adapter;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        viewPager = findViewById(R.id.viewPager);\n        adapter = new ScreenSlidePagerAdapter(this);\n        viewPager.setAdapter(adapter);\n    }\n}<\/code><\/pre>\n<h2>Advantages and Use Cases of ViewPager2<\/h2>\n<ul>\n<li><strong>Excellent User Experience:<\/strong> Provides smooth screen transitions and interactive UI, enhancing the naturalness of app navigation.<\/li>\n<li><strong>Variety of Screen Layouts:<\/strong> Almost any type of screen can be configured using fragments, making it easy to reuse and maintain.<\/li>\n<li><strong>ViewPager and Animation:<\/strong> ViewPager2 supports various animation effects, allowing for more attractive UI\/UX.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>In this post, we learned how to create swipeable screens for users using <code>ViewPager2<\/code>. We learned how to manage data using adapters and how to configure complex UIs using fragments. By leveraging these techniques, you can develop more attractive and user-friendly Android applications.<\/p>\n<p>In future posts, we will cover a variety of topics related to Android development, so please stay tuned!<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Android application development, user experience is very important, and various UI components are needed to help users navigate the app naturally. Among them, the ViewPager provides an experience for users to swipe through multiple screens. In this post, we will learn how to configure swipeable screens using ViewPager2. Overview of ViewPager ViewPager is a &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37145\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Java Android App Development Course, View Pager 2 &#8211; Screen Composition with Swipe&#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-37145","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, View Pager 2 - Screen Composition with Swipe - \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\/37145\/\" \/>\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, View Pager 2 - Screen Composition with Swipe - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"In Android application development, user experience is very important, and various UI components are needed to help users navigate the app naturally. Among them, the ViewPager provides an experience for users to swipe through multiple screens. In this post, we will learn how to configure swipeable screens using ViewPager2. Overview of ViewPager ViewPager is a &hellip; \ub354 \ubcf4\uae30 &quot;Java Android App Development Course, View Pager 2 &#8211; Screen Composition with Swipe&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37145\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:55:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:36:28+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\/37145\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37145\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Java Android App Development Course, View Pager 2 &#8211; Screen Composition with Swipe\",\"datePublished\":\"2024-11-01T09:55:12+00:00\",\"dateModified\":\"2024-11-01T11:36:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37145\/\"},\"wordCount\":451,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Java Android app development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37145\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37145\/\",\"name\":\"Java Android App Development Course, View Pager 2 - Screen Composition with Swipe - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:55:12+00:00\",\"dateModified\":\"2024-11-01T11:36:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37145\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37145\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37145\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Android App Development Course, View Pager 2 &#8211; Screen Composition with Swipe\"}]},{\"@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, View Pager 2 - Screen Composition with Swipe - \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\/37145\/","og_locale":"ko_KR","og_type":"article","og_title":"Java Android App Development Course, View Pager 2 - Screen Composition with Swipe - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"In Android application development, user experience is very important, and various UI components are needed to help users navigate the app naturally. Among them, the ViewPager provides an experience for users to swipe through multiple screens. In this post, we will learn how to configure swipeable screens using ViewPager2. Overview of ViewPager ViewPager is a &hellip; \ub354 \ubcf4\uae30 \"Java Android App Development Course, View Pager 2 &#8211; Screen Composition with Swipe\"","og_url":"https:\/\/atmokpo.com\/w\/37145\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:55:12+00:00","article_modified_time":"2024-11-01T11:36:28+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\/37145\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37145\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Java Android App Development Course, View Pager 2 &#8211; Screen Composition with Swipe","datePublished":"2024-11-01T09:55:12+00:00","dateModified":"2024-11-01T11:36:28+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37145\/"},"wordCount":451,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Java Android app development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37145\/","url":"https:\/\/atmokpo.com\/w\/37145\/","name":"Java Android App Development Course, View Pager 2 - Screen Composition with Swipe - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:55:12+00:00","dateModified":"2024-11-01T11:36:28+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37145\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37145\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37145\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Java Android App Development Course, View Pager 2 &#8211; Screen Composition with Swipe"}]},{"@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\/37145","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=37145"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37145\/revisions"}],"predecessor-version":[{"id":37146,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37145\/revisions\/37146"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}