Table of contents
Membuat aplikasi portal berita Blogger.com dengan Android Studio - Selamat malam blogger, pada artikel sederhana kali ini tak terasa sudah masuk part ke-8 dari seri Membuat website portal berita dengan blogger.com. Pada artikel sebelumnya sudah memasuki pemrograman java di android studio yang dikoneksikan dengan blog_id yang anda dapat di blogspot. Bagi anda yang belum mengikuti seri ini, silahkan dibaca terlebih dahulu artikel-artikel sebelumnya agar cepat bisa memahami artikel lanjutan ini.
- Part 1: Membuat Website Portal Berita Dengan Blogger.com
- Part 2: Pengaturan Custom Domain pada Blogger.com
- Part 3: Mengganti Template (Tema) di Blogger.com
- Part 4: Membuat page, post dan label di Blogger.com
- Part 5: Customize Tema (Template) Blogger.com
- Part 6: Pengenalan dan Setup Blogger API v3
- Part 7: Membuat Project, Library dan Package Android Studio
Pada part-8 ini, saatnya dilanjutkan untuk membuat class Java dari data JSON yang telah anda dapatkan di Part 6 terlebih dahulu, anda bisa menghemat waktu dengan menggunakan layanan jsonschema2pojo.org
- Buka browser anda dan eksekusi https://www.googleapis.com/blogger/v3/blogs/BLOG_ID/posts/?key=BLOGGER_API_KEY dimana BLOG_ID dan BLOGGER_API_KEY sudah saya bahas di PART 6: Pengenalan dan Setup Blogger API v3.
- Copy hasil json tadi, dan perkecil menjadi 1 query saja dan pastikan pengaturan pada jsonschema2pojo.org sama persis serpeti gambar dibawah:
Note: Nama Package anda sesuaikan dengan nama package masing-masing.
- Download Data sebagai ZIP dan file yang anda dapatkan akan seperti ini:
- Buka Android studio anda, Copy semua file .java hasil download zip tadi ke dalam folder api
- Masih didalam folder api, buat 2 java class lagi. Klik kanan >> New >> Java Class, Beri nama PostDetail.java. Paste kode dibawah dan simpan.
package com.teknologi.api; import java.util.ArrayList; import java.util.List; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; public class PostDetail { @SerializedName("kind") @Expose private String kind; @SerializedName("id") @Expose private String id; @SerializedName("blog") @Expose private Blog blog; @SerializedName("published") @Expose private String published; @SerializedName("updated") @Expose private String updated; @SerializedName("url") @Expose private String url; @SerializedName("selfLink") @Expose private String selfLink; @SerializedName("title") @Expose private static String title; @SerializedName("content") @Expose private static String content; @SerializedName("author") @Expose private Author author; @SerializedName("replies") @Expose private Replies replies; @SerializedName("labels") @Expose private List labels = new ArrayList(); @SerializedName("etag") @Expose private String etag; public String getKind() { return kind; } public void setKind(String kind) { this.kind = kind; } public String getId() { return id; } public void setId(String id) { this.id = id; } public Blog getBlog() { return blog; } public void setBlog(Blog blog) { this.blog = blog; } public String getPublished() { return published; } public void setPublished(String published) { this.published = published; } public String getUpdated() { return updated; } public void setUpdated(String updated) { this.updated = updated; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getSelfLink() { return selfLink; } public void setSelfLink(String selfLink) { this.selfLink = selfLink; } public static String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public static String getContent() { return content; } public void setContent(String content) { this.content = content; } public Author getAuthor() { return author; } public void setAuthor(Author author) { this.author = author; } public Replies getReplies() { return replies; } public void setReplies(Replies replies) { this.replies = replies; } public List getLabels() { return labels; } public void setLabels(List labels) { this.labels = labels; } public String getEtag() { return etag; } public void setEtag(String etag) { this.etag = etag; } }
- File yang kedua beri nama PostList.java. Paste kode dibawa dan simpan.
package com.teknologi.api; import java.util.List; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; public class PostList { @SerializedName("kind") @Expose private String kind; @SerializedName("items") @Expose private List items = null; @SerializedName("etag") @Expose private String etag; public String getKind() { return kind; } public void setKind(String kind) { this.kind = kind; } public List getItems() { return items; } public void setItems(List items) { this.items = items; } public String getEtag() { return etag; } public void setEtag(String etag) { this.etag = etag; } }
- Maka didalam folder api akan terlihat file-file berikut:
Android Manifest
Karena aplikasi portal berita yang akan dibangun menggunakan internet untuk mengakses data, tambahkan baris kode dibawah pada file AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Splash Activity
Didalam folder res >> Layout, buatlah sebuah Layout Resource File dengan nama activity_splash.xml. Copy kode berikut, paste pada activity_splash.xml.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#c62641"
android:gravity="center"
tools:context=".SplashActivity">
<ImageView
android:layout_width="200dp"
android:layout_height="100dp"
android:id="@+id/logo"
android:src="@drawable/logo3"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
Perhatikan baris kode ini:
android:src="@drawable/logo3"
Terlihat pemanggilan file assets sebuah logo dengan nama logo3. Jadi, Pastikan anda mempunyai file logo3 dengan ekstension png dan paste dalam folder res >> drawable. (Sesuaikan dengan logo website berbasis blogspot anda)
Didalam folder blogger, buat sebuah activity dan berinama SplashActivity.java. Copy kode java berikut kedalam file SplashActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Handler;
import android.os.Bundle;
public class SplashActivity extends AppCompatActivity {
private int loading_time=4000;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent home=new Intent(SplashActivity.this, MainActivity.class);
startActivity(home);
finish();
}
},loading_time);
}
}
Jalankan aplikasi anda, dan lihat apakah Splash sudah berjalan dengan baik atau tidak.
Sekian tutorial Membuat aplikasi portal berita Blogger.com dengan Android Studio Part 8 - Android Manifest dan Splash Activity. Untuk artikel berikutnya, akan banyak membahas Main Activity dan pembuatan loop pada activity_main tersebut.