Cara Membuat Form Pencarian Data di Basic4Android
|Salah satu kelebihan dari sebuah aplikasi yang terkomputerisasi baik yang berbasis desktop, web, maupun mobile (android), yaitu bisa melakukan proses pencarian data. Tak peduli berapa banyak data tersebut ada, bisa ditemukan dalam sekejap dengan proses pencarian itu. Maka dari itu, rasanya kurang afdol jika dalam suatu aplikasi tidak terdapat fitur pencarian datanya. Oke, kali ini saya akan share bagaimana cara membuat form pencarian pada aplikasi android yang sebelumnya sudah dibuat menggunakan Basic4Android.
Tutorial ini menggunakan file project ini.
Oke, berikut ini langkah-langkahnya…
- Buka project MyLogin.
- Lalu buka Activity BarangList. Pada Sub Globals, deklarasikan dua buah variabel lagi yang berupa object EditText, dengan nama: EdtSearch. Dan object Phone, dengan nama: Ph. Lengkapnya bisa dilihat code berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. 'ListView untuk menampilkan daftar barang Dim LvBarang As ListView 'Button untuk membuat barang baru Dim BtnCreate As Button Dim Table1 As Table Dim PnlTable As Panel 'EditText untuk pencarian Dim EdtSearch As EditText Dim Ph As Phone End Sub |
Perlu diketahui bahwa untuk menggunakan object Phone diperlukan sebuah library Phone.
- Kemudian pada event Activity_Create ubah code yang sudah ada menjadi seperti ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: 'Activity.LoadLayout("Layout1") 'Set judul untuk activity ini. Activity.Title = "List Barang" 'Initialize ListView-nya. 'LvBarang.Initialize("LvBarang") PnlTable.Initialize("") 'Initialize Button-nya. BtnCreate.Initialize("BtnCreate") 'Set text untuk Button. BtnCreate.Text = "Create Barang" 'Initialize Table PnlTable.Color = Colors.LightGray Table1.Initialize(Me, "Table1", 4, Gravity.CENTER_HORIZONTAL, True) Table1.CellAlignment = Bit.OR(Gravity.LEFT, Gravity.CENTER_VERTICAL) Table1.HeaderColor = Colors.Blue Table1.HeaderTextColor = Colors.Yellow Table1.TextColor = Colors.Blue Table1.TableColor = Colors.Red Table1.AddToActivity(PnlTable, 0, 0, PnlTable.Width, PnlTable.Height) 'Initialize EditText untuk searching... EdtSearch.Initialize("EdtSearch") EdtSearch.Hint = "Search" EdtSearch.Wrap = False EdtSearch.SingleLine = True 'Tampilkan EditText di activity ini. Activity.AddView(EdtSearch, 2%x,0,97%x,10%y) 'Tampilkan Panel di activity ini. Activity.AddView(PnlTable, 0,10%y,100%x,75%y) 'Tampilkan Button di activity ini. Activity.AddView(BtnCreate, 0,85%y,100%x,15%y) End Sub |
- Masih di Activity BarangList, buat fungsi baru dengan nama SearchTableBarang. Lalu masukkan code berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub SearchTableBarang 'Tampilkan progress dialog. ProgressDialogShow2("Loading data . . .", False) Dim Query As String Table1.ClearAll 'Select data barang sesuai dengan yang diketikkan pada form pencarian (EdtSearch). Query = "SELECT * FROM " & Main.BarangTable & " WHERE nama LIKE '%" & EdtSearch.Text & "%' " Table1.LoadSQLiteDB(Main.SQL, Query, True) 'Tutup progress dialog-nya. ProgressDialogHide 'Setelah proses pencarian selesai, kosongkan kembali form pencariannya. EdtSearch.Text = "" End Sub |
- Kemudian buat fungsi event EnterPressed pada EdtSearch. Oke, silakan dibuat seperti code di bawah ini:
1 2 3 4 5 6 7 |
Sub EdtSearch_EnterPressed 'Saat tombol ENTER/DONE ditekan... 'Panggil fungsi untuk mencari data barang. SearchTableBarang 'Tutup keyboard. Ph.HideKeyboard(Activity) End Sub |
- Save, kemudian Run/Compile project ini dalam versi Release.
- Lalu lihat, apa yang terjadi…
Oke, demikian cara membuat form pencarian data pada aplikasi android yang dibuat menggunakan Basic4Android. Bagaimana, mudah bukan? 🙂
Silakan download source code lengkapnya di sini.
terima kasih tutornya mas.
Oke sip.
Om Chairruddin Arrasid. Numpang tanya kok setelah saya coba muncul pesan “An error has occurred in sub:baranglist_activity_create(java line:353) Java.lang.nullpointerException: Attempt to read from field ‘int android.view.viewgroup $layoutparams.width’ on a null object reference. Mohon bantuannya. Thx
Om Chairruddin Arrasid. Numpang tanya kok setelah saya coba muncul pesan “An error has occurred in sub:baranglist_activity_create(java line:353) Java.lang.nullpointerException: Attempt to read from field ‘int android.view.viewgroup $layoutparams.width’ on a null object reference. Mohon bantuannya. Thx
mas, kalo dibuatnnya, dengan database mysql, untuk rdc servernya ditambahkan sql pencarian ?, dan di koding layout juga ditambahkan seperti itu ?
Konsepnya sama kayak yg ini. Di RDC tambahin query buat searching-nya, query-nya mirip kayak poin 4 di atas. Waktu button search diklik, kirim juga parameter kata yg dicari.
Mas heru mohon dibantu yaa untuk pencerahannya
coding di B4A Sub SearchTablemobil
‘Tampilkan progress dialog.
ProgressDialogShow2(“Loading data from server… Please wait!”, False)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = “select_mobil1”
cmd.Parameters = Array As Object(EdtSearch.Text)
reqManager.ExecuteQuery(cmd, 0, “select_mobil1”)
‘Tutup progress dialog-nya.
ProgressDialogHide
‘Setelah proses pencarian selesai, kosongkan kembali form pencariannya.
EdtSearch.Text = “”
End Sub
Sub EdtSearch_EnterPressed
‘Saat tombol ENTER/DONE ditekan…
‘Panggil fungsi untuk mencari data barang.
SearchTablemobil
‘Tutup keyboard.
Ph.HideKeyboard(Activity)
End Sub
Kemarin pukul 20:29
Ali Macuz
pencarian data di list view via mysql
errornya : error occured on line 214( db request manager)
di db request manager
Kemarin pukul 20:35
Ali Macuz
Public Sub ExecuteListView(Table As DBResult, ListView1 As ListView, TwoLines As Boolean) ListView1.Clear
For row = 0 To Table.Rows.Size – 1
Dim Record() As Object = Table.Rows.Get(row)
If TwoLines Then
ListView1.AddTwoLines2(Record(0), Record(1), Record)
Else
ListView1.AddSingleLine2(Record(0), Record)
End If
Next
End Sub
Pencarian data di list view dengan mysql
Dear Mas Heru
Mohon bantuannya untuk pencarian data di List View bagaimana ya caranya ?
Di poin no. 4 ubah kayak ini kodenya:
Tinggal disesuaikan aja dengan kebutuhannya.
Mas, itu kan kalau pakai mysql.
gmn pencarian pakai RDC di listview?
mohon bantuannya mas,
Mohon gan pencarian menggunakan db mysql di table
Kalau konek ke mysql-nya pakai RDC, konsepnya sama kayak di postingan ini. Di RDC tambahin commands buat searching-nya, query-nya mirip kayak poin 4 di atas. Waktu button search diklik, kirim juga parameter kata yg dicari.
Lebih lanjut tentang RDC bisa cek post ini: http://www.alwaysdelheru.com/cara-menghubungkan-aplikasi-android-ke-database-mysql/
oia mas untuk sourcode login tu, username dan passwordnya ap???
trus mylogin.db jga gk ada mas?
Apa password loginnya mas???
username: heru
password 1234
projectnya error mas!
Error pertama :
An error occurred in sub:main_activity_create(java line:341)
Java.io.FileNotFoundException:mylogin.db
Error kedua ketika login:
An error occurred in sub,dbutils_executemap(java line:376)
itu kenapa mas???
mas gimana ya pencarian berdasarkan ID, ini kita lakukan berdasarkan pada saat kita klik listviewnya :
Sub LVFutsal_ItemClick (Position As Int, Value As
Jika di klik IDF-0001 makan ID akan terkirim ke activity lain dan langsung menampilkan semua kategori lapangan berdasarkan IDF-0001 tersebut.
Jadi disini ada 2 listview:
Listview 1 ada di activity 1 yang menampilkan smua data Futsal yang terdaftar.
Listview ke 2 pada activity 2 yang menampilkan jumlah lapangan berdasarkan dari ID di listview di activity pertama.
Mohon solusinya mas!!
lib Messagedigest missing..ada link nya ga boss..?
Mas Mau Tanya Kalo Pencarian dan Login Menggunakan Json Parse Gimana Mas?