Cara parsing JSON data pada aplikasi Android menggunakan Android Studio

Update Terakhir pada

Halo sahabat webhozz! Apakabar? Semoga saja kabar kalian baik..,

Dalam artikel kali ini kita akan membahas bagaimana cara menangkap data dari sebuah API dan memunculkannya di aplikasi android kita, menarik bukan? Nah tapi kalo kalian masih belum faham apa itu API kalian bisa nih coba cek artikel kita mengenai penjelasan API (Application Programming Interface) itu apa..
Penjelasan singkatnya, API (Application Programming Interface) adalah sebuah antarmuka yang menyediakan data yang bisa kita akses maupun kita manipulasi temen-temen. Biasanya API ini berada diatas sebuah Server yang kita bisa akses melalui sebuah URL, contoh temen-temen bisa lihat di

https://jsonplaceholder.typicode.com

Disitu mereka menyediakan sebuah API yang sifatnya terbuka dan bisa diakses oleh siapa saja, cara mengakses paling mudah untuk sebuah API adalah dengan cara temen-temen buka melalui browser, contoh coba buka link ini :

https://jsonplaceholder.typicode.com/posts/1

Pada link tersebut temen-temen bakal mendapatkan tampilan seperti ini :

Jika iya, selamat temen-temen baru saja mengakses sebuah API 😊

API ini biasanya memberi feedback berupa data bisa berupa JSON atau XML. Untuk artikel kali ini kita akan membahas bagaimana memproses pengembalian data yang tipe JSON nih!. Jika temen-temen belum tau apa itu JSON penjelasannya bisa dilihat di sini singkatnya JSON adalah sebuah format pertukaran data yang biasanya digunakan untuk menukar data antar aplikasi contoh saat kita mebuka link tadi untuk mendapatkan API, server mengirimkan ke browser kita sebuah teks dalam format JSON yang bertujuan agar kita bisa memproses teks tersebut lagi kedalam betuk data di aplikasi kita masing-masing. Kali ini kita akan mengambil data tersebut untuk kita munculkan di aplikasi android kita nih 😊

Baiklah intronya sudah cukup jelas, kita langsung aja mulai coding langkah-langkahnya di android studio yuk kita lanjut 👉

1. Buat New Project Di Android Studio
Oke pertama click File ->N->New Project pada Android Studio kaya gini nih 👇

Oke kalo udah Next aja API bisa pilih 19 ke atas lalu pilih Empty Activity

Lalu Next lalu Finish !

2. Sync Gradle
Oke ada beberapa source gradle yang perlu kita install ke project kita, nah pertama buka file grade
Di Build.gradle(Module:app)

Oke kalian bisa copy script dibawah ini masukan ke bagian dependencies{ .. }

implementation 'com.android.volley:volley:1.1.1'

lalu click Sync Now di pojok kanan atas. Oke kalo udah kita ke next step!

3. PERMISSION
Nah karena kita mengakses ke internet untuk menuju api kita kalian perlu
Mengcopy tag permission (yang berwarna merah) kedalam tag manifest.

File manifest ada di folder manifests -> AndoridManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.api.belajar.id.belajarapi">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

4. Script file activity_main.xml
Kalian bisa langsung copy script dibawah lalu di paste di dalam file activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp">

<TextView
android:paddingTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Title"
android:textStyle="bold"/>
<TextView
android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:paddingTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Body"
android:textStyle="bold"/>
<TextView
android:id="@+id/txtBody"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

</LinearLayout>

</android.support.constraint.ConstraintLayout>

5. Code MainActivity

package com.api.belajar.id.belajarapi;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;

import org.json.JSONException;
import org.json.JSONObject;


public class MainActivity extends AppCompatActivity {
    TextView txtTitle, txtBody;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

txtTitle = (TextView) findViewById(R.id.txtTitle);
txtBody = (TextView) findViewById(R.id.txtBody);

getData();
}

void getData(){
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);

String url = "https://jsonplaceholder.typicode.com/posts/1";

JSONObject jsonBody = new JSONObject();
        final String requestBody = jsonBody.toString();

// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
                new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
//menaruh data JSON kkedalam variabel JSON Object
JSONObject jsonPost = new JSONObject(response.toString());

//men set data ke dalam tampilan
txtTitle.setText(jsonPost.getString("title"));
txtBody.setText(jsonPost.getString("body"));

} catch (JSONException e) {
                            e.printStackTrace();
}

                    }
                }, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
                Log.d("Error Response",error.toString());
}
        });
// Add the request to the RequestQueue.
queue.add(stringRequest);

}
}

yak jadinya kalo kalian compile hasilnya akan seperti ini

Nah keren bukan? Sekian dari artikel kali ini, untuk tutorial-tutorial selanjutnya bisa stay tune terus di blog webhozz ya , see ya 😊