Menampilkan Data MySQL ke Dalam ListView pada Basic4Android
|Sebelumnya saya sudah share bagaimana Cara Menghubungkan Aplikasi Android ke Database MySQL. Yang mana di dalamnya terdapat sebuah List Barang, yang menampilkan data barang dari database MySQL menggunakan Remote Database Connector (RDC). Di situ saya menggunakan Table untuk menampilkan datanya. Nah, pada postingan kali ini saya ingin share bagaimana cara menampilkan data barang tersebut dalam bentuk ListView.
Tutorial ini menggunakan file project ini.
Berikut ini adalah langkah-langkahnya…
- Buka folder RDC Server-nya.
- Kemudian buka config.properties. Ubah command sql.select_barang menjadi seperti di bawah ini:
1 2 |
#commands sql.select_barang=SELECT nama, FORMAT(harga,0), id FROM barang |
- Buka project MyConnectDB.
- Pada Acitivity Main, hapus semua object yang ada di dalam Sub Globals, lalu deklarasikan satu buah object ListView dengan nama: LvBarang.
1 2 3 4 5 |
Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Dim LvBarang As ListView End Sub |
- 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 |
Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: 'Set judul untuk activity ini. Activity.Title = "List Barang" 'Tambahkan menu. Activity.AddMenuItem("Sync data Barang","SyncBarang") 'Initialize ListView. LvBarang.Initialize("LvBarang") 'Tampilkan ListView di activity ini. Activity.AddView(LvBarang, 0,0,100%x,100%y) If FirstTime Then 'Initialize RDC-nya. reqManager.Initialize(Me, RDCServer) End If End Sub |
- Buka Class DBRequestManager. Lalu buat fungsi baru dengan nama: ExecuteListView.
1 2 3 4 5 6 7 8 9 10 11 |
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 |
- Kemudian pada event JobDone, ubah code yang sudah ada menjadi seperti berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub JobDone(Job As HttpJob) If Job.Success = False Then Log("Error: " & Job.ErrorMessage) ProgressDialogHide Else If Job.JobName = "DBRequest" Then Dim result As DBResult = reqManager.HandleJob(Job) 'Tampilkan data dari RDC ke dalam ListView. reqManager.ExecuteListView(result, LvBarang, True) ProgressDialogHide End If End If Job.Release End Sub |
- Save, kemudian Run/Compile project ini dalam versi Release.
- Lalu lihat, apa yang terjadi…
Oke, demikian cara menampilkan data dari database MySQL ke dalam ListView. Semoga bermanfaat. Dan tetap nantikan juga tutorial-tutorial menarik lainnya seputar Basic4Android. Happy Coding! 🙂
Silakan download source code lengkapnya di sini.
Saya download contoh project. database, tabel sudah saya samakan persis. kenapa masih tidak mau tampil ke listview ya? mohon bantuannya
Waktu running aplikasinya ada error? Kalau tidak ada error, bisa jadi RDC config-nya belum sesuai dengan di atas. Bisa saya lihat RDC config-nya?
RDC-nya harus sudah di-running ya.
saya test http://localhost:17178/?method=test >> OK tidak masalah.
saya running blank aja ga ada list di listview.
Trus saya coba if result.row.size>0 kalau ada data konfirmasi OK dan kalau tidak konfirmasi NO. Masalahnya loading data dari server ga berhenti-berhenti. ada solusi?
Kalau loading gak berhenti-berhenti, itu berarti gak bisa konek ke RDC-nya. Alamat IP RDC Server-nya udah diubah sesuai IP komputernya? Cara mengubahnya ada di poin 10 pada postingan ini.
————————————————————————————–
saya samakan persis nama database dan tabel. password server KOSONG.
C:UsersSigitDesktopRDC Server>”C:Program FilesJavajdk1.8.0_45binjava” –
Xmx256m -cp .;libs*;jdbc_driver* anywheresoftware.b4a.remotedatabase.RemoteSer
ver
B4A Remote Database Connecter (version 0.9)
loading: C:UsersSigitDesktopRDC Serverconfig.properties
2015-06-16 11:54:26.121:INFO::jetty-7.4.2.v20110526
2015-06-16 11:54:26.220:INFO::started o.e.j.s.ServletContextHandler{/,null}
Jun 16, 2015 11:54:26 AM com.mchange.v2.log.MLog
INFO: MLog clients using java 1.4+ standard logging.
Jun 16, 2015 11:54:28 AM com.mchange.v2.c3p0.C3P0Registry banner
INFO: Initializing c3p0-0.9.2.1 [built 20-March-2013 11:16:28 +0000; debug? true
; trace: 10]
2015-06-16 11:54:28.819:INFO::Started SelectChannelConnector@0.0.0.0:17178 START
ING
Alamat IP servernya udah disesuaikan mas?
hasil nya sama NIHIL atau loading ga berhenti.
Saya pakai WAMP 2.5 PHP 5.5
B4A versi 5, library nya juga sudah saya sesuaikan semua
Yang bikin mumet tu mas, ga ada konfirm error di B4A nya.
Jangan panggil pakai localhost. Panggil IP-nya aja. Kalau device-nya udah konek ke RDC, seharusnya bisa running normal itu. Buat memastikan konek nggaknya device ke server, coba panggil via browser device-nya: http://192.168.147.1:17178/?method=test
Lihat apa hasilnya?
Terus ubah config-nya kayak poin ke 2:
Kalau masih belom solved, coba kirim ke saya source code sama database-nya.
saya kirim nomor HP ke email ya mas. saya mau coba pakai XAMPP. kita lihat hasilnya. mohon bisa komunikasi ya WA atau LINE atau BB
Kalau masalah coding, mending di sini aja ya mas. Kasian jempol saya kalau lewat HP 😀 Dan juga diskusi ini biar bisa jadi referensi buat yang lainnya yang mengalami masalah yang sama.
Bagaimana udah solved?
Udah saya cek source code-nya mas. Kesalahannya: di RDC Config Mas Sigit nama database-nya masih pakai delheru-penjualan tuh. Belum diubah sesuai database yang dibuat oleh Mas Sigit.
Nama database-nya ‘coba’ ya? Berarti di RDC Config seharusnya seperti ini:
kalau mau ampilin di ListView pada Emulator, klo memang RDCnya jalan localhostnya gantai pakai 10.0.2.2 coba dulu 🙂
gan bisa minta contoh aplikasi get imei hp android gak yang ditampilkan di text makasih
Coba ini:
Jangan lupa aktifkan library Phone.
ane nanya lagi nih …moga2 di bantu…kalo listview nya di sertai gambar syntax nya gimana sih gan…mohon bantuannya yah 🙂
regards
Gambarnya dari local atau dari server nih?
gambarnya dari server gan biar bisa update gambar 🙂
Kalo saya biasanya download dulu gambar-gambar dari server-nya. Abis itu tampilin pakai: bisa ImageView atau juga bisa pakai Button yang di-looping.
Gan….handle activity resume sama activity pause gimana yah….soalnya kalo home button di tekan app nya keluar…kalo masuk app lagi langsung error…..butuh support nih…heheheh
Error-nya kayak gimana gan?
bos mau nanya kalau cara conect data dari android ke web server gimana ya? contoh nya saya bikin aplikasi delivery order gitu. jadi data yang dimasukin user gimana caranya bisa kesimpan ke database nya. dan database nya menggunakan apa sebaiknya?
Coba cek postingan saya yg ini:
Kolaborasi Basic4Android dan Yii PHP Framework (1)
Kolaborasi Basic4Android dan Yii PHP Framework (2)
Mas. Kalo sudah di tampilkan sperti itu. Bagaimana caranya jika di dipilih salah satu itemnya, kemudian muncul detail produknya. Saat listview, kode brg jangan ditampilkan, tapi nanti berguna untuk menampilkan detailnya. Bagaimana ya? terima kasih
Sudah pernah saya posting cara membuat CRUD-nya.
Coba cek postingan saya selanjutnya.
mas kalo di config properties bisa di buat banyak ga yg untuk databasenya???
Maksudnya gimana mas?
Kalau untuk bisa dipakai di lebih dari satu aplikasi dan database, maka itu bisa. Tinggal digandakan saja config-nya, lalu ubah ServerPort-nya.
B4A version: 5.02
Parsing code. (0.03s)
Compiling code. Error
Error compiling program.
Error description: Access to the path ‘D:\EMULATOR ANDROID\MyConnectDB\Objects\src\b4a\example’ is denied.
Occurred on line: 78
End Sub
knapa yah gan
B4A version: 5.02
Parsing code. (0.04s)
Compiling code. (0.02s)
Compiling layouts code. (0.00s)
Generating R file. (0.33s)
Compiling generated Java code. Error
javac 1.8.0_60
src\b4a\example\main.java:48: error: cannot find symbol
processBA.runHook(“oncreate”, this, null);
^
symbol: method runHook(String,main,)
location: variable processBA of type BA
1 error
mas klo mau merubah ukuran font listviewnya bagaimana ya mas?
Kalau ListView-nya dua baris:
Kalau ListView-nya satu baris:
Tinggal disesuaikan angkanya jika masih kurang besar atau kecil.
Thanks Gan . solved,
mau tanya lagi donk . perbadaan textsize menggunakan DPI dengan biasa apa ya mas ?
mas gmn caranya menampilkan di listview, gambar, harga dan stok??
Job Release
Javac 1.8.0_91
src\b4a\example\main.java:316: error: cannot access SubDelegator
_job._release( );
class file for anywheresoftware.b4a.BA$SubDelegator not found
1 error
Mohon solusi nya…terima kasih sebelumnya…
mas kalo listview masih kosong/belum ada inputan, bagaimana menampilkan pesan “Belum ada Data & Silakan lakukan inputan” (kondisi diletakkan di jobdone atau ??)
gan ane masi blm ngerti tentang RDC… itu tutornya kan buat server local atau run di laptop kita… nah kalo mau online internet pake server hosting gimana ya pake RDC nya? kan kalo saya pernah pake php, nah kalo RDC gimana ya gan? thanks 🙂
gan punya sy datanya ga masuk listview, klo sy cek ga masuk ke fungsi getdatabarang, mohon pencerahan
mas kalo loping table gimana ya,tolong dong
Cek di sini Mas:
http://www.alwaysdelheru.com/menampilkan-data-dalam-bentuk-tabel-di-basic4android/
Sub JobDone(Job As HttpJob)
ini apa mas? librarry kah atau bukan,soalnya di situ error nya
request sliding menu/menu navigasi min?
menampilkan dalam bentuk tabel dari database Mysql donk mas…
mas mau tanya, untuk membuat detail per item di listview gimana ya, contoh salah satu item listview di klik lalau muncul detail semua data yang ada atas item yg di klik tersebut, logikanya mungkin gini label1.text = listview.row(2)
ale, tolongkah code cara menambahkan button di listview
terimaksih.