Cara Menghubungkan Aplikasi Android ke Database MySQL

Dalam Basic4Android (B4A) ada banyak cara untuk menghubungkan App Client (Android) ke Remote Database Server seperti: MySQL, SQL Server, Oracle, Sybase, DB2, postgreSQL, Firebird dan lainnya. Salah satu caranya yaitu dengan bantuan Remote Database Connector (RDC).

Apa itu RDC? Yaitu sebuah middleware berupa Java web server yang memungkinkan kita dengan mudah untuk menghubungkan aplikasi android ke berbagai Remote Database Server. Jadi, dengan adanya RDC ini kita tidak perlu repot-repot membuat Web Server sendiri dengan PHP atau sejenisnya.

Oke, dalam postingan kali ini saya ingin share bagaimana caranya menghubungkan aplikasi android ke database MySQL.

Perlu diketahui dalam tutorial kali ini, saya menggunakan OS Windows 8.1 dan server MySQL menggunakan XAMPP.

Sebelum melangkah lebih jauh, terlebih dahulu buat database MySQL-nya, dengan nama (misal): delheru-penjualan. Lalu buatlah satu tabel dengan nama: barang. Dengan field-field sebagai berikut: 01-database-delheru-penjualan-barang

Jika database MySQL sudah dibuat, maka insert-lah beberapa data. Misalnya seperti ini: 08-insert-data

Lalu perhatikan langkah-langkah berikut ini…

  1. Pastikan Windows-nya sudah terinstal Java.
  2. Silakan download RDC Server-nya di sini. Kemudian ekstrak ke mana saja boleh. 07-ekstrak-rdc
  3. Buka config.properties. Lalu sesuaikan config database-nya, seperti JdbcUrl, User, Password. Untuk lainnya (sementara) abaikan saja.

  1. Kemudian buka RunRLC.bat dengan text editor seperti Notepad++ atau Sublime Text. Sesuaikan path direktori java.exe pada Windows Anda. 02-runrlc
  2. Untuk mengaktifkan atau menjalankan RDC-nya, klik dua kali pada RunRLC.bat. Maka, akan muncul seperti gambar di bawah ini: 03-runrlc
  3. Untuk memastikan lagi apakah RDC sudah running atau belum, bisa dicek dengan cara membuka: http://localhost:17178/?method=test di browser. Ganti localhost dengan IP Anda. Jika sudah running, maka akan muncul tulisan seperti pada gambar berikut: 04-runrlc
  4. Oke, sekarang buat project baru, lalu save dengan nama: MyConnectDB.
  5. Lalu import Class Table dan DBRequestManager.

Cara import Class bisa lihat postingan ini.

  1. Buka Class Table. Kemudian tambahkan code berikut ini:

  1. Beralih ke Activity Main. Pada Sub Process_Globals dan Sub Globals deklarasikan object-object seperti di bawah ini:

  1. Pada event Activity_Create masukkan code berikut:

  1. Buat fungsi baru dengan nama GetDataBarang.

  1. Kemudian buat event Click untuk object menu SyncBarang seperti code di bawah ini:

  1. Setelah itu buat event JobDone. JobDone ini akan berjalan ketika proses komunikasi antara App Client (Android) dengan Web Server selesai.

  1. Save, kemudian Run/Compile project ini dalam versi Release.
  2. Lalu lihat, apa yang terjadi… 05-list-barang06-list-barang

Jika datanya ingin ditampilkan ke dalam ListView, silakan lihat postingan ini:

Cara Menampilkan Data MySQL ke Dalam ListView

Oke, demikian cara menghubungkan aplikasi android ke database MySQL menggunakan RDC. Semoga bermanfaat. Dan tetap nantikan juga tutorial-tutorial menarik lainnya seputar Basic4Android. Happy Coding! 🙂

Silakan download source code lengkapnya di sini.

4 1 vote
Article Rating
Subscribe
Notify of
guest

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

197 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
alie

brooo sukses selalu.

itu root bukannya saatnya kita install xampp ya.
kalo kita install xampp default tanpa password. passwordnyaa kosongin aja kan.

Anri P

Kalau bisa sekalian sama CRUD untuk Server

Imam Riyadi

Termakasih atas tutorial nya gan …tapi mau tanya kalo untuk login memakai mysql gimana yah …? mohon petunjuk untuk GetUser sama Jobdonenya gan …ditunggu..Trims…regard

Imam Riyadi

oke ini solved gan …nah misal gan..login sukses..trus masuk activity welcome dan disitu ada label buat nampilin nama usernya…itu gimana yah gan…??..mohon pencerahan …hehehe thx gan..

imam

masih blm solved gan…coba liat kode punya ane nih..jobdone nya

imam

solved again…gan..trims..:)

Han

gan cara mengetahui alamat IP Server RDC-nya? dimana ya

David

mas kalo saya pakai tabhost, jadi ketika selesai login di tab satu muncul data user yang login, kemudian di tab 2 cuma id user yang login textbox. perlu ditambahin apa ?

erwino

klo untuk di button loginnya om gimana kode programnya??

yunus

gan klo erory seperti ini java.sql.SQLException: Can not issue executeUpdate() for SELECTs
terimakasih sebelumy..

Imam Riyadi

wah …trims banget gan …makasih atas tutornya …regards..:)

Anri P

Ketika saya compile, saya tidak mempunyai Library : CompressedStreams

Tolong di Upload gan…

teguh

bro tau caranya buat aplikasi android yang mengambil picture dari mysql gak bro?

nur arief wicaksono

selamat sore negh mas,bisa gak ditambahin lib yang kurang seperti ScrollView2D dan ByteConverter mungkin bisa dikirim ke email saya makasih

nur arief wicaksono

makasih banyak mas

nur arief wicaksono

ada gak kode basic4android upload file dan download file

nur arief wicaksono

trima kasih

Han

gan cara mengetahui alamat IP Server RDC-nya? dimana ya

Nur Arief Wicaksono

gan saya ada contoh open blob di sqllite kodenya seperti ini :

kalau untuk kode RDCnya kira kira gmn ya makasih

muhamad nur arifin

Gan Sorry nih, Buat dapet JDBC URl bagaimana ya?

Muhamad nur arifin

Thanks Gan

ianhade

Thx banget gan, ilmunya bermanfaat banget….
Ditunggu artikel berikutnya….

ridhwan

Pas dicoba running muncul error “Unknown type: scrollview2d”
Itu knp ya?

ianhade

pas di coba sync data barang datanya gk muncul, kemudian di log nya muncul pesan
“Error: org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.100.40:17178 refused
” knp ya?

ianhade

Bener bgt gan, ternyata device nya gk konek ke server setelah dicoba ping….thx bgt ya. Semoga terus bertambah ilmunya…..

tab

Cara konek device ke server gmn gan?

Agung

Terima kasih, saya mau tanya, kalau kelak disimpan di serer, apanya yang disimpan? Biasanya kan syntax php nya, kalau ini apa? Terima kasih ditunggu jawabannya om 🙂

Sutono

httpjob lib nya ada ngak?

Sutono

Oke Gan Makasi.. Ada Error disini

Error:org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:17178 refused

Tyr

Gimana ya mahu masukkan librarynya?

Arun

C:\Users\user\Pictures\Clip_18.jpg

Anjaya

Gan kalau pakai SQL Server settingnya gimana ya?

Tahta Laksana

mas rasid kalau tutorial ingin menghubungkan mysql yang ada di hosting itu bagaimana ya caranya ? yang perlu dirubah dibagian mana saja ?

khamdan

Mas mau tanya kalau projeknya udah di jadiin .apk dan di instal di smartphone gimna cara konekin ke database yg ada di pc

khairunnas

punya saya ketika RunRlc.bat nya dijalanin malah muncul gini gan

FAILED SelectChannelConnector@0.0.0.0:80 FAILED: java.net.BindException: Address already in use: bind

itu kenapa gan,
mohon pencerahannya.

david

mas mau tanya kalau misalnya koneksinya kita buatkan layout sendiri, terus mengetahui bahwa sudah konek ke server ? mohon bantuannya

david

sudah mas, dan untuk get data barang apakah bisa ditaruh pada layout data barang, jadi pisah dengan layout koneksi, karena sudah saya coba saat get data barang (poin 13) saya hilangkan, dia tidak connect, tapi jika seperti (poin 13) berhasil connect. tadi data barang tidak muncul di layout data barang

david

bisa dicontohkan mas saya kurang paham, jadi JobDone ada dua dong ? satu buat koneksi dan satu buat GetDataBarang

david

mas udah sukes tapi ada yg aneh, klo saya coba koneksi (sukses) dulu baru datanya muncul, tapi saat saya coba koneksi (gagal) dulu lalu saya koneksi (sukses), malah selalu ke layout koneksi, diketerangan resume, ketika memilih layout data barang selalu menuju layout koneksi

David
M Nur

Ass. Mas Chairruddin Arrasid, mau nanya nih…
Kalau buka: http://192.168.1.200:17178/?method=test komputer tempat RDC muncul
RemoteServer is running (Fri Feb 12 14:31:59 SGT 2016)
Connection successful.
Kalau pakai computer lain atau android tidak konek..
Apa penyebabnya ya…..

M Nur

ok…berhasil..jadi gimana nih.. apakah harus dimatikan terus ?

M Nur

Activity.AddMenuItem(“Sync data Barang”,”SyncBarang”)
tidak muncul menu SyncBarang

Donny

Mas. Numpang tanya. mengapa saya menampilkan data mysql ke dalam bentuk table. Lebar kolom nya tdk bisa otomatis berubah ya? Pdhal AutomaticWidths sudah di set true. Mohon Bantuannya. Thx

HasbiBasith

kalo komputernya mati / mysql nya sedang tidak aktif , apa masih bisa di akses di android ?
Terima Kasih

Hafidz

Kak, benar sih yang dikatakn kak HasbiBasith diatas.
disini yg ingin saya tanyakan apakah source yg diatas bisa digunakan saat kita online dari lokasi yg berbeda, contoh antar kecamatan atau kota?

IndraFA

Nice gan, sangat membantu

bikangelektro

nice info,

gan, kalo misal kita buat aplikasi barcode scanner dengan data base yang terhubung dengan ms.access bisa tidak ya

bikangelektro

kalau gitu saya tunggu artikel agan yang satu ini, nice blog 🙂

David

Mas yang poin 12 maksudnya apa : reqManager.ExecuteQuery(cmd, 0, “select_barang”) —> yang 0(nol) itu apa ya

Bobby

mohon maaf mas rasid, bisa tanya utk select where like itu syntak nya gmn ya jika akan jadi parameter? saya coba di config.property misal select* from item where nama like %”?”% lalu atau saya coba ‘%?%’ atau malah %?% semua ngga bisa muncul ya… mohon bantuannya.. terima kasih

Taruna

src\b4a\example\dbrequestmanager.java:30: error: package anywheresoftware.b4a.agraham.byteconverter does not exist
public anywheresoftware.b4a.agraham.byteconverter.ByteConverter _bc = null;

Taruna

itu kenapa ya gan ?

Taruna

solve gan

rizal

java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
itu kenapa ya gan?

Sukarno

mohon pencerahan…

untuk koneksi ke mysql yg dihosting gmn ya?

Mohammad Agustiar

mau nanya nih kang, kalo mau dihubungin database dari web server apa kita harus beli hosting dulu ? Makasih 😀

David

mas saya mau tanya, kenapa kalau akses ex: listview data_barang dahulu kemudian akses koneksi dan balik ke listview data_barang selalu tidak muncul datanya, tapi kalau akses koneksi kemudian ke listview data_barang normal (data muncul). Dan untuk login sesuai tutorial dibawah kenapa jika masuk dengan user 1, kemudian masuk dengan user 2. User 2 selalu ditolak (bagaimana cara logout user 1 terimakasih)

David

bisa tolong contohkan mas … 😀 , soalnya saya pakai seperti ini waktu log out / tombol kembali ditekan (etnama.text = “”), tapi waktu login tetep data ke 2 ditolak. Terimakasih

Budi

om nanya dong , misal kalo kita ngisinya pas diandroid itu gimana ya source coudenya ? thanks om

dini

sorry mau nanya, saya mau koneksiin database ke eclipse buat aplikasi elearning aja. jadi cuma narik materi sama gambar. ga perlu ada login. apa cara koneksiin nya sama kaya tutorial diatas? makasih sebelumnya 🙂

dini

iya java android. yahhh kirain bisa 🙁 oke deh makasih yaa

Rudi

Release muncul Error description : Unknown member : cellalignment
Table.CellAlignment = Bit.OR (Gravity.LEFT, Gravity.CENTER_VERTICAL)
Word : cellalignment…kenapa ya….??? terima kasih sebelumnya

Ryan

Mas Chairruddin…

Saya sudah coba seluruh panduan diatas… so far tidak ada masalah, tapi jika menu SyncBarang saya Click, hasilnya table tetap kosong, padahal data sudah saya isi persis seperti panduan….

Saya coba debug trace line/line… tidak muncul error…

Mohon pencerahannya…

Terima Kasih sebelumnya….

Flore

Coba cek lagi RDCnya mas.sya jga pernah kay gtu.
jika RDC tidak di jalankan, maka dia tidak akan tampil.

Ryan

Mas Chairrudin…

Maaf yang tadi setelah saya cek di log ternyata ada error

java.lang.IllegalArgumentException: Host name may not be null

Mohon pencerahannya.

Thanks
RAD

Floren

nah, itu kalau gk slah di di Cek dlu di RunRLC.
Sesuaikan dengan lokasi javanya.
kalau sya seperti dibawah ini.

“C:Program Files (x86)Javajdk1.8.0binjava” -Xmx256m -cp .;libs*;jdbc_driver* anywheresoftware.b4a.remotedatabase.RemoteServer
pause

ADE

artikelnya bagus,
kalo untuk SQL server ada tutorialnya ga

andri

Dim RDCServer As String = “http://192.168.0.100:17178”
192.168.0.100 itu diperoleh dari mana ya??
klo 17178 : port mysql yg sdh diseting sebelumnya

septian haryadi

Bro, itu kenapa reqManager saya merah ya?
emg sdkit saya ubah dr source kode nya.

Sub Process_Globals
‘These global variables will be declared once when the application starts.
‘These variables can be accessed from all modules.
Dim reqManager As DBRequestManager
‘Sesuaikan alamat IP Server RDC-nya
Dim RDCServer As String = “http://192.168.43.227:17178”
End Sub

bimo

itu pake library apa aja bro?

heri

bagi library Reflection donk gan

Angga

mas bro,, ini blog masih aktif kah komennya?
ane mau tanya.. itu diatas udah berhasil. nah giliran database di config.properties RDC ane ganti database lain kok eror ya,. ane cek di runRLC.bat kok cannot represented as java,sql.date at bla bla bla….

Angga

saya rasa emang gak support klo ada kolom tanggal didatabasenya ato gmna.? soalnya klo ganti database lain yg kolom2nya gak ada tanggal bisa ngeload.

Angga

solved gan.. trimakasih.. sukses selalu.. lain kali bakalan tanya lebih banyak. hehe

bimo

bro mau nnya lagi ni, kan saya ada tugas buat buku panduan, di sana ada form login nya, pake emulator semuanya jalan tanpa masalah, tapi pas mau nyoba pake hp dengan b4a bridge, saat proses login loading nya lama dan setelah itu gk ada masuk ke form selanjutnya,itu ngatasin nya gmna ya? terima kasih..

bimo

kondisi nya hp dan laptop nya sudah terhubung via hotspot hp.

di logcat kyk nya gk ada yg aneh,gini tulisan yg ada di log cat nya :
LogCat connected to : B4A – Bridge : MITO MITO A180
————- beginning of /dev/log/system
————- beginning of /dev/log/main
Installing file.
packageAdded : package:b4a.example

bimo

ip server nya sih pake 10.0.2.2(localhost) karna di android, saya msh pake server local mas.

bimo

jadi yang di bagian dim rdcserver as string = “http://10.0.2.2:17178” di ganti dengan rdcserver as string = “http://ip komputer:17178”?

bimo

ip nya udah saya ganti dengan ip komputer dan firewall sudah saya off kan, tapi gk ada perubahan mas…

bimo

bisa ya pakai usb? setau saya pakai bluetooth atau wifi mas, gmna cara nya mas?

bimo

nanti secara otomais device nya bakal terdeteksi mas?

bimo

ok mas, saya coba dulu

bimo

sudah saya coba dengan usb, tpi tetap aja gk mau login, di log keluar tulisan error apace connection time out gtu… ada solusi mas?

bimo

ip komputer server nya gk bsa di panggil di browser hp nya mas

bimo

begini penampakan error nya mas, Error: org.apache.http.conn.ConnectTimeoutException: Connect to .. timed out

bimo

firewall udah mati mas, jaringan gmna ya mas? secara kan percobaan nya cma pakai laptop sebagai server nya dan device dihubungkan dengan usb

Sanjanur

Gak bisa terima Orderan di aplikasi gojek karna status tidak aktif

Sonny

Saya ada buat aplikasi dengan android studio tetapi saya ada masalah ketika respond error konek ke server lama sekali.
bahkan sampai di klik trus oleh user keluar tunggu atau tutup.

Yang mau saya tanyakan cara supaya respond kalau gagal konek nya lebih cepat bgmn? Terima kasih.

heri

sore mas…
tanya dong mas. misal kalo kita mau akses database dari webserver / cpanel itu gmn ya mas?

Ulfa

Kak bantuii dong kak. Kerja tugas pake mysql

amar

solusinya gina gan

RemoteServer is running (Thu Jun 29 13:25:49 ICT 2017)
java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.

amar

ude bisa mas kealahanya di pasword ya zh mkasih yo

heri

mas, saya pakai ip publik akses ke database kantor, ga bisa sdh ganti port : 3306 juga ga bisa.
minta pencerahan dong…

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