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
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
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"
}
},
.
.
.
.
]
}
Dalam JSON, ada dua hal penting yang harus kita ketahui dan harus tahu membedakannya,
Let’s Practice
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 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.list);
}
}
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 :
Disinilah kita bisa inisialisasi Progress Dialog, karena method ini berjalan di Main Thread.
proses untuk mendapatkan data dari JSON dan memparsing nya. Dalam kasus ini kita pakai
kita hilangkan Progress Dialog dan menampilkan data ke dalam ListView kita dengan
menggunakan Adapter.
8. Sampai disini aplikasi kita sudah selesai, jika tidak ada error maka tampilan aplikasi nya
sebagai berikut :