Anda di halaman 1dari 8

JSON

Kali ini saya akan menjelaskan tentang implementasi parsing JSON dalam Android. Apa itu

JSON ?

JSON (Javascript Object Notation) merupakan format pertukaran data yang ringan, mudah

dibaca dan ditulis oleh manusia.

Mungkin untuk lebih jelasnya, bisa dilihat di link berikut :

JSON - Wikipedia bahasa Indonesia, ensiklopedia bebas


JSON (dilafalkan "Jason"), singkatan dari JavaScript Object Notation ( bahasa Indonesia:
notasi objek JavaScript)…
id.wikipedia.org

Terus, untuk apa JSON ini dalam pengembangan aplikasi Android ?


Nah, begini,,

Dalam aplikasi Android, terkadang kita memerlukan suatu data yang berasal dari suatu server

untuk digunakan dan ditampilkan dalam aplikasi kita. Nah, untuk mengambil data dari server

kita bisa memakai yang namanya API (Application Programming Interface). Bagi yang

belum tahu apa itu API bisa di baca dibawah ini :

API (Application Program Interface) Definition


The definition of API defined and explained in simple language.
techterms.com

Dalam penyaluran data dari server ke client(aplikasi kita) memerlukan sebuah standar

pemformatan data, nah disinilah kita pakai JSON. Adapun salah contoh dari bentuk JSON

sebagai berikut :
{
"namaDepan": "Budi",
"namaBelakang": "Sbudi",
"alamat": {
"namaJalan": "Jl. Sudirman 15A",
"kota": "Jakarta Selatan",
"provinsi": "DKI Jakarta",
"kodePos": 11111
},
"nomerTelepon": [
"021 555-1234",
"021 555-4567"
]
}

Dalam tutorial kali ini kita memakai contoh JSON yang sangat sederhana, yang berisi contact

dimana setiap node nya berisi informasi seperti nama, alamat, email, gender, dan no hp. Dan

kali ini kita pakai library java.net (sudah bawaan Java-nya) untuk membuat pemanggilan

HTTP dan mencocokkan JSON dari URL. Selain library bawaan(default) tersebut, ada juga

library third party — seperti Volley dan Retrofit — yang Insya Allaah nanti akan saya publish
di tutorial selanjutnya
Berikut JSON -nya, bisa juga anda akses ke alamat berikut

: http://api.androidhive.info/contacts/
{
"contacts": [
{
"id": "c200",
"name": "Ravi Tamada",
"email": "ravi@gmail.com",
"address": "xx-xx-xxxx,x - street, x - country",
"gender" : "male",
"phone": {
"mobile": "+91 0000000000",
"home": "00 000000",
"office": "00 000000"
}
},
{
"id": "c201",
"name": "Johnny Depp",
"email": "johnny_depp@gmail.com",
"address": "xx-xx-xxxx,x - street, x - country",
"gender" : "male",
"phone": {
"mobile": "+91 0000000000",
"home": "00 000000",
"office": "00 000000"
}
},
.
.
.
.
]
}

Perbedaan JSONArray dan JSONObject

Dalam JSON, ada dua hal penting yang harus kita ketahui dan harus tahu membedakannya,

yaitu JSONArray dan JSONObject. JSONArray di dalam JSON di representasikan dengan

tanda [ (Square Brackets), sedangkan JSONObject di representasikan dengan tanda } (Curly

Brackets). Dalam implementasi kodingan java-nya, jika JSONArray kita gunakan

method getJSONArray(), kalau JSONObject kita gunakan method getJSONObject().


Gampang kan ?? Hehe.. :D :D

Let’s Practice

1. Buat Project Baru

1. Buatlah project baru, terserah namanya apa.

2. Kemudian kita tambahkan permission INTERNET di AndroidManifest.xml,


karena aplikasi kita membutuhkan koneksi ke INTERNET untuk akses JSON.

3. Untuk menghandle koneksi dan mendapatkan json dari URL, kita buat Class dengan

HttpHandler.java

4. Kemudian kita tambahkan ListView dalam main view kita (activity_main.xml). Kodenya

seperti berikut :

5. Jangan lupa juga kita buat view untuk tiap list item di list view nya. Buat file layout dengan
nama list_item.xml denga kode berikut :
6. Setelah itu, buka MainActivity.java dan kita deklarasikan dahulu variabel — variabel

untuk listview :
public class MainActivity extends AppCompatActivity {

private String TAG = MainActivity.class.getSimpleName();

private ProgressDialog pDialog;


private ListView lv;

// URL to get contacts JSON


private static String url = "http://api.androidhive.info/contacts/";

ArrayList<HashMap<String, String>> contactList;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

contactList = new ArrayList<>();

lv = (ListView) findViewById(R.id.list);
}
}

2. Men-Download & Mem-Parsing JSON

7. Disini kita pakai Async class untuk menghandle pemanggilan http (untuk mendapatkan

JSON-nya) di Background Thread. Ada 3 method penting dalam Async Class, yaitu :

Method onPreExecute() : Dipanggil sebelum eksekusi (sebelum pemanggilan HTTP).

Disinilah kita bisa inisialisasi Progress Dialog, karena method ini berjalan di Main Thread.

Method doInBackground() : Dipanggil saat pemanggilan HTTP, disinilah kita melakukan

proses untuk mendapatkan data dari JSON dan memparsing nya. Dalam kasus ini kita pakai

method yang sudah kita buat, yaitu makeServiceCall().


Method onPostExecute() : Diapnggil setelah eksekusi (setelah pemanggilan HTTP). Disini

kita hilangkan Progress Dialog dan menampilkan data ke dalam ListView kita dengan

menggunakan Adapter.

Berikut implementasi nya dalam MainActivity.java :

8. Sampai disini aplikasi kita sudah selesai, jika tidak ada error maka tampilan aplikasi nya

sebagai berikut :

Anda mungkin juga menyukai