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.

Share This!

Leave a Reply

182 Comments on "Cara Menghubungkan Aplikasi Android ke Database MySQL"

avatar
  Subscribe  
newest oldest most voted
Notify of
alie
Guest

brooo sukses selalu.

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

Anri P
Guest

Kalau bisa sekalian sama CRUD untuk Server

Imam Riyadi
Guest

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
Guest

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

Anri P
Guest

Ketika saya compile, saya tidak mempunyai Library : CompressedStreams

Tolong di Upload gan…

teguh
Guest

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

nur arief wicaksono
Guest

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

nur arief wicaksono
Guest

makasih banyak mas

nur arief wicaksono
Guest

ada gak kode basic4android upload file dan download file

nur arief wicaksono
Guest

trima kasih

Han
Guest

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

Nur Arief Wicaksono
Guest

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

kalau untuk kode RDCnya kira kira gmn ya makasih

muhamad nur arifin
Guest

Gan Sorry nih, Buat dapet JDBC URl bagaimana ya?

Muhamad nur arifin
Guest

Thanks Gan

ianhade
Guest

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

ridhwan
Guest

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

ianhade
Guest

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
Guest

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

Agung
Guest

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
Guest

httpjob lib nya ada ngak?

Sutono
Guest

Oke Gan Makasi.. Ada Error disini

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

Tyr
Guest

Gimana ya mahu masukkan librarynya?

Arun
Guest

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

Anjaya
Guest

Gan kalau pakai SQL Server settingnya gimana ya?

Tahta Laksana
Guest

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

khamdan
Guest

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

khairunnas
Guest

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
Guest

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

david
Guest

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
Guest

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

david
Guest

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
Guest
M Nur
Guest

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
Guest

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

M Nur
Guest

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

Donny
Guest

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
Guest

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

Hafidz
Guest

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
Guest

Nice gan, sangat membantu

bikangelektro
Guest

nice info,

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

bikangelektro
Guest

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

David
Guest

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

Bobby
Guest

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
Guest

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

Taruna
Guest

itu kenapa ya gan ?

Taruna
Guest

solve gan

rizal
Guest

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

Sukarno
Guest

mohon pencerahan…

untuk koneksi ke mysql yg dihosting gmn ya?

Mohammad Agustiar
Guest

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

David
Guest

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
Guest

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
Guest

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

dini
Guest

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
Guest

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

Rudi
Guest

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

Ryan
Guest

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
Guest

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

Ryan
Guest

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
Guest

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
Guest

artikelnya bagus,
kalo untuk SQL server ada tutorialnya ga

andri
Guest

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
Guest

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
Guest

itu pake library apa aja bro?

heri
Guest

bagi library Reflection donk gan

Angga
Guest

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
Guest

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
Guest

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

bimo
Guest

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
Guest

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
Guest

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

bimo
Guest

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
Guest

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

bimo
Guest

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

bimo
Guest

nanti secara otomais device nya bakal terdeteksi mas?

bimo
Guest

ok mas, saya coba dulu

bimo
Guest

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
Guest

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

bimo
Guest

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

bimo
Guest

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

Sanjanur
Guest

Gak bisa terima Orderan di aplikasi gojek karna status tidak aktif

Sonny
Guest

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
Guest

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

Ulfa
Guest

Kak bantuii dong kak. Kerja tugas pake mysql

amar
Guest

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
Guest

ude bisa mas kealahanya di pasword ya zh mkasih yo

heri
Guest

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