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:
Jika database MySQL sudah dibuat, maka insert-lah beberapa data. Misalnya seperti ini:
Lalu perhatikan langkah-langkah berikut ini…
- Pastikan Windows-nya sudah terinstal Java.
- Silakan download RDC Server-nya di sini. Kemudian ekstrak ke mana saja boleh.
- Buka config.properties. Lalu sesuaikan config database-nya, seperti JdbcUrl, User, Password. Untuk lainnya (sementara) abaikan saja.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#Lines starting with '#' are comments. #Backslash character at the end of line means that the command continues in the next line. DriverClass=com.mysql.jdbc.Driver JdbcUrl=jdbc:mysql://localhost/delheru-penjualan?characterEncoding=utf8 #SQL Server #DriverClass=net.sourceforge.jtds.jdbc.Driver #JdbcUrl=jdbc:jtds:sqlserver://<database server ip>/<database> User=root Password=1234 ServerPort=17178 #If Debug is true then this file will be reloaded on every query. #This is useful if you need to modify the queries. Debug=true #commands sql.select_barang=SELECT * FROM barang |
- Kemudian buka RunRLC.bat dengan text editor seperti Notepad++ atau Sublime Text. Sesuaikan path direktori java.exe pada Windows Anda.
- Untuk mengaktifkan atau menjalankan RDC-nya, klik dua kali pada RunRLC.bat. Maka, akan muncul seperti gambar di bawah ini:
- 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:
- Oke, sekarang buat project baru, lalu save dengan nama: MyConnectDB.
- Lalu import Class Table dan DBRequestManager.
Cara import Class bisa lihat postingan ini.
- Buka Class Table. Kemudian tambahkan code berikut 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
'load data from a RDC Request 'Result = DBResult object got from a RDC request 'AutomaticWidths True > set the column widths automaticaly 'Written by LucasMs Public Sub LoadRDCResult(Result As DBResult, AutomaticWidths As Boolean) cAutomaticWidths = AutomaticWidths NumberOfColumns = Result.Columns.Size innerClearAll(NumberOfColumns) Dim Headers(NumberOfColumns) As String Dim ColumnWidths(NumberOfColumns) As Int Dim HeaderWidths(NumberOfColumns) As Int Dim DataWidths(NumberOfColumns) As Int Dim col, row As Int Dim str As String For col = 0 To NumberOfColumns - 1 Headers(col) = Result.Columns.GetKeyAt(col) If AutomaticWidths = False Then ColumnWidths(col) = 130dip HeaderWidths(col) = 130dip DataWidths(col) = 130dip Else HeaderWidths(col) = cvs.MeasureStringWidth(Headers(col), Typeface.DEFAULT, cTextSize) + 8dip + cLineWidth DataWidths(col) = 0 Dim FieldValue As Object For row = 0 To Result.Rows.Size - 1 Dim Record() As Object = Result.Rows.Get(row) FieldValue = Record(col) If FieldValue <> Null Then FieldValue = FieldValue Else FieldValue = "" End If If GetType(FieldValue) = "java.lang.String" Then DataWidths(col) = Max(DataWidths(col), cvs.MeasureStringWidth(str, Typeface.DEFAULT, cTextSize) + 150dip + cLineWidth) Else DataWidths(col) = Max(DataWidths(col), cvs.MeasureStringWidth(str, Typeface.DEFAULT, cTextSize) + 50dip + cLineWidth) End If Next ColumnWidths(col) = Max(HeaderWidths(col), DataWidths(col)) End If Next SetHeader(Headers) SetColumnsWidths(ColumnWidths) For Each Record() As Object In Result.Rows Dim R(NumberOfColumns) As String Dim FieldV As String For col = 0 To NumberOfColumns - 1 FieldV = Record(col) R(col) = FieldV Next AddRow(R) Next End Sub |
- Beralih ke Activity Main. Pada Sub Process_Globals dan Sub Globals deklarasikan object-object seperti di bawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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.0.100:17178" End Sub Sub Globals 'These global variables will be redeclared each time the activity is created. 'These variables can only be accessed from this module. Dim Table1 As Table Dim PnlTable As Panel End Sub |
- Pada event Activity_Create masukkan code berikut:
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 |
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 Panel. PnlTable.Initialize("") 'Tampilkan Panel di activity ini. Activity.AddView(PnlTable, 0,0,100%x,100%y) 'Initialize Table. 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) If FirstTime Then 'Initialize RDC-nya. reqManager.Initialize(Me, RDCServer) End If End Sub |
- Buat fungsi baru dengan nama GetDataBarang.
1 2 3 4 5 6 |
Sub GetDataBarang Dim cmd As DBCommand cmd.Initialize cmd.Name = "select_barang" reqManager.ExecuteQuery(cmd, 0, "select_barang") End Sub |
- Kemudian buat event Click untuk object menu SyncBarang seperti code di bawah ini:
1 2 3 4 |
Sub SyncBarang_Click() ProgressDialogShow2("Loading data from server. Please wait...", False) GetDataBarang End Sub |
- Setelah itu buat event JobDone. JobDone ini akan berjalan ketika proses komunikasi antara App Client (Android) dengan Web Server selesai.
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 ke dalam bentuk Table. Table1.LoadRDCResult(result, True) ProgressDialogHide End If End If Job.Release End Sub |
- Save, kemudian Run/Compile project ini dalam versi Release.
- Lalu lihat, apa yang terjadi…
Jika datanya ingin ditampilkan ke dalam ListView, silakan lihat postingan ini:
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.
brooo sukses selalu.
itu root bukannya saatnya kita install xampp ya.
kalo kita install xampp default tanpa password. passwordnyaa kosongin aja kan.
Thanks sudah berkunjung.
Iya bro, kalau gak ada password kosongin aja. Biasanya nama user defaultnya root.
Kalau bisa sekalian sama CRUD untuk Server
Thanks sudah berkunjung.
Oke, ditunggu saja. Insya Allah nanti akan saya buatkan tutorial CRUD menggunakan database MySQL di Basic4Android.
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
Thanks sudah berkunjung.
Saya asumsikan sudah ada table user ya. Di dalamnya ada field seperti username dan password misalnya.
1. Buat command baru di RDC config.properties-nya, misal:
2. Buat fungsi request data user-nya. Kirim parameter username dan password, misal:
3. Di JobDone…
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..
Di JobDone, saat login sukses coba pakai ini:
Di Record(x) sesuaikan aja index-nya. Di atas saya asumsikan nama user ada di index ke-1.
Atau bisa langsung tanpa looping. Kayak gini:
masih blm solved gan…coba liat kode punya ane nih..jobdone nya
Di activity welcome buat variabel string. Deklarisikan di Sub Process_Globals. Misal namanya: namaUser. Nanti variabel ini diisi waktu login sukses.
Nanti set label yang buat nampilin nama usernya di activity welcome pake variabel namaUser tadi. Misalnya kayak ini:
solved again…gan..trims..:)
gan cara mengetahui alamat IP Server RDC-nya? dimana ya
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 ?
klo untuk di button loginnya om gimana kode programnya??
Tinggal panggil fungsi GetUser di atas.
gan klo erory seperti ini java.sql.SQLException: Can not issue executeUpdate() for SELECTs
terimakasih sebelumy..
wah …trims banget gan …makasih atas tutornya …regards..:)
Ketika saya compile, saya tidak mempunyai Library : CompressedStreams
Tolong di Upload gan…
Oke, segera saya upload.
Ini: RandomAccessFile
bro tau caranya buat aplikasi android yang mengambil picture dari mysql gak bro?
Gambarnya disimpan di MySQL? Kalau itu belum pernah coba. Kalau saya biasanya cuma filename gambarnya aja yg disimpan di MySQL, sedangkan gambarnya disimpan di web server. Kalau mau diambil tinggal di-download pakai httputils.
selamat sore negh mas,bisa gak ditambahin lib yang kurang seperti ScrollView2D dan ByteConverter mungkin bisa dikirim ke email saya makasih
Ini mas:
ScrollView2D
ByteConverter
makasih banyak mas
Oke, sama-sama.
ada gak kode basic4android upload file dan download file
Insya Allah next post akan saya share caranya.
trima kasih
gan cara mengetahui alamat IP Server RDC-nya? dimana ya
Cek aja IP komputernya gan. Caranya bisa via CMD, ketik “ipconfig” lalu tekan Enter. Nanti akan muncul informasi IP komputernya.
gan saya ada contoh open blob di sqllite kodenya seperti ini :
kalau untuk kode RDCnya kira kira gmn ya makasih
Wah, saya belum pernah coba blob gan.
Gan Sorry nih, Buat dapet JDBC URl bagaimana ya?
Kalau database-nya pakai MySQL tinggal disesuaikan nama database-nya gan.
Tinggal ubah yg di-bold.
Thanks Gan
Thx banget gan, ilmunya bermanfaat banget….
Ditunggu artikel berikutnya….
Sama-sama gan. Thanks juga sudah berkunjung.
Pas dicoba running muncul error “Unknown type: scrollview2d”
Itu knp ya?
Diaktifkan (centang) dulu library ScrollView2D-nya.
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?
Itu device-nya gak konek ke server. Bisa jadi RDC-nya gak running, bisa jadi RDC-nya running tapi device gak konek ke RDC. Udah dicoba tes koneksi RDC seperti poin 6? Gimana responnya?
Bener bgt gan, ternyata device nya gk konek ke server setelah dicoba ping….thx bgt ya. Semoga terus bertambah ilmunya…..
Aamiin… Oke, sama2 gan.
Cara konek device ke server gmn gan?
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 🙂
Tinggal di-upload saja file-file RDC di atas (yang ada di folder RDC Server). Lalu jalankan seperti tutorial di atas, jika server-nya Windows.
Jika server-nya Linux (Ubuntu, Debian, dll) saya belum pernah coba.
httpjob lib nya ada ngak?
Itu pakai library HttpUtils2. Besok saya upload di sini.
Ini: HttpUtils2.
Oke Gan Makasi.. Ada Error disini
Error:org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:17178 refused
Gimana ya mahu masukkan librarynya?
C:\Users\user\Pictures\Clip_18.jpg
Gan kalau pakai SQL Server settingnya gimana ya?
mas rasid kalau tutorial ingin menghubungkan mysql yang ada di hosting itu bagaimana ya caranya ? yang perlu dirubah dibagian mana saja ?
Mas Tahta Laksana, jika server hosting-nya pakai windows, langkahnya sama seperti postingan ini. Jika pakai linux (ubuntu, dll) saya belum pernah coba. Tapi bisa juga untuk running RDC.
Ini tutorial menjalankan RDC di server ubuntu.
Mas mau tanya kalau projeknya udah di jadiin .apk dan di instal di smartphone gimna cara konekin ke database yg ada di pc
Di tutorial ini sudah saya jelaskan kok 🙂
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.
Itu karena port 80 udah ada yang pakai. Coba pakai port lain.
mas mau tanya kalau misalnya koneksinya kita buatkan layout sendiri, terus mengetahui bahwa sudah konek ke server ? mohon bantuannya
Acuan apakah aplikasinya konek ke server atau nggak, itu dari JobDone (poin 14).
Jika Job.Success = True, berarti aplikasinya konek ke server, kemudian tulis di label misal: label.text = “Connected”.
Jika Job.Success = False, berarti aplikasinya gak konek ke server, kemudian tulis di label misal: label.text = “Not Connected”.
Kalau mau real time cek koneksinya, atau dengan kata lain otomatis cek koneksinya. Harus dibuatkan service. Di dalam service-nya buatkan timer. Set timer-nya misal cek 1 menit sekali, hasil cek koneksinya tampilkan di layout yang dibuat.
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
Bisa. Di layout data barang buat JobDone juga seperti halnya di postingan ini.
bisa dicontohkan mas saya kurang paham, jadi JobDone ada dua dong ? satu buat koneksi dan satu buat GetDataBarang
Iya, buat JobDone di masing-masing Activity-nya.
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
Upload aja source code-nya, biar saya cek.
ni mas mohon bantuannya https://dl-web.dropbox.com/get/Tugas%20Akhir/APP%20Bardcode%20Mysql/APP%20Magang.rar?w=AABc0IkezWY4fEk-P5WD2nvi5ZCVhtZU1rdgEneMPcK2IQ&dl=1&_subject_uid=344098156
Gak bisa didownload, error 403.
coba yang ini http://www.mediafire.com/download/r7lnd0zelkxjt69/APP_Magang.rar
coba yang ini http://www.mediafire.com/download/r7lnd0zelkxjt69/APP_Magang.rar mohon bantuannya
Udah saya cek, di Activity Perangkat seharusnya pakai reqManager sendiri, jangan pakai punya Activity Koneksi.
Jadi seharusnya:
Bukan seperti ini:
Coba cek lagi di project postingan ini, cek Activity BarangView.
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…..
Coba dimatikan dulu firewall-nya mas.
ok…berhasil..jadi gimana nih.. apakah harus dimatikan terus ?
Kalau dinyalakan gak bisa diakses lagi ntar.
Atau ubah setting firewall-nya agar IP-nya bisa diakses dari komputer lain. Caranya bisa tanya ke mbahku google 😀
Activity.AddMenuItem(“Sync data Barang”,”SyncBarang”)
tidak muncul menu SyncBarang
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
Kalau dari data sqlite bisa otomatis, lebar kolomnya sesuai dengan panjang karakter datanya. Kalau dari data mysql seperti pada tutorial ini memang harus diset manual lebar kolomnya. Nanti jika saya menemukan cara agar bisa otomatis akan saya share di sini.
kalo komputernya mati / mysql nya sedang tidak aktif , apa masih bisa di akses di android ?
Terima Kasih
tidak bisa mas, harus aktif agar bisa diakses.
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?
Asal servernya udah online, bisa diakses dari mana saja. Dan tentunya di sisi android-nya juga harus konek internetnya.
Nice gan, sangat membantu
nice info,
gan, kalo misal kita buat aplikasi barcode scanner dengan data base yang terhubung dengan ms.access bisa tidak ya
Bisa, tapi saya belum pernah coba konek pakai database access.
kalau gitu saya tunggu artikel agan yang satu ini, nice blog 🙂
Mas yang poin 12 maksudnya apa : reqManager.ExecuteQuery(cmd, 0, “select_barang”) —> yang 0(nol) itu apa ya
Itu limit data yg mau ditarik. Kalau gak pake limit set 0.
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
Itu tanda tanyanya (?) akan dibaca string nanti.
Coba di config.properties begini:
Nanti waktu mengirim parameter di b4a:
src\b4a\example\dbrequestmanager.java:30: error: package anywheresoftware.b4a.agraham.byteconverter does not exist
public anywheresoftware.b4a.agraham.byteconverter.ByteConverter _bc = null;
itu kenapa ya gan ?
Library ByteConverter-nya belum ada. Coba cek komentar2 di atas, saya pernah share library ByteConverter.
solve gan
java.sql.SQLException: An attempt by a client to checkout a Connection has timed out.
itu kenapa ya gan?
Itu sepertinya jaringannya gak konek gan. Jadi gak konek RDC-nya.
mohon pencerahan…
untuk koneksi ke mysql yg dihosting gmn ya?
Kalau server hosting-nya pakai windows, langkahnya sama seperti postingan ini. Jika pakai linux (ubuntu, dll) saya belum pernah coba. Tapi bisa juga untuk running RDC.
mau nanya nih kang, kalo mau dihubungin database dari web server apa kita harus beli hosting dulu ? Makasih 😀
Kalau web server-nya mau diakses via internet ya harus punya server vps/hosting sendiri 😀
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)
Bukannya dulu udah pernah dibahas ya, yang dari mediafire itu.
Kalau udah login, menu loginnya dihilangin aja, biar gak bisa login lagi. Atau bisa diganti button/tulisan logout. Waktu logout ya tinggal ubah lagi ke tampilan loginnya.
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
om nanya dong , misal kalo kita ngisinya pas diandroid itu gimana ya source coudenya ? thanks om
Ini maksudnya gimana om? Ngisi datanya atau apanya? Kalau ngisi data kan tinggal ketik2 aja di EditText-nya 😀
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 🙂
Wah Java Android ya? Kalau itu saya kurang tau. Soalnya ini saya pakai Basic4android.
iya java android. yahhh kirain bisa 🙁 oke deh makasih yaa
Release muncul Error description : Unknown member : cellalignment
Table.CellAlignment = Bit.OR (Gravity.LEFT, Gravity.CENTER_VERTICAL)
Word : cellalignment…kenapa ya….??? terima kasih sebelumnya
Itu Class Table-nya belum ada berarti.
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….
Coba cek lagi RDCnya mas.sya jga pernah kay gtu.
jika RDC tidak di jalankan, maka dia tidak akan tampil.
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
Itu masalah di URL/IP server-nya mas. Bisa jadi belum diset. Pastikan IP server RDC-nya sudah diset dengan benar.
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
artikelnya bagus,
kalo untuk SQL server ada tutorialnya ga
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
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
itu pake library apa aja bro?
– ByteConverter
– Core
– HttpUtils2
– RandomAccessFile
– Reflection
– ScrollView2D
– SQL
– StringUtils
bagi library Reflection donk gan
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….
saya rasa emang gak support klo ada kolom tanggal didatabasenya ato gmna.? soalnya klo ganti database lain yg kolom2nya gak ada tanggal bisa ngeload.
Coba tengok ini: http://stackoverflow.com/questions/17195343/value-0000-00-00-can-not-be-represented-as-java-sql-date
solved gan.. trimakasih.. sukses selalu.. lain kali bakalan tanya lebih banyak. hehe
Sama-sama gan 🙂
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..
Hp-nya udah satu jaringan sama server-nya kah? Coba lognya tunjukin ke saya waktu login itu.
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
IP server-nya udah benar? Atau coba matikan dulu firewall.
ip server nya sih pake 10.0.2.2(localhost) karna di android, saya msh pake server local mas.
Jangan pakai localhost, pakai IP komputernya. Buka CMD, ketik ipconfig, cek bagian IPv4 Address. Pakai IP di situ. Sudah saya jelaskan di poin 10.
jadi yang di bagian dim rdcserver as string = “http://10.0.2.2:17178” di ganti dengan rdcserver as string = “http://ip komputer:17178”?
Iya, betul.
ip nya udah saya ganti dengan ip komputer dan firewall sudah saya off kan, tapi gk ada perubahan mas…
Kalau udah seperti yang saya sarankan di atas, seharusnya bisa running normal. Biar log-nya lengkap, coba pakai kabel USB buat compile-nya, jangan pakai b4a bridge. Biar jelas dimana letak kesalahannya.
bisa ya pakai usb? setau saya pakai bluetooth atau wifi mas, gmna cara nya mas?
Bisa, saya pakai USB mulu buat compile. Asal driver hp-nya udah terinstal di windows, pasti konek ke b4a. Jangan lupa nyalakan USB debugging-nya.
nanti secara otomais device nya bakal terdeteksi mas?
Iya
ok mas, saya coba dulu
sudah saya coba dengan usb, tpi tetap aja gk mau login, di log keluar tulisan error apace connection time out gtu… ada solusi mas?
Kalau dari erornya, si device gak mau konek ke server. Bisa jadi, IP-nya salah, bisa jadi kena blok firewall, bisa jadi emang gangguan jaringannya.
Coba panggil IP komputer servernya via browser di mobile. Bisa gak? Coba juga panggil dari komputer lain yg satu jaringan. Bisa gak?
ip komputer server nya gk bsa di panggil di browser hp nya mas
begini penampakan error nya mas, Error: org.apache.http.conn.ConnectTimeoutException: Connect to .. timed out
Berarti masalah jaringannya itu. Firewall udah mati? Atau coba di jaringan atau wifi yang lain.
firewall udah mati mas, jaringan gmna ya mas? secara kan percobaan nya cma pakai laptop sebagai server nya dan device dihubungkan dengan usb
Iya, jaringannya gak bisa diakses satu sama lain. Si device gak bisa akses (IP) si server. Kalau ada jaringan wifi yg lain, coba aja pakai jaringan wifi lain itu.
Gak bisa terima Orderan di aplikasi gojek karna status tidak aktif
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.
sore mas…
tanya dong mas. misal kalo kita mau akses database dari webserver / cpanel itu gmn ya mas?
Kak bantuii dong kak. Kerja tugas pake mysql
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.
Ini servernya gak konek. Pastikan xampp-nya running. Firewall-nya dimatikan dulu.
ude bisa mas kealahanya di pasword ya zh mkasih yo
mas, saya pakai ip publik akses ke database kantor, ga bisa sdh ganti port : 3306 juga ga bisa.
minta pencerahan dong…