{"id":37113,"date":"2024-11-01T09:54:58","date_gmt":"2024-11-01T09:54:58","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37113"},"modified":"2024-11-01T11:36:36","modified_gmt":"2024-11-01T11:36:36","slug":"java-android-app-development-course-creating-a-news-app","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37113\/","title":{"rendered":"Java Android App Development Course, Creating a News App"},"content":{"rendered":"<p><body><\/p>\n<article>\n<p>Hello! Today we will embark on an exciting journey to develop an Android app. In this tutorial, we will explain the step-by-step process of creating a simple news app using Java. I hope you gain a deep understanding of app development and learn useful skills through this course.<\/p>\n<h2>1. App Planning and Requirements Analysis<\/h2>\n<p>Before creating the news app, we will first outline the main features and requirements of the app. Here is a list of basic requirements:<\/p>\n<ul>\n<li>Display a list of news articles.<\/li>\n<li>Each news item should be clickable.<\/li>\n<li>Detailed content of the news should be viewable.<\/li>\n<li>News articles will be retrieved from the internet via an API.<\/li>\n<\/ul>\n<h2>2. Setting Up the Development Environment<\/h2>\n<p>To develop the app, you must first download and install Android Studio. Android Studio is the official Android IDE and offers various features. Follow the steps below to set up the environment:<\/p>\n<ol>\n<li>Download and install Android Studio from the official website.<\/li>\n<li>After installation, create a new project.<\/li>\n<li>Select &#8216;Empty Activity&#8217; from the project template.<\/li>\n<li>Name the project &#8216;NewsApp&#8217; and choose &#8216;Java&#8217; as the language.<\/li>\n<li>Once the project is created, navigate to the &#8216;app\/src\/main&#8217; directory in the file explorer on the left.<\/li>\n<\/ol>\n<h2>3. Choosing an API<\/h2>\n<p>There are several news APIs available to fetch news data. We will use the &#8216;News API&#8217; to retrieve data. To use the news API, you will need an API key. Follow the steps below:<\/p>\n<ol>\n<li>Sign up at the <a href=\"https:\/\/newsapi.org\/\" target=\"_blank\" rel=\"noopener\">News API website<\/a>.<\/li>\n<li>Generate an API key.<\/li>\n<li>Store the API key securely.<\/li>\n<\/ol>\n<h2>4. Adding Dependencies<\/h2>\n<p>In Android Studio, you can easily add dependencies using Gradle. We will be using the &#8216;Retrofit&#8217; and &#8216;Gson&#8217; libraries to access the news API. Please add the following code to the &#8216;build.gradle (Module: app)&#8217; file:<\/p>\n<pre><code>\ndependencies {\n    implementation 'com.squareup.retrofit2:retrofit:2.9.0'\n    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'\n}\n        <\/code><\/pre>\n<h2>5. Creating the Model Class<\/h2>\n<p>To handle news data, it is necessary to define a model class. We will create a class named &#8216;Article&#8217;. Create a &#8216;model&#8217; package under the &#8216;java&#8217; directory of your project and create an &#8216;Article.java&#8217; class inside it.<\/p>\n<pre><code>\npackage com.example.newsapp.model;\n\npublic class Article {\n    private String title;\n    private String description;\n    private String url;\n    private String urlToImage;\n\n    \/\/ Getters and Setters\n    public String getTitle() {\n        return title;\n    }\n\n    public void setTitle(String title) {\n        this.title = title;\n    }\n\n    public String getDescription() {\n        return description;\n    }\n\n    public void setDescription(String description) {\n        this.description = description;\n    }\n\n    public String getUrl() {\n        return url;\n    }\n\n    public void setUrl(String url) {\n        this.url = url;\n    }\n\n    public String getUrlToImage() {\n        return urlToImage;\n    }\n\n    public void setUrlToImage(String urlToImage) {\n        this.urlToImage = urlToImage;\n    }\n}\n        <\/code><\/pre>\n<h2>6. Configuring Retrofit<\/h2>\n<p>To communicate with the API using Retrofit, you need to create a Service class. Create a package called &#8216;api&#8217; and create a &#8216;NewsApiService.java&#8217; file inside it.<\/p>\n<pre><code>\npackage com.example.newsapp.api;\n\nimport com.example.newsapp.model.Article;\nimport com.example.newsapp.model.NewsResponse;\n\nimport retrofit2.Call;\nimport retrofit2.http.GET;\nimport retrofit2.http.Query;\n\npublic interface NewsApiService {\n    @GET(\"top-headlines\")\n    Call<NewsResponse> getTopHeadlines(\n            @Query(\"apiKey\") String apiKey,\n            @Query(\"country\") String country\n    );\n}\n        <\/code><\/pre>\n<h2>7. Creating the News Response Model<\/h2>\n<p>To map the JSON data returned by the API, you need to create a class called &#8216;NewsResponse&#8217;. Create a &#8216;NewsResponse.java&#8217; class inside the previously created &#8216;model&#8217; package.<\/p>\n<pre><code>\npackage com.example.newsapp.model;\n\nimport java.util.List;\n\npublic class NewsResponse {\n    private String status;\n    private List<Article> articles;\n\n    public String getStatus() {\n        return status;\n    }\n\n    public void setStatus(String status) {\n        this.status = status;\n    }\n\n    public List<Article> getArticles() {\n        return articles;\n    }\n\n    public void setArticles(List<Article> articles) {\n        this.articles = articles;\n    }\n}\n        <\/code><\/pre>\n<h2>8. Implementing MainActivity<\/h2>\n<p>Now we are ready to implement MainActivity to fetch news from the API and display it to the user. Open the &#8216;MainActivity.java&#8217; file and write the following code.<\/p>\n<pre><code>\npackage com.example.newsapp;\n\nimport android.os.Bundle;\nimport android.widget.Toast;\nimport androidx.appcompat.app.AppCompatActivity;\n\nimport com.example.newsapp.api.NewsApiService;\nimport com.example.newsapp.model.NewsResponse;\n\nimport retrofit2.Call;\nimport retrofit2.Callback;\nimport retrofit2.Response;\nimport retrofit2.Retrofit;\nimport retrofit2.converter.gson.GsonConverterFactory;\n\npublic class MainActivity extends AppCompatActivity {\n    private static final String BASE_URL = \"https:\/\/newsapi.org\/v2\/\";\n    private static final String API_KEY = \"YOUR_API_KEY\"; \/\/ Enter your API key here\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n\n        loadNews();\n    }\n\n    private void loadNews() {\n        Retrofit retrofit = new Retrofit.Builder()\n                .baseUrl(BASE_URL)\n                .addConverterFactory(GsonConverterFactory.create())\n                .build();\n\n        NewsApiService newsApiService = retrofit.create(NewsApiService.class);\n        Call<NewsResponse> call = newsApiService.getTopHeadlines(API_KEY, \"kr\");\n        call.enqueue(new Callback<NewsResponse>() {\n            @Override\n            public void onResponse(Call<NewsResponse> call, Response<NewsResponse> response) {\n                if (response.isSuccessful()) {\n                    \/\/ Process news data\n                } else {\n                    Toast.makeText(MainActivity.this, \"Failed to fetch news.\", Toast.LENGTH_SHORT).show();\n                }\n            }\n\n            @Override\n            public void onFailure(Call<NewsResponse> call, Throwable t) {\n                Toast.makeText(MainActivity.this, \"Network error: \" + t.getMessage(), Toast.LENGTH_LONG).show();\n            }\n        });\n    }\n}\n        <\/code><\/pre>\n<h2>9. Displaying the News List<\/h2>\n<p>We will use RecyclerView to display the list of news articles. Create a layout file named &#8216;item_article.xml&#8217; in the &#8216;res\/layout&#8217; folder and write the following code.<\/p>\n<pre><code>\n<?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\/textTitle\" android:layout_height=\"wrap_content\" android:layout_width=\"match_parent\" android:textSize=\"18sp\" android:textStyle=\"bold\"><\/TextView>\n\n    <TextView android:id=\"@+id\/textDescription\" android:layout_height=\"wrap_content\" android:layout_marginTop=\"4dp\" android:layout_width=\"match_parent\" android:textSize=\"14sp\"><\/TextView>\n<\/LinearLayout>\n        <\/code><\/pre>\n<h2>10. Creating a RecyclerView Adapter<\/h2>\n<p>To use RecyclerView, you need to write an adapter class. Create a package called &#8216;adapter&#8217; and create an &#8216;ArticleAdapter.java&#8217; file.<\/p>\n<pre><code>\npackage com.example.newsapp.adapter;\n\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.TextView;\nimport androidx.annotation.NonNull;\nimport androidx.recyclerview.widget.RecyclerView;\nimport com.example.newsapp.R;\nimport com.example.newsapp.model.Article;\nimport java.util.List;\n\npublic class ArticleAdapter extends RecyclerView.Adapter<ArticleAdapter.ArticleViewHolder> {\n    private List<Article> articleList;\n\n    static class ArticleViewHolder extends RecyclerView.ViewHolder {\n        TextView textTitle;\n        TextView textDescription;\n\n        ArticleViewHolder(View itemView) {\n            super(itemView);\n            textTitle = itemView.findViewById(R.id.textTitle);\n            textDescription = itemView.findViewById(R.id.textDescription);\n        }\n    }\n\n    public ArticleAdapter(List<Article> articleList) {\n        this.articleList = articleList;\n    }\n\n    @NonNull\n    @Override\n    public ArticleViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {\n        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_article, parent, false);\n        return new ArticleViewHolder(view);\n    }\n\n    @Override\n    public void onBindViewHolder(@NonNull ArticleViewHolder holder, int position) {\n        Article article = articleList.get(position);\n        holder.textTitle.setText(article.getTitle());\n        holder.textDescription.setText(article.getDescription());\n    }\n\n    @Override\n    public int getItemCount() {\n        return articleList.size();\n    }\n}\n        <\/code><\/pre>\n<h2>11. Initializing RecyclerView and Setting Data<\/h2>\n<p>Initialize the RecyclerView in MainActivity and set the data retrieved from the API to the adapter. Modify &#8216;MainActivity.java&#8217; and update it as follows.<\/p>\n<pre><code>\nimport androidx.recyclerview.widget.LinearLayoutManager;\nimport androidx.recyclerview.widget.RecyclerView;\n\nprivate RecyclerView recyclerView;\nprivate ArticleAdapter articleAdapter;\n\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.activity_main);\n\n    recyclerView = findViewById(R.id.recyclerView);\n    recyclerView.setLayoutManager(new LinearLayoutManager(this));\n\n    loadNews();\n}\n\nprivate void loadNews() {\n    ...\n    call.enqueue(new Callback<NewsResponse>() {\n        @Override\n        public void onResponse(Call<NewsResponse> call, Response<NewsResponse> response) {\n            if (response.isSuccessful()) {\n                articleAdapter = new ArticleAdapter(response.body().getArticles());\n                recyclerView.setAdapter(articleAdapter);\n            } else {\n                ...\n            }\n        }\n        ...\n    });\n}\n        <\/code><\/pre>\n<h2>12. Modifying the MainActivity Layout File<\/h2>\n<p>Finally, modify the layout file for MainActivity to add the RecyclerView. Modify the &#8216;res\/layout\/activity_main.xml&#8217; file to write the following code.<\/p>\n<pre><code>\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout android:layout_height=\"match_parent\" android:layout_width=\"match_parent\" xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\">\n\n    <androidx.recyclerview.widget.RecyclerView android:id=\"@+id\/recyclerView\" android:layout_height=\"match_parent\" android:layout_width=\"match_parent\"><\/androidx.recyclerview.widget.RecyclerView>\n<\/RelativeLayout>\n        <\/code><\/pre>\n<h2>13. Trying It Out and Conclusion<\/h2>\n<p>Now all settings are complete! When you run the app, you can view the latest news articles in a list. A simple news app that provides useful information to users through data retrieved from the API is now complete.<\/p>\n<h2>14. Implementing Additional Features<\/h2>\n<p>In this tutorial, we learned the process of creating a basic news app. Furthermore, try implementing additional features such as:<\/p>\n<ul>\n<li>Implementing a news detail page<\/li>\n<li>Adding a news article search function<\/li>\n<li>Adding a favorites feature<\/li>\n<li>Adding various news categories<\/li>\n<\/ul>\n<h2>15. Conclusion<\/h2>\n<p>By creating a news app, you were able to learn the basic usage of Java and Android. I hope you continue to develop more apps and improve your skills. If you have any questions or comments, please leave them in the comments!<\/p>\n<\/article>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello! Today we will embark on an exciting journey to develop an Android app. In this tutorial, we will explain the step-by-step process of creating a simple news app using Java. I hope you gain a deep understanding of app development and learn useful skills through this course. 1. App Planning and Requirements Analysis Before &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37113\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Java Android App Development Course, Creating a News App&#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-37113","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, Creating a News App - \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\/37113\/\" \/>\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, Creating a News App - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello! Today we will embark on an exciting journey to develop an Android app. In this tutorial, we will explain the step-by-step process of creating a simple news app using Java. I hope you gain a deep understanding of app development and learn useful skills through this course. 1. App Planning and Requirements Analysis Before &hellip; \ub354 \ubcf4\uae30 &quot;Java Android App Development Course, Creating a News App&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37113\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:54:58+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=\"6\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/37113\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37113\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Java Android App Development Course, Creating a News App\",\"datePublished\":\"2024-11-01T09:54:58+00:00\",\"dateModified\":\"2024-11-01T11:36:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37113\/\"},\"wordCount\":676,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Java Android app development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37113\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37113\/\",\"name\":\"Java Android App Development Course, Creating a News App - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:54:58+00:00\",\"dateModified\":\"2024-11-01T11:36:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37113\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37113\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37113\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Android App Development Course, Creating a News App\"}]},{\"@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, Creating a News App - \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\/37113\/","og_locale":"ko_KR","og_type":"article","og_title":"Java Android App Development Course, Creating a News App - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello! Today we will embark on an exciting journey to develop an Android app. In this tutorial, we will explain the step-by-step process of creating a simple news app using Java. I hope you gain a deep understanding of app development and learn useful skills through this course. 1. App Planning and Requirements Analysis Before &hellip; \ub354 \ubcf4\uae30 \"Java Android App Development Course, Creating a News App\"","og_url":"https:\/\/atmokpo.com\/w\/37113\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:54:58+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":"6\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/37113\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37113\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Java Android App Development Course, Creating a News App","datePublished":"2024-11-01T09:54:58+00:00","dateModified":"2024-11-01T11:36:36+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37113\/"},"wordCount":676,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Java Android app development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37113\/","url":"https:\/\/atmokpo.com\/w\/37113\/","name":"Java Android App Development Course, Creating a News App - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:54:58+00:00","dateModified":"2024-11-01T11:36:36+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37113\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37113\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37113\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Java Android App Development Course, Creating a News App"}]},{"@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\/37113","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=37113"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37113\/revisions"}],"predecessor-version":[{"id":37114,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37113\/revisions\/37114"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}