Jumpa lagi dengan Agus Haryanto dalam seri Tutorial Android. Sebelumnya terimakasih kepada para pembaca yang sudah merekomendasikan blog ini sebagai salah satu blog favorit untuk tutorial android. Tutorial Kali ini akan membahas tentang Android PHP dan MySQL.
Android oh android kau membuatku semakin ingin memaksimalkan kemampuanmu. Ku bertanya dalam hati apakah engkau dapat mengakses database yang ada diserver, kalau bisa alangkah indahnya, mungkin seindah pergi kepulau komodo walaupun aku sendiri belum pernah kesana :), tetapi aku dapat merasakan keindahannya melalui gambar-gambar diinternet. Wah maaf jadi ngelanturnih.
Antara Jakarta dan Pulau Komodo terbentang jarak yang luas, kita harus melewati daratan dan menyeberangi lautan. Tapi tenang sekarang sudah ada Pesawat Terbang, kita bisa cepat tiba disana
Begitu juga dengan Handset android dengan database server terbentang jarak yang luas bergantung dari letak server kita. Untuk yang satu ini juga tidak perlu khawatir karena ada jaringan internet yang bisa menghubungkan handset android dengan database diserver.
Yang pernah bergaul dengan Aplikasi web database. Tentunya tidak asing dengan PHP dan MySQL.
Yang suka ngeblog tahukan wordpress. WordPress dibangun dengan menggunakan PHP dan MySQL.
Mungkin ada yang tidak sadar dengan Browser yang ada dilaptop kita dapat terhubung ke database MySQL yang tersimpan pada server yang jaraknya jauh dengan kita, semua itu dapat terwujud karena adanya jaringan Internet.
Laptop dengan Handset Android adalah sama, yaitu client dari suatu server, yang berarti dari handset android kita bisa mengakses file PHP yang ada diserver.
Oke untuk praktek kita kali ini kita akan membuat daftar harga menu makanan, yang datanya diinputkan dari aplikasi android dan ditampilkan juga diaplikasi android tersebut.
Langkah pertama adalah siapkan database beserta tablenya.
CREATE DATABASE db_makanan; CREATE TABLE tbl_makanan ( id INT(4) NOT NULL AUTO_INCREMENT, nama_makanan VARCHAR(32) NOT NULL, harga INT(10) NOT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM; insert into tbl_makanan values(null,'ayam bakar',12000); insert into tbl_makanan values(null,'ayam goreng',11000); insert into tbl_makanan values( null,'ikan bakar',12000);
Oke karena aplikasi android kita ini nantinya bisa memiliki fitur :
- Tambah data makanan
- Menampilkan data makanan yang telah diinputkan.
Untuk itu kita perlu membuat file PHP untuk menerima data dari android untuk dimasukkan ke dalam database, simpan dengan nama addmakanan.php
<?php $nama = $_GET['nama']; $harga = $_GET['harga']; $link = mysql_connect('localhost', 'user', 'password') or die('Cannot connect to the DB'); mysql_select_db('db_makanan', $link) or die('Cannot select the DB'); /* grab the posts from the db */ $query = "insert into tbl_makanan (nama_makanan,harga) values('".$nama."',".$harga.")"; $result = mysql_query($query, $link) or die('Error query: '.$query); echo "SUCCESS"; ?>
Buat juga file php untuk menampilkan daftar makanan yang telah kita inputkan, simpan dengan nama daftarmakanan.php
<?php $link = mysql_connect('localhost', 'user', 'password') or die('Cannot connect to the DB'); mysql_select_db('db_makanan', $link) or die('Cannot select the DB'); /* grab the posts from the db */ $query = "SELECT nama_makanan, harga FROM tbl_makanan"; $result = mysql_query($query, $link) or die('Errorquery: '.$query); $rows = array(); while ($r = mysql_fetch_assoc($result)) { $rows[] = $r; } $data = "{makanan:".json_encode($rows)."}"; echo $data; ?>
Dari file di atas dapat dilihat bahwa server akan mengirimkan data ke client dalam bentuk JSON.
Untuk membuktikannya, mari kita coba dibrowser, dengan memasukkan address
http://localhost/android/daftarmakanan.php
Sekarang android time
1. Buat Project Baru dengan nama AndroidJSON
2. Mari kita Buat layout untuk Tambah Data, simpan dengan nama tambah.xml
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="Nama Makanan :" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtNama" android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText> <TextView android:text="Harga :" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtHarga" android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText> <Button android:text="Simpan" android:id="@+id/btnSimpan" android:layout_width="fill_parent" android:layout_height="wrap_content"></Button> </LinearLayout>
3.Buat juga Layout untuk menampilkan daftar harga makanan, simpan dengan nama daftarmakanan.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Baca Data Dari server dengan JSON" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Daftar Makanan" /> <TextView android:layout_width="fill_parent" android:id="@+id/TextViewResult" android:layout_height="wrap_content" android:text="Hasil JSON" /> </LinearLayout>
4. Sekararang Mari kita buat Menu dari aplikasi ini, yang didalamnya terdapat navigasi
untuk masuk ke Form Tambah,
ke Daftar Makanan dan keluar Aplikasi. Edit File MainActivity.java
package com.agus.android.php; /** * Class InsertActivity * @version 1.0 Dec 18, 2011 * @author Agus Haryanto (agus.superwriter@gmail.com) * @website http://agusharyanto.net */ import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); // Create an array of Strings, that will be put to our ListActivity String[] menu = new String[] { "Tambah Data", "Tampilkan Data", "Exit" }; // Create an ArrayAdapter, that will actually make the Strings above // appear in the ListView // Menset nilai array ke dalam list adapater sehingga data pada array // akan dimunculkan dalam list this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, menu)); } @Override /**method ini akan mengoveride method onListItemClick * yang ada pada class List Activity * method ini akan dipanggil apabilai ada salah satu item * dari list menu yang dipilih */ protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); // Get the item that was clicked Object o = this.getListAdapter().getItem(position); String pilihan = o.toString(); tampilkanPilihan(pilihan); } protected void tampilkanPilihan(String pilihan) { try { Intent i = null; if (pilihan.equals("Tambah Data")) { i = new Intent(this, InsertActivity.class); } else if (pilihan.equals("Tampilkan Data")) { i = new Intent(this, JSONActivity.class); } else if (pilihan.equals("Exit")) { finish(); } else { Toast.makeText(this,"Anda Memilih: " + pilihan + " , " + "Actionnya belum dibuat", Toast.LENGTH_LONG).show(); } startActivity(i); } catch (Exception e) { e.printStackTrace(); } } }
5. Sekarang Bagian Form Tambah Datanya, Buat Class baru dengan nama InsertActivity.java.
package com.agus.android.php; /** * Class InsertActivity * @version 1.0 Dec 18, 2011 * @author Agus Haryanto (agus.superwriter@gmail.com) * @website http://agusharyanto.net */ import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class InsertActivity extends Activity { private EditText txtNama; private EditText txtHarga; private Button btnSimpan; // Seusuaikan url dengan nama domain yang anda gunakan private String url = "http://10.0.2.2/android/addmakanan.php"; /** * Method yang dipanggil pada saat aplikaasi dijalankan * */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tambah); txtNama = (EditText) findViewById(R.id.txtNama); txtHarga = (EditText) findViewById(R.id.txtHarga); btnSimpan = (Button) findViewById(R.id.btnSimpan); // daftarkan even onClick pada btnSimpan btnSimpan.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { try { // setiap parameter yang akan dikirim melalui http // harus encode agar // dapat terbaca dengan baik oleh server String nama = URLEncoder.encode(txtNama.getText() .toString(), "utf-8"); String harga = URLEncoder.encode(txtHarga.getText() .toString(), "utf-8"); url += "?nama=" + nama + "&harga=" + harga; getRequest(url); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } /** * Method untuk Mengirimkan data kes erver event by button login diklik * * @param view */ public void getRequest(String Url) { Toast.makeText(this, "Tambah Data " + Url + " ", Toast.LENGTH_SHORT) .show(); HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(url); try { HttpResponse response = client.execute(request); Toast.makeText(this, "Tambah Data " + request(response) + " ", Toast.LENGTH_SHORT).show(); } catch (Exception ex) { Toast.makeText(this, "Tambah Data Gagal !", Toast.LENGTH_SHORT) .show(); } } /** * Method untuk Menenrima data dari server * * @param response * @return */ public static String request(HttpResponse response) { String result = ""; try { InputStream in = response.getEntity().getContent(); BufferedReader reader = new BufferedReader( new InputStreamReader(in)); StringBuilder str = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { str.append(line + "\n"); } in.close(); result = str.toString(); } catch (Exception ex) { result = "Error"; } return result; } }
6. Waktunya kita buat Class untuk menampilkan data dari server dalam bentuk JSON,
buat class baru dengan nama JSONActivity.java
package com.agus.android.php; /** * Class JSONActivity * @version 1.0 Dec 18, 2011 * @author Agus Haryanto (agus.superwriter@gmail.com) * @website http://agusharyanto.net */ import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; public class JSONActivity extends Activity { private JSONObject jObject; private String xResult =""; //Seusuaikan url dengan nama domain yang anda gunakan private String url = "http://10.0.2.2/android/daftarmakanan.php"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.daftarmakanan); TextView txtResult = (TextView)findViewById(R.id.TextViewResult); xResult = getRequest(url); try { parse(txtResult); } catch (Exception e) { e.printStackTrace(); } } private void parse(TextView txtResult) throws Exception { jObject = new JSONObject(xResult); JSONArray menuitemArray = jObject.getJSONArray("makanan"); String sret=""; for (int i = 0; i < menuitemArray.length(); i++) { sret +=menuitemArray.getJSONObject(i) .getString("nama_makanan").toString()+" : "; System.out.println(menuitemArray.getJSONObject(i) .getString("nama_makanan").toString()); System.out.println(menuitemArray.getJSONObject(i).getString( "harga").toString()); sret +=menuitemArray.getJSONObject(i).getString( "harga").toString()+"\n"; } txtResult.setText(sret); } /** * Method untuk Mengirimkan data kes erver * event by button login diklik * * @param view */ public String getRequest(String Url){ String sret=""; HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(Url); try{ HttpResponse response = client.execute(request); sret =request(response); }catch(Exception ex){ Toast.makeText(this,"Gagal "+sret, Toast.LENGTH_SHORT).show(); } return sret; } /** * Method untuk Menenrima data dari server * @param response * @return */ public static String request(HttpResponse response){ String result = ""; try{ InputStream in = response.getEntity().getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder str = new StringBuilder(); String line = null; while((line = reader.readLine()) != null){ str.append(line + "\n"); } in.close(); result = str.toString(); }catch(Exception ex){ result = "Error"; } return result; } }
7. Edit file AndroidMainifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.agus.android.php" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".InsertActivity" android:label="Tambah Data"> </activity> <activity android:name="JSONActivity" android:label="Daftar Makanan"> </activity> </application> <uses-permission android:name="android.permission.INTERNET"> </uses-permission> </manifest>
8. Semua pekerjaan koding sudah kita lakukan sekarang saatnya Running Time
Sentuh Tampilkan data, Wow amazing data yang ada didatabase MySQL dapat tampil diandroid. Android memang joss.
Sentuh Tambah Data, Lalu isikan data sebagai beriku
Untuk Menyimpan Data Sentuk Tombol Simpan, Jika data yang disimpan berhasil
akan muncul Toast “Tambah Data SUCCESS”
Kembali ke menu lalu Sentuh Tampilkan Data
Alhamdulillah, Data yang kusimpan ternyata berhasil tersimpan di database MySQL
Tutorial ini khusus saya buat untuk para pembaca blog agusharyanto.net yang banyak menanyakan
bagaimana mengakses atau membaca data yang berada diserver dalam hal ini MySQL.
Tetaplah semangat adik-adik mahasiswaku, untuk belajar pemrograman janganlah mudah menyerah,
terus coba dan coba. Dengan sendirinya nanti engkau akan merasa bahwa koding itu nikmat.
Bahkan lebih nikmat dari main Game. Masak sih kak, Coba mari berfikir sejenak.
Pada saat kita koding dan saat bermain game sama-sama enaknya.
Perbedaanya adalah hasil dari kegiatan tersebut, mari kita renungkan beberapa pertanyaan dibawah ini :
- Apa hasil dari main game ?
- Apa hasil dari koding ?
- Kira-kira kalau melamar pekerjaan yang akan diterima yang jago main game atau yang jago koding,
atau yang jago bikin game ? - Bunda kita tercinta lebih bahagia mana, melihat anaknya menghabiskan waktu untuk main game atau
melihat anaknya menghabiskan waktu untuk koding ?. Jadi ingat waktu ngisi Seminar Android di
Universitas Budi Luhur, saya sampaikan tunjukkanlah pada orang tua kita, bahwa pengorbanan mereka
membiayai kita kuliah tidaklah sia-sia. Coba deh kita buat aplikasi sederhana dengan Android,
lalu kita tunjukkan kepada orang tua kita, perhatikanlah Expresi Wajah mereka. - Tidakkah kau ingin menjadi seorang sumber informasi, dimana jika ada tugs kuliah
yang ada hubungannya dengan koding, maka teman-temanmu akan bertanya kepadamu ?
Saya sendiri bukanlah orang yang anti game. Sesekali juga main game :).
Tapi hendaklah gunakanlah waktu dengan sebaik-baiknya. Yang sedang duduk dibangku kuliah,
bayangkan saat kita lulus, siapkah kita masuk kedunia kerja atau siapkah kita menjadi entrepreneur.
Boleh jadi jawabannya akan bergantung pada yang kita lakukan saat ini
Semoga Bermanfaat
Salam hangat
Agus Haryanto
referensi:
http://developer.andorid.com
http://about-android.blogspot.com/2010/03/androind-json-parser.html
makasi mas udah share tutornya 🙂
saya coba dulu mas .hehe
tutorialnya bagus 🙂
tutorial ini akan saya gabung dengan tutorial googlemap untuk menampilkan data-data marking icon di googlemap yg tersimpan di mysql. Nice work bro..
mantep mas,, thanks atas tutorialnya….. lnsung akan saya coba,, 🙂
Mantap mas…setelah 1 minggu muter2 akhirnya ketemu juga tutorial android to mysql yang paling saya mengerti dan BERHASIL
makasih banyak kk
sangat bermanfaat mas, terimakasi banyak buat tutorialnya.
semoga mas agus sering2 buat tutorial, untuk mencerdaskan anak bangsa. 🙂
Jazakallah
makasih mas ilmu ny sangat berguna,,
thanks gan
very help me
lok bisa kasik link download programnya
Mas, waktu aku run trus pilih menu tampil data kok error android.os.networkonmainthreadexception ya?
itu kenapa?
@dhea, apakah sudah coba dari browser ?. Mungkin service apachenya mati
mas..kenapa tombol tambah data tidak bisa…tetapi tombol tampilkan data udah berhasil dari database
mas,,sya mau tnya
qo sya coba sourcecode d ats da yg error d InsertActivity.java
” super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtNama = (EditText) findViewById(R.id.txtNama);
txtHarga = (EditText) findViewById(R.id.txtHarga);
btnSimpan = (Button) findViewById(R.id.btnSimpan);
errornya (R.id.txtNama s/d btnSimpan) padahal id d mainnya udh sama
knp y mas???
makasi sblmnya .
@fauziah, yakin itu buatnya di “main.xml” bukan di “tambah.xml”. kalau ikut source disinii harusnya xmlnya menggunakan “tambah.xml”
klo d ats kan tambah.xml mas,, nah klo d layout aku tetep main.xml jd nmanya ngg aku gnti
itu main kan otomatis,,aku gtw caranya rubah nmanya..hehehe
mas . ada ga fungsi update buat edit dan delete data di database. 🙂
terima kasih.
untuk sintaks SQL dan file php dibuatnya dmana?
http://localhost/android/daftarmakanan.php g bisa jalan d browser?
Seusuaikan url dengan nama domain yang anda gunakan, dengan nama yg d script atau sesuai kita?
mas mw nanya klo tutor cara membuat aplikasi friend finder dan source codenya ada ga ya?
thanks
g konek trz mas k’sql’ny…
file php’ny ud jalan kecuali addmakanan.php
@joni, sudah ikuti sama persis seperti yang ditutorial ?
Halo pak. Saya mau tanya. Kalau sudah beres terus saya mau di install di android saya gimana? Maklum pak baru belajar 🙂 .. trmksih.
terima kasih atas tutorialnya mas. sangat berguna nih buat saya.
mz,,ne kan sql sy pke posgree sya ganti pke posgre gmn ya mz caranya,,,mhon ptunjukknyaa
pak tolong minta file yg udh jadi ya pak biar bisa didonlod ,dan dipelajari ,,sya coba tutor ya error mulu/
makasi bang, artikel2 di sini sangat membantu bagi saya khususnya kaum awam yang baru mau belajar tentang android..
bang, bisa nggak kasi tutorial tentang menggunakan webservice dengan android,, misalnya REST web service..:D
thnks.gb
terima kasih pencerahannya bang kita tunggu tutorial android yg lain
mas klo yang mengakses data dari sqlte gimana mas…mohon pencerahan…
Mas Agus, tutorialnya mantab. semoga mnejadi amalan yang penuh barokah. jazakallahu katsiron. MAs, mau tanya?. apakah cara di atas dapat diterapkan pada kasus REST, di mana andorid sebagai clientya?.
mas agus, tutorialnya di update dong, lagi butuh ilmunya mas agus nih, hehe
mas tq tutornya… aku cobaa.. sama kyk fauziah… ERornya di insertaktivity.java
txtNama = (EditText) findViewById(R.id.txtNama);
txtHarga = (EditText) findViewById(R.id.txtHarga);
btnSimpan = (Button) findViewById(R.id.btnSimpan);
dan di Jsonaktivity.java
di TextView txtResult = (TextView)findViewById(R.id.TextViewResult);
mohon bantuannya ya mas…
Misi mas..Tutorial nya keren banget nih..tapi kalo boleh usul kapan2 bikin tutorial yg pakai HTML5 + PHP + sqlite + phonegap dong…soalnya klo make java + xml saya masih 0 besar…klo html masih lebih menguasai..tq
thx banget mas agus… and akhir katanya., kena banget di ane mas.. hikx.. jadi sedih.. bener juga… huft
ini pake software apa ya
mas ane kan pemula ni.. mw tanya yg dibutuhin buat koding program diandroid apa aja ya selain apache dan mysql ? khususnya di tutorial ini..makasih tutorialnya
kak nanti klo aplikasinya mw di masukin hp mysqlnya gmn?
@masgan aplikasi tetap dihp, mysqlnya install diserver
@petroson, Coba cek tutorial android pada blog ini, sudah adakok yang membahasa tentang persiapan develop aplikasi android
@dini, Coba cek tutorial persiapan develop aplikasi android
mas klo nampilin data dari mysql ke list view caranya gmn ya?
makasih sebelumnya
url += “?nama=” + nama + “&harga=” + harga;
fungsi perintah tersebut untuk apa?
pak agus, saya mau tanya nih,
semua coding udah selesai di paste dan sukses, url udah saya ganti jadi http://localhost/android/addmakanan.php , yg saya mau tanya.
1. kok saya bisa gagal koneksi ? segala macam yg berhubungan dg database di mysql udah benar, tetapi waktu mau simpan data nggak bisa?
2. pada bagian url , apa harus pake url yang udah di hosting?
makasi sebelumnya 😀
Thanx…artikelnya sangat bermanfaat…
pak saya mau tanya
private String url = “http://10.0.2.2/android/daftarmakanan.php”;
10.0.2.2 itu apa ya pak??
apakah IP??
saya dah coba tutorial ini dan berhasil, makasih pak 🙂
terus kalo datanya mau ditampilin ke Listview gmn pak?
mas sori mau nanya, saya lagi mau buat program di atas tp ada yang saya bingung dengan step nya..
itu setelah buat database dan php nya, harus kita masukin ke web server gimana ya caranya?
lalu apakah setelah kita instal mysql ke server, baru kita dapet ip localhost yang gunanya buat ngeganti coding yg ini ?
private String xResult =””;
//Seusuaikan url dengan nama domain yang anda gunakan
private String url = “http://10.0.2.2/android/daftarmakanan.php”;
sori kalo pertanyaannya newbie, soalnya belom pernah pake mysql buat di server, biasanya buat di vb.net langsung hehe
pak klo nyambungin android ke db oracle, ada tutorialnya pak..???
klo ada, mohon dishare pak……
mas gini, saya udah coba ketik ulang, dan copas juga :D. Cuma tetep masalahnya itu ID nya tidak terbaca atau ada garis merah di bawahnya jadi aplikasi blum bisa di runningkan… berikut screenshoot dari errornya, kira2 apanya ya yang salah? Apa mungkin eclipse saya yang error atau bagaimana mas? mohon pencerahannya. hatur nuhun sebelumnya 😀
Screenshoot 1. https://lh5.googleusercontent.com/-WWdXunyassE/TzJcEb7lWnI/AAAAAAAAAko/pFKx7pyofyI/s916/ask2.jpg
Screenshoot 2. https://lh5.googleusercontent.com/-hkpc5LHt4Cw/TzJcDe0BaXI/AAAAAAAAAkg/03XF2QE_RaA/s798/ask1.jpg
mas kalo mau filter tampil databasenya gimana caranya. misal mau nampilin harga yang 12000. need help mas 🙂
maaf pak, untuk yg daftarmakanan.php bisa ditampilkan lewat browser biasa (Firefox)..
namun saat menu Tampilkan Data dipilih, hasilnya tetap bertuliskan ‘Hasil JSON’…
padahal codingnya udah sama…
Kira-kira di bagian mana kesalahannya pak??
gan
saya suda ikutin sama persis sama yg di tutornya…
tapi masi ada error di class InsertActivity.java
pada bagian [ public void onClick(View v) { ]
mohon pncerahannya gan ??