Cara Membuat Spinner Dinamis di Basic4Android

Awal-awal menggunakan Basic4Android (B4A), saya sempat bingung bagaimana caranya membuat ComboBox atau DropDown List di aplikasi android yang saya buat. Tapi, setelah saya cari sana dan cari sini, akhirnya bingung tersebut hilang setelah saya bertemu dengan Spinner. Ya, karena sudah ketemu cara membuatnya. Jika Anda juga bingung, maka jangan bersedih, karena saya akan share cara membuatnya di sini.

Biasanya data yang saya tampilkan di Spinner ini adalah data dari database local atau SQLite. Tapi, kali ini data yang saya tampilkan di Spinner adalah data dari database server, yaitu MySQL. Dan cara menghubungkan ke database server-nya masih menggunakan Remote Database Connector (RDC).

Agar tutorial ini lebih mudah dimengerti, silakan pahami dulu tutorial pada postingan-postingan di bawah ini:

Cara Menghubungkan Aplikasi Android ke Database MySQL

Menampilkan Data MySQL ke Dalam ListView pada Basic4Android

Membuat CRUD dengan Database MySQL di Basic4Android

Karena file project yang akan digunakan adalah dari postingan-postingan tersebut. Sehingga akan saling berkaitan antara yang satu dengan yang lainnya.

Oke, sebelumnya sudah ada database dengan nama delheru-penjualan, yang pada postingan sebelumnya sudah dibuat. Dan di dalamnya ada tabel dengan nama: barang. Sekarang tambahkan satu tabel lagi dengan nama: kategori. Dengan field-field sebagai berikut: 01-create-new-table-kategori

Jika tabel kategori sudah dibuat, maka insert-lah beberapa data. Misalnya seperti ini: 02-insert-new-data-kategori

Dan, silakan ikuti langkah-langkah berikut…

  1. Buka folder RDC Server-nya. 03-open-config
  2. Kemudian buka config.properties. Tambahkan satu command lagi seperti di bawah ini:

  1. Buka project MyConnectDB.
  2. Pada Class DBRequestManager buat fungsi baru dengan nama: LoadRDCSpinner. Fungsi ini digunakan untuk menampilkan data hasil dari request ke server via RDC ke Spinner.

  1. Beralih ke activity BarangView, pada Sub Globals deklarasikan object-object baru seperti di bawah ini:

  1. Karena terdapat tambahan beberapa object baru seperti Label dan Spinner yang akan ditampilkan di activity, maka fungsi-fungsi (seperti InitObject, SetLabel, GetDataBarang, dan SetObjectView) yang terpanggil pada event Activity_Create harus dirombak lagi. Silakan ubah menjadi seperti code berikut:

  1. Sebelumnya di fungsi event BtnSave_Click parameter yang dikirimkan ke server untuk kategori_id langsung ditulis: 1. Maka, kali ini ubah menjadi KategoriId. Sebuah variabel integer yang menampung kategori_id. Perhatikan code baris ke 10 dan 18.

  1. Kemudian pada event JobDone, ubah code yang sudah ada menjadi seperti berikut:

  1. Pada fungsi LoadDataBarang set value variabel KategoriId dengan kategori_id barang tsb. Perhatikan code baris ke 10.

  1. Buat fungsi baru dengan nama: GetDataKategori. Fungsi ini digunakan untuk melakukan request data kategori ke server.

  1. Dan yang terakhir, buat satu fungsi event lagi, kali ini event ItemClick untuk Spinner kategorinya.

  1. Save, kemudian Run/Compile project ini dalam versi Release.
  2. Lalu lihat, apa yang terjadi…
  3. Saat Create Barang, pada gambar di bawah terlihat data kategorinya sudah muncul di Spinner-nya. 03-result
  4. Saat detail barang dibuka, kategorinya diset otomatis sesuai kategori barangnya. 04-result
  5. Apakah bisa mengubah kategori dari barang tersebut? Tentu bisa, tinggal pilih kategorinya, lalu tekan tombol Update. 05-result

Oke, demikian cara membuat Spinner dinamis yang datanya dari database MySQL di B4A. Semoga bermanfaat. Jika masih ada kesulitan atau problem jangan ragu untuk bertanya di form komentar. Dan… Tetap nantikan juga tutorial-tutorial menarik lainnya seputar Basic4Android.

Happy Coding! 🙂

0 0 votes
Article Rating
Subscribe
Notify of
guest

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

34 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Imam Riyadi

Mantap gan….

adeon

hajar bray 😀

Imam Riyadi

nanya lagi ah gan…ane dah buat sampe activity transaksi nih …mohon petunjuk dong kalo generate kode transaksi berdasarkan nomer urut + tanggal…gimana yah…?? hhehehe 🙂

imam

oke..masih blm solved gan …nanya lagi ah …hehehe…sorri ye gan kalo keseringan…gini ane punya 2 activity…login_act..dan welcome_act…..gini alurnya ..begitu login sukses kemudian buka welcome act…nah di welcome act itu ada label kodeorder yang tergenerate otomatis begitu login sukses…mohon pencerahan..udah utak atik dari pagi…hehehe..thx gan

Imam

Hhmm…kalo loginnya berbarengan sih mungkin bisa bentrok…apa pada saat insert data aja gitu gan…kalo menurut agan gimana enaknya..?? Mohon Pencerahannya gan…

Imam

Nah..iya gan…kalo ane tambahin button mulai order gimana..?? Jadi setelah login sukses – generate kode di welcome – button_click di activity welcome = insert data order..karena kan di db ane ada table order sama orderdetail….

Imam

Nah…itu dia gan…mohon pencerahan dah…bingung pas login sukses kemudian buka welcome langsung generate kode…hehehehe

imam

masih belum solved juga gan…bingung banget…ini kode jobdone di login activity

====trus ini fungsi getkode di welcome activity….

====gimana lagi yah gan..? help me please…:)

ianhade

Kalau untuk komponen kyk datepicker pake apa ya? boleh di sharekah?

Ali

gan. ga bias ada akses untuk download link datepicker

bisa dibantu ga gan?

Ali

thanks ya mas heru

david

gan kalo misalnya membuat dengan db sqlite, syntak no 2 ditaruh dimana ? dan apa tidak perlu foreign key ?

david

mas untuk poin 8 saya agak kurang paham, apa juga harus buat sub job done, atau “GetDataKategori” nya ditaruh di sub GetDataKategori

david

gan saya nemuin kendala (“Pada SubGetKategori keluar notice : parameter name cannot hide global variable name”), ss erornya saya upload di facebook

David

Mas, kalo saya juga mau munculin “field keterangan” ditambah apalagi ?, jadi ketika pilih kategori (ex: Elektronik —> nanti ada satu text box keisi keterangan di setiap kategori), Terimakasih

David

Mas kalo saya mau munculin “field keterangan” juga gimana caranya. Ex: Ketika memilih kategori “elektronik” —–> nanti ada textbox terisi dengan keterangan elektronik, Dan seterusnya (Setiap pilih kategori otomatis muncul keterangannya juga) Terimakasih

David

o iya mas saya juga mau tannya misalnya, kita mau masukin kategori lain (jadi ada dua tabel yang dipanggil), apa yang perlu ditambahkan, saya sudah coba menambah variabel “KategoriId2”, terus ikutin langkah diaatas tapi tetep ndak mau muncul untuk KategoriId2. Terimakasih

David

Mas kalo cara bikin sub kategori bagaimana ? misalnya spn1 pilih printer, kemudian spn 2 ilih jenis printer (dua-duanya pada satu tabel). Mohon pencerahan terimakasih

David

Mas waktu spinernya saya kelompokkan (ex: tampilkan kode berdasarkan komputer), ketika di save id spiner yang dipilih tidak sesuai kalo tidak di kelompokkan. (ex : waktu tidak dikelompokkan id komputer no=6 dan waktu dikelompokkan id komputer no=1) Ketika di save/dalam database

andi

ga ada link source nya

fikri

klo mau nambah file foto gimana min?

Show Buttons
Hide Buttons
34
0
Would love your thoughts, please comment.x
()
x