Menampilkan Data Di Android (Retrofit 2.0 GET) Dari Server PHP + MySQL

Melanjutkan postingan sebelumnya tentang cara meng input data dari android ke database menggunakan server local PHP + MySQL, maka hari ini saya akan membuat artikel yang masih berkaitan atau satu project dengan postingan insert data dari android.

Postingan kali ini akan membahas bagaimana cara menampilkan data dari database ke aplikasi android yang kita buat.  Server dibuat menggunakan PHP  (PDO) + MySQL dan dihosting di localhost.

Baca juga : Perbedaan koneksi database menggunakan MySQL, MySQLi dan PDO

Sedangkan di android saya menggunakan Retrofit 2.0 sebagai bantuan agar bisa mengambil data dari server. Karna proses yang dilakukan hanya menampilkan data, maka method yang digunakan pada retrofit adalah method GET.

Jadi, sekalian belajar memahani proses pembuatan server sendiri juga kalian akan belajar bagaimana menggunakan method POST pada retrofit 2.0.

Baca juga : Cara GET Retrofit 2.0 Berdasarkan Parameter (menggunakan data dummy dari apiary)

Membuat Database

Database yang digunakan masih sama dengan project input data dari
mobile, tidak ada yang berubah ataupun diganti. Kalian bisa ikuti
langkah-langkah pembuatan databasenya. Silakan lihat kembali
langkah-langkah pembuatan databasenya DISINI

Kodingan di PHP

Pada file php nya, ada beberapa php class yang digunakan, antara lain :

  • Connection.php
  • DisplayJsonFood.php

1. Connection.php

File ini berfungsi untuk menghubungkan atau mengkoneksikan database yang kita telah buat dengan project php. Kodingan lengkapnya bisa dilihat dibawah ini :

2. DisplayJsonFood.php

File ini berfungsi untuk menampilkan data-data yang ada pada database berupa json. Kenapa berupa json? Karena mobile tidak bisa langsung mengakses databasenya, jadi antara PHP dan Mobile berkomunikasinya menggunakan JSON. Kodingan lengkapnya ada dibawah ini :

Jika kode diatas dijalankan, akan menghasilkan out json. Artinya data yang ada di database di tampilkan menjadi format json. Lihat ouputnya dibawah ini :

Perhatikan : Karena data food memungkinkan lebih dari satu, makanya pada json diatas, disimpan di dalam array. Simbol array yang dimaksud adalah tanda kurung kotak []. Didalam tanda [] ada tanda {}. Tanda {} lah yang disebut object.

Contoh : Jika ada empat data di database, maka object didalam tanda [] juga menjadi empat, jadinya seperti ini : [{},{},{},{}] . Agar tidak bingung coba lihat gambar berikut ini :

Terlihat pada gambar diatas, ada empat object yang berada di dalam tanda []. Attribute status sebagai penanda jika prosesnya berhasil, maka angkanya akan menjadi 1, jika gagal maka angkanya akan menjadi 0.

Begitupun dengan attribute message, jika berhasil maka akan menampilkan response message success, jika gagal akan menampilkan response message failed while displaying data food.

Kodingan Di Android

 

Layouting

Untuk layouting, pada project ini akan digunakan 2 bentuk layout, yaitu :

  1. activity_main.xml
  2. item_food.xml

1. activity_main.xml

File ini berisi recyclerview untuk menampilkan semua data yang berasal dari database. Layout ini akan digunakan pada class MainActivity.java.

2. item_food.xml


File ini digunakan untuk men-set data setiap satu object yang didapat dari database. Jika dalam database ada 10 object, maka layout ini akan tampil di recyclerview sebanyak 10 kali juga. Penggunakan layout ini akan dilakukan pada class FoodAdapter.java.

File Java

Jumlah file yang ada pada project android sama dengan yang ada pada postingan – postingan sebelumnya cuma bedanya disini ditambahkan class adapter, antara lain :

  • FoodModel.java
  • ListFoodModel.java
  • LoggingInterceptor.java
  • ApiService.java
  • ApiClient.java
  • FoodAdapter.java
  • MainActivity.java

1. FoodModel.java

File ini dibuat sebagai object dari data yang akan didapat. Dalam file ini terdapat method getter dan setter. Kodingan lengkapnya ada dibawah ini :

2. ListFoodModel.java

Mungkin dari kalian ada yang bertanya-tanya, apa sih perbedaan antara FoodModel.java dengan ListFoodModel.java?

Begini, seperti yang terlihat pada output json (baca lagi yang diatas tentang penjelasan json), object berada di dalam array (karena data food bisa lebih dari satu). Agar model di json sama dengan model di android, makanya kita buatkan list yang membungkus si FoodModel.java.

Agar mudah dipahami, silakan lihat kodingan lengkapnya dibawah ini :

Silakan lihat-lihat lagi format jsonnya lalu bandingkan dengan FoodModel.java dan ListFoodModel.java. Dengan membandingkan format json dan model di android, saya rasa akan mudah dipahami.

3. LoggingInterceptor.java

File ini digunakan untuk melihat proses selalu pengambilan data. Jika error, melalui class ini akan diketahui penyebab errornya. Output resultnya bisa dilihat di logcat. Kodingan lengkapnya seperti dibawah ini :

4. ApiService.java

File ini merupakan interface yang didalamnya terdapat method untuk mengambil (GET) data json yang diambil dari server. Kodingan lengkapnya seperti dibawah ini :

5. ApiClient.java

File ini berisi URL target yang akan digunakan. Dan juga di class ini tempat meng inisialisasi Retrofit. Kode lengkapsnya seperti dibawah ini :

6. FoodAdapter.java

File ini digunakan untuk men set data yang didapat dari server ke textview masing-masing. Kodingan lengkapnya bisa dilihat dibawah ini :

7. MainActivity.java

MainActivity adalah class utama yang didalamnya terdapat proses GET data dari server. Jika berhasil, data akan langsung dikirim ke FoodAdapter dan di set ke recyclerview. Jika gagal maka akan mempilkan pesan gagal yang didapat dari response jsonnya. Kodingan lengkapnya bisa dilihat dibawah ini :

Demikian beberapa langkah untuk dapat menampilkan data yang ada di database ke android. Server yang saya buat menggunakan PHP dan MySQL. Semoga artikel ini bermanfaat. Terimakasi.

Silakan download projectnya dibawah ini :

(Visited 391 times, 1 visits today)

Related Posts

About The Author

Berlangganan Artikel

Untuk mendaftarkan tutorial pemrograman terbaru dari putuguna[dot]com, silakan tuliskan email kalian dibawah ini