Android SearchView, RecyclerView & Retrofit

Searching adalah salah satu fitur umum yang pasti kita akan butuhkan dalam kita membuat aplikasi android. Lalu bagaimana sih cara membuatnya? Google telah membuat satu widget SearchView yang di extend dari ViewGroup dan LinearLayout.

Kali ini kita akan belajar bagaimana mengimplementasikan SearchView dengan request data dari server . Disini kita akan lakukan dengan flow yang cukup simple aja disini aku coba bikin gambar ilustrasi sedikit.

Seperti biasa konsep dasar sebuah software adalah Input, Proses dan Output. Sebagai input kita gunakan SearchView, untuk processing datanya kita menggunakan retrofit untuk request ke API Service, dan setelah itu kita tampilkan kedalam RecyclerView sebagai outputnya.

Nah disini kita akan sedikit mengimplementasikan metode MVP. Jadi bagi yang belum tau apa itu MVP bisa baca lebih detail disini. Simplenya gini mvp ini memisahkan antara pengolahan data dan pengolahan view. Biasanya kita melakukan processing data seperti membuat array dan melakukan request ke API dan yang lainya, itu kita lakukan di Activity yang mengakibatkan di activity sampai ada ribuan baris code yang kita tulis. Nah dengan MVP ini membuat struktur codingan kita lebih rapi, sedikit dan juga lebih efektif. OK lets get start it!

List Depedency

Untuk pertama biasa kita akan menambahkan depedency untuk retrofit dan gson converter.

Layout

Sekarang kita buat untuk layoutnya seperti ini.

Selanjutnya ini untuk SearchView yang akan kita letakkan di toolbar menu.

Dan ini untuk icon svg searchnya.

Setelah itu kita buat layout untuk list dari hasil query yang kita tampilkan ke dalam RecyclerView.

Sudah selesai untuk viewnya sekarang kita beralih ke backend.

Model, View, dan Presenter

Model View Presenter ini sangat efektif untuk kita implementasikan selain struktur yang lebih baik MPV juga mudah. Ya memang class yang kita buat jadi lebih banyak. Tetapi untuk ini sangat bagus untuk membuat struktur codingan kita lebih rapi. Nah berikut ini proses implementasinya.

Model

Untuk model kita buat seperti ini :

View

Disini kita akan membuat dua view yaitu untuk view holder RecyclerView nya dan main view untuk layounya. Berikut ini untuk main view :

Sekarang untuk viewholdernya

Sudah selesai untuk view dan viewholdernya lanjut ke presenter.

Presenter

Presenter ini disini kita akan gunakan untuk melakukan process mengambil data dari server dan menampilkan ke recyclerview.

Setelah presenter sekarang kita akan buat API Service yang akan digunakan sebagai prosesin dari search ini.

ApiService

Disini kita melakukan http post, dan untuk itu kita perlu model untuk data yang akan di post.

InputItem

Sudah selesai dengan api service sekarang kita buat ApiBuilder untuk eksekusi request ke server.

ApiBuilder

Ok ApiBuilder sudah selesai sekarang saatnya kita masuk MainActivity

MainActivity

Dan yang terakkhir jangan lupa untuk berikan permission internet di manifest

Kira kira seperti ini hasilnya nanti.

Sudah selesai sampai disini, jangan lupa untuk tinggalkan like atau comment boleh juga kalau mau di share sama temen — temen kalian. Dan semoga bermanfaat untuk kalian. Seperti biasa untuk project latihan ini bisa di akses disini. Artikel ini saya buat karna waktu itu ada yang bertanya tentang membuat search aku lupa siapa, tapi buat kalian yang mau request apa tutorial apa bisa comment di bawah atau bisa message saya di fb, atau sekedar bertanya boleh kalau saya sempat pasti akan saya jawab atau buatkan tutorialnya. Dan semangat belajar ya guys.