Tutorial Android PHP dan MySQL

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 :

  1. Tambah data makanan
  2. 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 :

  1. Apa hasil dari main game ?
  2. Apa hasil dari koding ?
  3. Kira-kira kalau melamar pekerjaan yang akan diterima yang jago main game atau yang jago koding,
    atau yang jago bikin game ?
  4. 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.
  5. 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

269 comments to Tutorial Android PHP dan MySQL

  • zulkifli

    saya mau tanya nih, bagaimama kalau mengambil teks (string) dari satu web lalu kita parsing ke dalam map (googlemap), bisa tidak ??
    yg kedua bagaimana cara nya si server mengirim data string nya secara realtime (terus menerus) ke android (klien) ??
    mohon bantuan nya mas 🙂
    terima kasih 🙂

  • rzq

    mas…misalnya kita punya 5 edittext, trus mau dimasukin ke dlm 1 field di database gmana caranya ya?

  • taoffviekzt

    makasih mas
    tutorialnya berguna sekali
    🙂

  • Agus Haryanto

    @rzka, tinggal baca satu poersatu edit textnya lalu di concat hasil dari concatnya yang dikirim untuk disimpan ke database

  • henri

    mas minta bantuannya buat contoh menyimpan data dari mysql php ke database android sqlite mas,
    maksudnya umpanya ada nama-nama makan di server mysql kemudian semua nama itu mau kita download semua data itu disimpan di sqllite androidnya mas,mohon bantuannya mas

  • April

    permisii…
    mau tanya dong pak..
    saya sudah mengikuti semua step di atas..
    udah bisa di run di emulator..tapi nggak tampil data-datanya..
    terus pas coba yang pertama kali buka http://localhost/android/daftarmakanan.php
    dia muncul ini : Object not found!

    nah solusinya bagaimana ya pak?
    terima kasih 🙂

  • siiip mantap tutorialnya.. ane coba ah kapan2
    thank u very much

  • Joko

    bang mau tanya
    di
    JSONArray menuitemArray = jObject.getJSONArray(“makanan”);
    ini kan ambil dr php ini
    $data = “{makanan:”.json_encode($rows).”}”;
    echo $data;

    saya binggung makanan saya ganti semua kok

    $query = “SELECT nama_makanan, harga FROM tbl_makanan”;
    $result = mysql_query($query, $link) or die(‘Errorquery: ‘.$query);

    while ($data = mysql_fetch_array($result)) //mysql_fetch_array = get the query data into array
    {
    echo “”;
    echo ”

    “.$data[‘id’].”
    “.$data[‘nama_makanan’].”
    “.$data[‘harga’].”

    “;
    }
    echo “”;

    g tampil datanya…
    decalarasi variable x dmn y mas??

  • Bagus

    Bang …masalah saya juga mirip sama joko
    udah saya ganti jseon menjadi
    while ($data = mysql_fetch_array($result)) //mysql_fetch_array = get the query data into array
    {
    echo “”;
    echo ”

    “.$data[‘id’].”
    “.$data[‘nama_makanan’].”
    “.$data[‘harga’].”

    “;
    }
    , dilocalhostnya sukses dan tampil,
    tapi ko belum tampil ya di androidnya…
    tolong bantuannya yang bang….
    thanks

  • erix

    mas, kalau untuk json delete nya gmn mas? jadi data yang udah kita tambah ke sql dan tampil ke list nanti bisa dihapus juga. trims

  • wih, mas agus sekarang dah master programming nih 😀 greet to master 😀

  • mas saya pake android v 4.1

    klo pake android v.4.1 di eclipsenya ada yg harus di ubah ga codingannya?, karena pnya saya ga muncul data dari web, tulisannya gagal terus

  • Vin

    mau nanya ne mas agus.. saya sudah coba tutorialnya. saya tes jalanin di web file php nya 2 2nya jalan.. pas saya coba di emulator, ga jalan.. pas saya coba debug, keluar waktu getrequest(url) nya, ada error, tulisannya “connect to http://localhost refused”, itu kira2 kenapa ya?

    thx..

  • ivan

    saya mau tanya nih bang, gimana ya caranya memasukkan data yg ada di database ke dalam spinner? database yang saya gunakan adalah mysql..

    thanks

  • dewi

    makasih sekali mas, alhamdulilah udah bisa 🙂

  • yuda

    pak saya mau tanya, kalo untuk edit dan hapusnya gimana ya?
    Trimakasih

  • fajar

    String nama = URLEncoder.encode(txtNama.getText()
    .toString(), “utf-8”);

    String harga = URLEncoder.encode(txtHarga.getText()
    .toString(), “utf-8”);

    mas. saya mengalami masalah di sini mas.
    getText tidak ada.

  • wahyu

    wahh, trimakasih banget ne mas agus.. hee

  • sonny

    itu file php’nya dua²nya di masukin ke mana mas??

  • freedy

    pak….
    itu kan aplikasinya di jalankan dari emulator….
    kalau di jalankan lewat hp, apakah bisa connect ke servernya?
    trus caranya bagaimana?

  • yang mau saya tanyakan, kenapa cuma membuat untuk tambah data doang??
    kenapa ga update delete nya juga di buat mas?? hehehe.. pasti karena waktu yaa….
    tapi di tunggu ya mas untuk CRUD(Create Read Update Delete) nya…

    Websitenya sangaat membantu banget!!!! \m/

  • Agus Haryanto

    @idhz, harusnya dari tutorial ini sudah idhz bisa mengembangkannya untuk update dan delete

  • Agus Haryanto

    @freedy, di HP tetap bisa connect syaratnya servernya bisa terhubung dengan HP bisa melalui jalur wifi atau internet

  • Agus Haryanto

    @sony, tentunya di directory yang bisa diakses webserver

  • newbie

    om mau tnya dong, klo misal kita bikin sistem pakar kan otomatis di database kita udah di isi sndiri kan , nah ngisi databasenya itu gmn om di sntaknya. trus koneksiin ke mobile aplikasi androidnya gmn ? mhon pncerahannya om. ane pkenya sqlite om.

  • vivi

    pak thanks tutornya, saya uda coba dan berhasil, tapi untuk yg lihat daftar menu tidak muncul, kenapa ya?

    untuk yang tambah menu, pada saat berhasil dan muncul toast success, kan edit textnya masih terisi dengan entry yang baru saja ditambahkan, setelah saya hapus edit textnya dan memasukan entry baru tidak bisa tersimpan kenapa ya? apa harus re-load ulang halamannya?

  • Andy Reza

    Mas, kayanya ini patut dicoba nih http://phpforandroid.net/ 😀

  • terimakasih ya mas tutorial android nya.

  • kok deletedaftarmakanan’nya gx ada mas? gmn bikinnya ya mas?

  • Yahya

    Mas saya mau tanya kok pas di run programnya terus saya klik di tambah Data terus saya isi dan saya klik button Simpan kok muncul tulisan Cannot connect to the DB..??
    Mohon bantuannya..

  • Merland

    apakah bisa url nya localhost seperti ini bang,
    // Seusuaikan url dengan nama domain yang anda gunakan
    private String url = “http://127.0.0.1/android/addmakanan.php”;

    Saya coba gagal terus untuk list view dan add makanan nya bang.

  • Agus Haryanto

    @Merland, ini nyobanya darai mana, kalau dari emulator untuk localhost bisa diganti dengan ini http://10.0.2.2 dan kalau dari hanset android yah http://ipkomputernya dengan catatan komputer dan androidnya berada dalam jariangan yang sama

  • Agus Haryanto

    @Yahya, wah kalau ini berarti script PHPnya gagal koneksi ke database MySQLnya. pastikan service database MySQLnya sudah menyala. dan user password pada phpnya benar.

  • Agus Haryanto

    @fauzi, sengaja tidak dibuat, agar para pembaca bisa berimprovisasi. nanti kalau aku buatkan semua nggak seru 🙂

  • @mas agus -> hahahaha.. oke mas siap.. thx mas..

  • angel

    Terima kasih mas untuk tutorial nya. Sudah saya coba dan berhasil. Tapi kenapa ya tidak berhasil ketika saya membuat project baru dan sudah ada koneksi ke php sebelum nya berupa login user. Jadi kalo saya kerjakan di project lain yang tanpa login bisa berjalan tapi kalo saya gunakan yang ada login nya, tambah data nya gagal. Kenapa bisa begitu ya mas? apa ada pengaruh nya dengan konksi login sebelum nya?

    Terima Kasih
    Salam,
    Angel

  • Agus Haryanto

    @angel, coba dicek kegagalannya ada dimana, di sisi android atau sudah di PHPnya

  • Amir

    Trims mas, script berjalan sempurna

    ternyata di file php kita musti konek ke host: 127.0.0.1

    kalau di device atau koding android konek ke host: 10.0.2.2

    trims ilmunya 🙂

  • myusro

    Subhanallah, great tutorial
    Saya sudah simulasikan, nice…..
    Trims Mas Agus Haryanto

  • mas software yg di gunakan untuk membuat aplikasi ini apa yahh and versi berapa?
    ada link download nya nggk,,,
    makasih maaf masih meraba jadi masih kurang paham

  • def

    bro, knp selalu “gagal” yah pesannya setelah di emulator ? di seetingan mysql connectnya sdh benar semua.
    knp yah ?

  • Mantap nih mas.

    Silakan kunjungi website saya juga yah di eddysontan.wordpress.com.
    saya ada buat aplikasi wisata kuliner sederhana menggunakan fungsi JSON.
    Terima kasih.

  • Centrino

    Bro ada kesalahan gini
    Fatal error: Call to undefined function: json_encode() in C:\Program Files\xampp\htdocs\makanan\daftarmakanan.php on line 13
    gimana cara mengatasinya?
    thanks banget

  • fajarnewbie

    Makasih mas agus atas tutor dan nasihatnya 😀

  • Alhamdulillah, ane dapat belajar buat aplikasi android di sini.
    Ijin belajarnya mas … trims

  • denny

    permisii…
    mau tanya dong pak..
    saya sudah mengikuti semua step di atas..
    udah bisa di run di emulator..tapi nggak tampil data-datanya..
    terus pas coba yang pertama kali buka http://localhost/android/daftarmakanan.php
    dia muncul ini : Object not found!

    nah solusinya bagaimana ya pak?
    terima kasih 🙂

  • vixemon

    mas,,, saya udah bikin coba tutorial diatas,,,, sukses,,, sampe saya edit menjadi lebih byk editteks nya,,,, ternyata semakin byk editteks nya program scroll up/scroll down nya gak bisa mas,,,,, ini yg menjadi permasalahan saya selama udah 1tahun gak dpt2 triknya….

    mohon bantuannya mas…. buat nambah script scroll up/downnya biar editteks dibawah bisa terlihat………

    mksh…

  • Agus Haryanto

    @vixemon, sudah coba pakai scrollview

  • vixemon

    cara penulisan scriptnya gimna ya mas….!!!!???

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>