Cara Set Data Spinner dari Json API Server ( Retrofit ) Android

Published by farizdotid on

Cara Set Data Spinner dari Json API Server ( Retrofit ) Android

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118

Notice: A non well formed numeric value encountered in /home/farizdot/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 119

Cara Set Data Spinner dari Json API Server ( Retrofit ) Android – Ini sebenernya detail dari project sebelumnya yaitu Mahasiswa App, Kalian bisa lihat di artikel sebelumnya di Tutorial CRUD Rest API Menggunakan Retrofit 2 Android . Bedanya di project tersebut saya tidak menjelaskan bagaimana cara set data spinner dari json api server tersebut, Nah di artikel ini saya akan mengulas bagaimana cara komponen spinner itu bekerja dan juga bagaimana cara mengeset data kedalam spinner. Komponen spinner ini biasanya dipakai pada form tanggal lahir, seperti memilih tanggal, bulan dan juga tahun atau bisa juga dengan data yang lain sesuaikan kebutuhan aplikasi agan.

Cara Set Data Spinner dari Json API Server ( Retrofit ) Android

Untuk kasus cara set data spinner dari json api server ini kita akan memasukan fitur tersebut didalam Tambah Mata Kuliah, Jadi user memilih dahulu dosennya lalu otomatis form nama matkulnya akan muncul otomatis yang didapat dari detail dosen tersebut. List list nama dosen ini hasil dari kita nge-get API list dosen lalu dimasukan kedalam data spinner, Ketika user memilih dosen maka sistem akan memanggil kembali API Detail Dosen. Kurang lebih begitu contoh kasus yang kita buat di artikel ini.

Persiapan Cara Set Data Spinner dari Json API Server ( Retrofit ) Android :

Bagaimana Cara Set Data Spinner dari Json API Server ( Retrofit ) Android ?

Pertama,

Buat project bernama MahasiswaApp lalu buatlah empty activity saja dan namakan activity tersebut dengan TambahMatkulActivity.

Kedua,

buatlah folder di src/main dengan nama folder model, api, dan activity. folder disini bertujuan untuk agar rapih dan mudah untuk dimanage.

Ketiga,

Masukan depedency-depedency library yang kita butuhkan lalu sync project kita :

Keempat,

Buka aplikasi postman lalu isi url dengan http://localhost/mahasiswa/semuadosen dan coba send. Nanti akan muncul result json hasil dari database mysql di localhost kita. Copy semua result json –> buka android studio –> klik kanan pada folder model –> pilih New –> Generate POJO from JSON –> paste result json yang kita copy tadi lalu namain class model tersebut dengan ResponseDosen –> OK.

Cara Set Data Spinner dari Json API Server ( Retrofit ) Android

Kelima,

Klik kanan pada folder api dan buatlah class baru bernama RetrofitClient. Untuk kodenya seperti ini :

Keenam,

Buat class interface baru dengan nama BaseApiService. Lalu masukan kode berikut :

GET disitu disesuaikan dengan API yang sudah kita buat sebelum-sebelumnya.

Ketujuh,

Buat class baru didalam folder api dengan nama UtilsApi. Lalu masukan kode berikut :

Kedepalapan,

Buka activity_tambah_matkul.xml dan tambahkan komponen spinner kedalam layout kita. Untuk kode spinnernya :

Untuk full source xml activity_tambah_matkul ini :

Kesembilan,

Buka TambahMatkulActivity lalu tepat diatas onCreate tambahkan kode berikut :

Kesepuluh,

Didalam method onCreate tambahkan kode berikut :

Jika initSpinnerDosen() masih merah biarkan saja, karena kita belum membuat fungsi tersebut.

Kesebelas,

Buatlah fungsi bernama initSpinnerDosen. Didalam fungsi inilah Cara Set Data Spinner dari Json API Server ( Retrofit ) Android. Jadi untuk flownya manggil api list dosen –> berhasil –> set data result json tersebut ke spinner. Untuk kodenya seperti ini :

 

Jadi didalam class TambahMatkulActivity kode fullnya seperti ini :

Keduabelas,

Silahkan jalankan aplikasi agan.

Screenshot fitur yang telah kita buat tadi :

Cara Set Data Spinner dari Json API Server ( Retrofit ) Android Cara Set Data Spinner dari Json API Server ( Retrofit ) Android

Download project android Cara Set Data Spinner dari Json API Server ( Retrofit ) Android :

[sociallocker]

Cara Set Data Spinner dari Json API Server ( Retrofit ) Android

[/sociallocker]

Hanya itu saja yang bisa saya sampaikan, kurang lebihnya saya mohon maaf karena saya juga masih belajar. Semoga artikel Cara Set Data Spinner dari Json API Server ( Retrofit ) Android ini membantu agan dan Semoga bermanfaat. Jika ada yang ingin ditanyakan bisa berkomentar didalam artikel ini ya. Hatur Nuhun 🙂


16 Comments

Khoirur rosy · October 2, 2017 at 7:37 am

Mau nanya mas. Misalkan saya mau menampilkan data berdasar id yang di inputkan di edittext menggunakan retrofit ini gimana ya?
Misalnya saya punya 1 Edittext, dlm edittext saya masukkan id 2, dan ketika diklik tombol tampilkan akan muncul data yang mempunyai id 2.

    farizdotid · October 4, 2017 at 11:01 pm

    Kalau untuk itu API saya belum ngehandle ID, tapi untuk cara lainnya mungkin data-data simpan dulu kedalam database offline ( sqlite / realm ) lalu buat function search dengan parameter ID.

Iwan · October 17, 2017 at 1:10 pm

Boleh minta project yang ini gak? mau like fanpage nya tapi gak bisa

    farizdotid · October 18, 2017 at 8:15 am

    Ada di github farizdotid gan. Cari aja 🙂

rizky · November 28, 2018 at 11:02 pm

mas mau nanya saat saya List dataTahun = response.body()
setelah body tidak dapat tahun ajaran nya kenapa ya mas dan R.layout saya tidak ada muncul ke fragment yang punya saya

private void pilihTahun() {
ApiService apiService = ApiClient.getApiService();
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
String token = sharedPreferences.getString(“token”, null);

apiService.tahunAjaran(“Bearer ” + token).enqueue(new Callback<List>() {
@Override
public void onResponse(Call<List> call, Response<List> response) {
if (response.isSuccessful())
{
List dataTahun = response.body().add(TahunAjaran);
List listSpinner = new ArrayList();
for (int i = 0; i < TahunAjaran.size(); i++){
listSpinner.add(TahunAjaran.get(i).getNama());
}

ArrayAdapter adapter = new ArrayAdapter(getActivity(),
android.R.layout.activity_list_item, listSpinner);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerTahun.setAdapter(adapter);
}
}

@Override
public void onFailure(Call<List> call, Throwable t) {

}
});
}

rizky · November 28, 2018 at 11:03 pm

mas mau nanya saat saya List dataTahun = response.body()
setelah body tidak dapat tahun ajaran nya kenapa ya mas dan R.layout saya tidak ada muncul ke fragment yang punya saya
Terima Kasih
private void pilihTahun() {
ApiService apiService = ApiClient.getApiService();
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
String token = sharedPreferences.getString(“token”, null);

apiService.tahunAjaran(“Bearer ” + token).enqueue(new Callback<List>() {
@Override
public void onResponse(Call<List> call, Response<List> response) {
if (response.isSuccessful())
{
List dataTahun = response.body().add(TahunAjaran);
List listSpinner = new ArrayList();
for (int i = 0; i < TahunAjaran.size(); i++){
listSpinner.add(TahunAjaran.get(i).getNama());
}

ArrayAdapter adapter = new ArrayAdapter(getActivity(),
android.R.layout.activity_list_item, listSpinner);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerTahun.setAdapter(adapter);
}
}

@Override
public void onFailure(Call<List> call, Throwable t) {

}
});
}

    farizdotid · December 12, 2018 at 1:54 am

    tidak dapat tahun ajaran? maksudnya gimana ya mas? R.layout gimana?

ken · December 20, 2018 at 4:26 pm

requestDetailDosen(); dari mana ya?

    farizdotid · January 7, 2019 at 7:49 am

    itu fungsi untuk panggil detail dosennya gan, untuk tutorial cara set data spinner dari json api server retrofit android ini fitur itu saya komen dulu / tidak dipanggil.

      diki · September 25, 2019 at 2:25 pm

      udah ada tutorial untuk menampilkan detail nama dosennya kang? buatkan dong kang.. hatur nuhun.

        farizdotid · September 30, 2019 at 4:45 pm

        Coba cek repositorynya gan.

        diki · September 30, 2019 at 5:34 pm

        Oh iya kang, ada ya di repositorynya, hatur nuhun kang. oiya kang, request tutorial autocompletetextview dari retrofit dong kang. klo boleh saya minta contohnya kang,. mentok nih bikin autocompleteTextView pake retrofit. Dicoba ngerubah yg tutorial yg ini ngga jalan, masih bingung nih kang. hatur nuhun.

Muhammad Faisal · October 1, 2019 at 11:25 pm

Mantul bang!!
Cuma mau nanya nih bang dan semoga dibalas ya, kan di bagian:
listSpinner.add(semuadosenItems.get(i).getNama());
Kan fungsinya untuk mengambil nilai hasil dari panggilan API dan ditampilkan berupa nama kan?

Nah, masalahnya kalo saya mau ambil id dari si getNama() itu gimana ya bang? Karna kan kalau misalnya kita ambil nilai dia di dalem method onItemSelected(), pasti yang keambil ya cuma nama doang..

Terimakasih

    farizdotid · October 9, 2019 at 9:07 pm

    Bisa manfaatkan balikan “position” dari setOnItemSelectedListener bang. Jadi kurang lebih memanggilnya begini untuk dapetin IDnya :
    int id = semuadosenItems.get(position).getID;

      zxwccc · December 2, 2019 at 8:15 pm

      boleh minta contohnya bang? saya coba ikutin sarannya semuadosenitems nya cannot resolve symbol.

      mohon maaf bang masih pemula.

      terima kasih.

Cara GET JSON API Server Menggunakan Retrofit2 · August 13, 2017 at 4:25 am

[…] Menggunakan Retrofit2 – Halo semuanya, Setelah sebelumnya saya membuat tutorial mengenai cara set data spinner dari json api server menggunakan retrofit2. Kali ini saya ingin membagikan referensi cara get json API server menggunakan retrofit2, […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.