Selasa, 01 Januari 2013

Aplikasi Android JSON Mengambil Data dari Web Database PHP MySQL


Penulis ingin sharing pengetahuan untuk membuat Aplikasi Android untuk Mengakses Data dalam Bentuk JSON dari Web PHP dengan Database MySQL. Sebelum ini koleksi kode program milik penulis masih terpisah-pisah. Kali ini penulis berhasil kumpulkan menjadi sebuah contoh program lengkap untuk mengambil data dari Server Web PHP MySQL menggunakan JSON kemudian diikuti dengan Menambahkan Data dari Aplikasi Android ke Web PHP MySQL tersebut dengan Metode POST. Mengupdat data dengan Metode POST juga. dan Menghapus data kita coba pakai Method GET.

Karena aplikasi ini cukup panjang. Penulis membagi menjadi 4 bagian :
1. Mengambil Data JSON dari PHP MySQL
2. Menambahkan Data ke PHP MySQL menggunakan POST.
3. Mengedit / update Data ke PHP MySQL menggunakan Method POST.
4. Menghapus Data di PHP MySQL dengan Metode GET.

Sedangkan source code program yang penulis sharing dan bisa didownload di bawah sudah lengkap keempat bagian tersebut. Silakan didownload.

Pada artikel ini kita bahas bagian pertama yaitu Mengambil Data JSON dari PHP MySQL :

Pada Web PHP MySQL buka localhost/phpmyadmin, buat database `db` dan buatlah tabel `kota` di dalamnya dengan perintah SQL sebagai berikut :

CREATE TABLE IF NOT EXISTS `kota` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(200) DEFAULT NULL,
  `latitude` varchar(100) DEFAULT NULL,
  `longitude` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

INSERT INTO `kota` (`id`, `nama`, `latitude`, `longitude`) VALUES
(1, 'Yogyakarta', '111111', '222222'),
(2, 'Semarang', '333333', '444444'),
(3, 'Solo', '5555555', '6666666'),
(4, 'Magelang', '7777777', '8888888');





Kemudian pada folder htdocs dalam hal ini kita buat di /xampp/htdocs/json/daftarkota.php, kita buat file PHP untuk mengambil data di database MySQL dan menampilkan dalam format JSON. kode programnya sebagai berikut :

<?php
$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the DB');
mysql_select_db('db', $link) or die('Cannot select the DB');

$query = "SELECT * FROM kota";
$result = mysql_query($query, $link) or die('Errorquery:  '.$query);

$rows = array();
while ($r = mysql_fetch_assoc($result)) {
    $rows[] = $r;
}
$data = "{kota:".json_encode($rows)."}";
echo $data;
?>

Kemudian sambungkan dahulu komputer tempat server PHP MySQL berada dengan suatu jaringan sehingga IP Address nya aktif. Klik Start, Search ketik "cmd", pada perintah DOS ketikkan perintah ipconfig sebagai berikut sehingga didapatkan IP Address komputer yang akan digunakan dalam kode program Android untuk koneksi ke server web


Kemudian kita masuk ke Project Android. Buka Eclipse, buat project Android Baru.

Program utama kita letakkan di MainActivity

MainActivity.java

package com.amijaya.androidphpmysqljson;

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.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

// http://cariprogram.blogspot.com
// nuramijaya@gmail.com

public class MainActivity extends Activity {
private JSONObject jObject;
private String jsonResult ="";
private String url = "http://192.168.43.150/json/daftarkota.php";
private String url2 = "http://192.168.43.150/json/delkota.php";
String[] daftarid;
String[] daftarnama;
String[] daftarlatitude;
String[] daftarlongitude;
Menu menu;
public static MainActivity ma;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        ma=this;
        RefreshList();
    }
    
    public void RefreshList() {
    try {
        jsonResult = getRequest(url); 
       
        jObject = new JSONObject(jsonResult);
JSONArray menuitemArray = jObject.getJSONArray("kota");

daftarid = new String[menuitemArray.length()];
daftarnama = new String[menuitemArray.length()];
daftarlatitude = new String[menuitemArray.length()];
daftarlongitude = new String[menuitemArray.length()];

for (int i = 0; i < menuitemArray.length(); i++)
{
daftarid[i] = menuitemArray.getJSONObject(i).getString("id").toString();
daftarnama[i] = menuitemArray.getJSONObject(i).getString("nama").toString();
daftarlatitude[i] = menuitemArray.getJSONObject(i).getString("latitude").toString();
daftarlongitude[i] = menuitemArray.getJSONObject(i).getString("longitude").toString();
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

ListView ListView01 = (ListView)findViewById(R.id.ListView01);
        ListView01.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, daftarnama));
        
        ListView01.setSelected(true);
        ListView01.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
final String selectionid = daftarid[arg2]; 
final String selectionnama = daftarnama[arg2]; 
final String selectionlatitude = daftarlatitude[arg2]; 
final String selectionlongitude = daftarlongitude[arg2]; 
    final CharSequence[] dialogitem = {"Edit", "Delete"};
    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
       builder.setTitle("Pilih ?");
       builder.setItems(dialogitem, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
switch(item){
case 0 :
/*Intent i = new Intent(getApplicationContext(), EditActivity.class);  
i.putExtra("id", selectionid);
i.putExtra("nama", selectionnama);
i.putExtra("latitude", selectionlatitude);
i.putExtra("longitude", selectionlongitude);
    startActivity(i);*/

break;
case 1 :
/*getRequest(url2 + "?id=" + selectionid);
RefreshList();
*/
break;
}
}
});
       builder.create().show();
}});

        ((ArrayAdapter)ListView01.getAdapter()).notifyDataSetInvalidated();
        
    }
    
    /**
* Method untuk Mengirimkan data ke server
*/
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 Menerima data dari server
*/
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;
}
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    this.menu = menu;
   
    menu.add(0, 1, 0, "Tambah").setIcon(android.R.drawable.btn_plus);
    menu.add(0, 2, 0, "Refresh").setIcon(android.R.drawable.ic_menu_rotate);
        menu.add(0, 3, 0, "Exit").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
    return true;
    }
    
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case 1:
        //Intent i = new Intent(MainActivity.this, AddActivity.class);
        //startActivity(i);
            return true;
        case 2:            
            RefreshList();         
    return true;
        case 3:
            finish();
            return true;
        }
    return false;
    }
}

Kemudian tampilannya kita pakai saja tampilan default kemudian ditambah satu buah ListView dengan nama ListView01 :

main.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="Android JSON PHP MySQL"
    />
<ListView android:id="@+id/ListView01" android:layout_width="match_parent" android:layout_height="wrap_content"></ListView>
</LinearLayout>

Android Manifest perlu ditambahkan permisson untuk melakukan koneksi ke Internet :

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.amijaya.androidphpmysqljson"
      android:versionCode="1"
      android:versionName="1.0">
    <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=".AddActivity"
                  android:label="@string/app_name">
        </activity>
        <activity android:name=".EditActivity"
                  android:label="@string/app_name">
        </activity-->
    </application>
    <uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

Hasilnya


Project selengkapnya silakan didownload disini :

https://docs.google.com/open?id=0B4i1FYc_4RXzN2NOb29kYUcycW8

Semoga bermanfaat, Selamat Coding.

Artikel Selanjutnya Aplikasi Android untuk Menambahkan Data ke PHP MySQL menggunakan POST

56 komentar:

  1. sangat membantu tutorialnya....
    tp bagaimana caranya kalau tambah, edit dan hapus datanya dari script php dikoneksikan dengan mysql dan list android, thanks

    BalasHapus
  2. oh y, masukan yg sangat bagus, tetapi sepertinya contoh programnya sudah termasuk tambah, edit dan delete. coba silakan cek artikel lanjutannya di http://cariprogram.blogspot.com/2013/01/android-add-data-method-post-web-php-mysql.html dan http://cariprogram.blogspot.com/2013/01/android-method-post-mengupdate-data-web-php-mysql.html dan http://cariprogram.blogspot.com/2013/01/android-delete-data-web-php-mysql-metode-get.html. kalau yang dimaksud adalah fasilitas tambah, edit, delete dari halaman web maka coba silakan pelajari bahasa pemrograman php untuk melakukan hal itu. maaf belum saya buatkan tutorialnya. silakan cek http://www.google.com/#q=belajar+php+mysql+tambah+edit+delete

    BalasHapus
    Balasan
    1. makasih mas atas referensinya.........

      misalkan saya mempunyai data sebuah objek wisata dengan menggunakan database MySQL dan penginputannya melalui PHP kemudian data ditampilkan dengan listview Android dengan format json. Yang jd permasalahan adalah bagaimana menampilkan google map yang disertai dengan jarak lokasi dan jalur menuju tempat tersebut, thanks atas bantuannya

      Hapus
  3. Sepertinya idenya bagus. Tapi sayangnya GoogleMap Android v1 sudah tidak didukung terpaksa kita harus Belajar GoogleMap V2
    Jika sudah bisa mungkin aplikasi di tutorial tersebut bisa digabungkan dengan Aplikasi Android PHP MySQL JSON sehingga Data Lokasi Markernya diambil dari Database. Setelah itu coba digabungkan dengan Artikel Ini untuk Membuat GoogleMap V2 Direction Rute ke Lokasi GPS atau MyLocation. Maaf jika cukup rumit dan panjang ^_^'

    BalasHapus
  4. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  5. keren tutor nya..
    saya mau tanya. gmna caranya menambah fitur search di menu nya?saya coba tpi masih error. mohon bantuan nya :D

    BalasHapus
  6. Sebenarnya agak panjang langkahnya. Mungkin seperti ini :
    Di server file daftarkota.php diedit menjadi :
    ...
    $query = "SELECT * FROM kota WHERE nama LIKE '%$_GET[keyword]%'";
    ...
    Kemudian di Android tambahkan EditText misalnya dengan nama edKeyword.
    Kemudian pada MainActivity.java bagian method public void RefreshList() tambahkan/edit bagian ini :
    ...
    jsonResult = getRequest(url);
    ...
    menjadi :
    ...
    EditText edKeyword = (EditText)findViewById(R.id.edKeyword);
    jsonResult = getRequest(url+"?keyword="+edKeyword.getText().toString());
    ...
    Fiuhh cukup panjang, semoga berhasil

    BalasHapus
    Balasan
    1. kalau mau pencariannya berdasarkan kata yang dimasukan, misal di data saya punya alamat jl.mekarsari, saat saya ketik sari alamat itu akan muncul seperti apa ya codingannya? saya coba pake codingan diatas tapi error... makasih yaa....

      Hapus
  7. Misalnya saya ingin menampilkan distance atau jarak pada listview dengan menggunakan database MySQL dari posisi user, mgkn bisa bantu codingnya mas....
    thanks

    BalasHapus
    Balasan
    1. Mungkin bisa dicek artikel ini http://cariprogram.blogspot.com/2013/01/mencari-jarak-dua-titik-gps-latitude-longitude-android-mysql-xml-json.html.
      Disitu dijelaskan cara memakai SQL untuk menghitung jarak di web PHP, ambil saja yg contoh file jarak_json.php. Caranya kira-kira seperti ini :
      ...
      $query = "SELECT nama, alamat, lintang, bujur, deskripsi, foto, ( 6371 * acos( cos( radians($_GET[center_lat]) ) * cos( radians( lintang ) ) * cos( radians( bujur ) - radians($_GET[center_lng]) ) + sin( radians($_GET[center_lat]) ) * sin( radians( lintang ) ) ) ) AS jarak FROM objek_wisata HAVING jarak < $radius ORDER BY jarak";
      ...
      Itu akan menghasilkan JSON yang sudah berisi nama tempat dan jaraknya, JSON tersebut tinggal diakses dari Android dengan URL : .../jarak_json.php?center_lat=0.74534&center_ng=110.3456, dimana latitude dan longitude tersebut diganti dari variabel dari pembacaan GPS. Kemudian hasil dari pembacaan JSON ditampilkan di ListView.
      Semoga membantu ^_^'

      Hapus
    2. maap mas pnya tutorial lgi bwt prtnyaan d ats ? sya msh bngung..mhon bntuannya..

      Hapus
  8. Balasan
    1. Nggak apa-apa mas.
      Sebenarnya banyak coding lain yang mungkin lebih "benar" atau "canggih". Saya hanya maen "simpel" dan "cepat"-nya saja hehe...
      Copas saja...

      Hapus
  9. Gan, ane coba code dari agan ane sesuain ke aplikasi yg ane buat.. tapi error di MainActivity terus (java.lang.NullPointerExceptions: Storage == null)

    tapi sourceCode yg agan upload jalan dengan lancar..
    bisa kasih pencerahan kah :D

    BalasHapus
    Balasan
    1. Komentar ini telah dihapus oleh pengarang.

      Hapus
    2. Wah terlalu general errornya Gan, sulit diperkirakan juga.
      Tapi akhir-akhir ini memang coding ini mengalami banyak error di SDK / Eclipse yang baru. Yang ADT versi 4.1 ke atas (Jelly Bean).
      Solusinya Ane temukan setelah bertapa sebulan penuh, seperti ini : Buka AndroidManifest.xml edit bagian ini :
      ...
      <uses-sdk
      android:minSdkVersion="8"
      android:targetSdkVersion="16" />
      ...
      delete TargetSDK menjadi seperti ini :
      ...
      <uses-sdk
      android:minSdkVersion="8" />
      ...
      Semoga berhasil.

      Hapus
  10. itu kenape bnyak yg error di mainActivity.java nya. Errornya di import gk ditemukan...
    mohon solusi dari master, maaf ane bru belajar...

    BalasHapus
    Balasan
    1. Kalo agan download project dari artikel ini, langsung dibuka di Eclipse trus error, mungkin SDK nya tidak cocok versinya.
      Langkahnya :
      - klik kanan project-Properties, pilih Android, centang Google API, jika tidak ada Google API berarti agan harus update dahulu SDK Google API.
      - Kalau masih belum bisa, coba klik kanan project-Pilih Android Tools-Fix Project Properties.
      - Klo masih belum bisa lagi, klik menu Project-Clean.

      Kemudian kalau agan bikin dari awal sendiri, kemudian importnya pada error tidak bisa ketemu, sepertinya hanya SDK GoogleAPI tidak ada, silakan Update dahulu SDK Androidnya dari SDK Manager.

      Semoga mendapat inspirasi untuk mempelajari lebih lanjut lagi..

      Hapus
  11. kalo mau make 2 table dari database gimana caranya?

    BalasHapus
    Balasan
    1. Silakan belajar perintah SQL untuk JOIN table saja mas.
      Misalnya tabel kota digabung dengan tabel propinsi, maka di file daftarkota.php tinggal diganti SQL nya dengan perintah kira-kira seperti ini :
      SELECT * FROM kota LEFT JOIN propinsi ON kota.idprop = propinsi.idprop
      dengan catatan di tabel kota ditambahkan foreign key idprop.
      Atau kalau maksud mas dari dua tabel misalnya tabel kota dan desa, maka digabung dengan perintah UNION saja, misal :
      SELECT id AS id, nama AS nama, latitude AS latitude, longitude AS longitude FROM kota
      UNION
      SELECT iddesa AS id, namadesa AS nama, latitudedesa AS latitude, longitudedesa AS longitude FROM desa
      Silakan dipelajari bahasa SQL, semoga berhasil..

      Hapus
  12. mas saya ingin membuat aplikasi yang memerlukan pembacaan data dari database 2 kali. untuk yang pertama, secara list. ketika salah 1 diklik lnjut ke tampilan berikutnya sesuai pilihan sebelumnya dengan tampilan list juga dan itu pengambilan key nya dri 2 tabel yg berbeda..gmn ya mas solusinya? Tolong ya mas :)

    BalasHapus
  13. ass...
    akhirnya saya nyampe juga ke blog ini.. nice ur post ^_^
    saya sedang membuat aplikasi android, koneksi sudah terhubung dengan androidnya menggunakan mysql, dan sudah beberapa yang tampil data dari database pada android.
    hanya sja saya ada kendala pada pemanggilan database dengan foreignkey.
    saya mau nanya, gmn caranya klo mengkoneksikan database cara pemanggilannya!!

    logika:
    dalam 1 database ada beberapa tabel sudah OK dan saling terhubung dengan baik,

    contoh:
    database work
    tabel merk: id_merk, code, nama_merk,
    tabel group: id, nama_group, id_merk

    databasenya sudah terhubung semua, tp gmna cara menampilkan LIST data dari tabel group, tapi ingin "id_merk" tampil menjadi nama_merk, pada androidnya?

    mohon pencerahannya ya mas..
    ^_^

    Hatur Nuhun....

    BalasHapus
    Balasan
    1. wss..
      mungkin solusinya lebih simple dari yang kita bayangkan.
      silakan melihat komentar di atas.
      solusinya memakai join table.
      di file JSON nya (dalam kasus diatas pada file daftarkota.php) silakan ganti query dari

      SELECT * FROM `group`

      menjadi

      SELECT id, nama_group, nama_merk FROM `group` LEFT JOIN `merk` ON `group`.id_merk = merk.id_merk

      hasilnya setelah file JSON mampu memberikan data group beserta nama_merk, maka setelah itu tugas aplikasi androidnya tinggal menampilkan saja seperti biasa

      semoga itu yang diinginkan..

      Hapus
  14. tenkyuuu dah balas...
    OK saya akan coba dlu ya mas...
    jika masih ada trouble... mohon dibantu again... ^_^V
    maaf merepotkan...
    hehehe...

    BalasHapus
  15. mau tanya nih,, di LogCat keluar org.json.JSONException: Value xml of type java.lang.string cannot be converted to JSONObject .. itu kenapa ya?? terima kasih bantuannya

    BalasHapus
    Balasan
    1. Biasanya itu yang error di file PHP nya yaitu daftarkota.php, dicoba dulu di browser komputer dengan mengetikkan http://localhost/json/daftarkota.php, mungkin ada error koneksi database.
      Kalau sudah dan mau menjalankan dari emulator bisa diubah IP Address di source code androidnya menjadi http://10.0.2.2/json/daftarkota.php.
      Untuk memastikan emulator atau HP bisa koneksi ke server bisa dibuka browser web di dalam emulator dan ketik dahulu http://10.0.2.2/json/daftarkota.php, atau jika dari device HP/Tablet bisa dites dahulu di browser webnya dengan URL http:///json/daftarkota.php.
      Semoga bisa memberi pencerahan..

      Hapus
    2. Terima kasih. Aplikasinya udah jalan untuk yang mengambil data. tapi untuk yang mengedit data sama menambah data yang belum jalan..

      Hapus
    3. mas kalo pake wifi bisa jalan tapi ko pas pake data seluler ga bisa itu kenapa ya mas mohon pencerahannya

      Hapus
  16. mohon maaf mau tanya lagi. Kenapa kok saya ga bisa edit ya? eror nya tulisannya "FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfojava.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity" .. terima kasih atas bantuannya.. oia satu lagi,, saya jg ga keluar menu nya,, mohon maaf dan terima kasih

    BalasHapus
    Balasan
    1. Kemungkinan besar mas ketik kode program sendiri, atau copy paste. Seharusnya jika mas download saja source code disini kemungkinan besar kalau tampil datanya sudah jalan, yang add edit delete pasti juga sudah jalan. Maaf saya tidak tahu mas salah ketik dimana. Saran saya download saja source code programnya, jalankan dahulu, baru pelajari dari kode program tersebut..

      Hapus
    2. ok mas,, terima kasih bantuannya..

      Hapus
  17. setelah saya coba untuk yg kemarin balasan masih blum dapat pencerahan mas... tp masih saya cari2

    mau tanya lagi ya mas...
    untuk penggunaan Spinner tapi ingin data dalam spinnernya mengambil dari database mysql bgaimana ya mas?... dari kemarin saya masih belum ketemu jg yang masalah ini....

    mohon pencerahannya mas!!!

    BalasHapus
    Balasan
    1. Kalau masalah spinner coba dibaca dulu artikel ini :
      http://cariprogram.blogspot.com/2012/07/spinner-android-dinamis-pemrograman.html
      Semoga bisa membantu..

      Hapus
  18. gan sy mo tanya gmn caranya supaya ketika kita pilih spinner misalnya Solo maka tar yg akan tampil hanya Solo aja, yg magelang dll tidak keluar http://www.kaskus.co.id/show_post/520207933f42b29f7c000003/5822/

    BalasHapus
  19. nice post! :)
    kak, kalo misalnya ditambah edittext untuk pencariannya gimana caranya ya?

    BalasHapus
    Balasan
    1. iya saya lagi cari coding ntu juga tuchhh...
      gmn ya???
      mohon pencerahannya...
      ^_^

      Hapus
  20. Mas... dari list view yang dulu.
    kan data muncul semua?? misal agar muncul nya per-5 data dulu lalu ketika di scroll ke bawah nambah 5 data lg.
    untuk syntax
    https://gist.github.com/vnot/6652262

    saya sudah mencoba mencari "loadmore list view"
    dan sudah di implementasikan ga mau muncul.

    ini php nya.
    http://vnot.pusku.com/mymed/daftarobat_page.php?nama=a&hal=1
    http://vnot.pusku.com/mymed/daftarobat_page.php
    http://vnot.pusku.com/mymed/daftarobat_page.php?hal=1

    untuk syntax php ada di dalam.
    https://gist.github.com/vnot/6652262
    di bagian bawah.

    BalasHapus
  21. Mas, ko kalau di running di emulator dengan target diatas 2.3.3 force close ?

    BalasHapus
  22. mas saya kn bikin php nya sendiri menggunakan database dari sini untuk isa tambah edit delete dari web, untuk menghubungkan ke android nya tu gimana ya?
    url1 dan url2 udah saya ganti tapi unfortunately has stopped

    BalasHapus
  23. bagus ni mass, sangan membantuuu tak cobain yaaaa makasih banget buat sharenya :) niceee oy mas, tp ada gak cara buat create update delete json dari php?? maksunya melalui syntax php untuk mengubah file encode dari php juga.. tapi terupdate datanya di mysql

    BalasHapus
  24. kok yang di rar itu error ya gan program nya?

    BalasHapus
  25. mas bisa buat contoh data inputan seperti login.php makasih

    BalasHapus
  26. maaf mas mau nanya
    saat aplikasi di run data dari server tidak bisa di tampilkan
    terdapat kesalahan dari koding php
    mungkin karna saya menggunakan server yang meminta perintah mysqli
    sehingga koding php yang diatas tdak dapat dibaca oleh server
    mohon bantuannya mas

    BalasHapus
  27. mas kenapa ya pas di instal di hp data nya ga muncul malah terhenti padahal pas di coba di run di AVD muncul dan lancar...

    BalasHapus
  28. pak, knapa ya stop working, file koneksi yg didalam folde json nya mmg nggak ada ya? trims

    BalasHapus
  29. project nya jalan om..
    terima kasih banyak om..
    tetap semangat ngoding nya om..

    BalasHapus
  30. sangat membantu pak tutorialnya. terima kasih

    BalasHapus
  31. terimakasih tutorialnya kak. :)

    BalasHapus
  32. klo di tes pake hp langsung gmna kang ?
    it kan pake emulator
    terima kasih

    BalasHapus
  33. Mantapp... Gan ada yang baru gak? Siakad gtuh? Mohon bimbingannya.

    BalasHapus
  34. gan aplikasinya udah saya coba dan saya membuat database baru tetapi error : java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.coba/com.example.coba.DaftarMakan}: java.lang.NullPointerException: storage == null

    BalasHapus
  35. CODEin adalah tempat yang tepat untuk Anda jika Anda mencari source code gratis untuk proyek-proyek Anda.

    BalasHapus