Tutorial Android : Mengakses Data Dari Database MySQL di ListView Dengan JSON

Atmosfer kampung halaman sedikit menghilangkan pikiran saya yang sumpek beberapa hari belakangan ini. Permasalahannya lumayan klasik dan seolah-olah ingin menjatuhkan saya. Dan yang bikin jengkel, ketika ada yang enak malah diembat sendiri sama segelintir orang di kampus. Padahal dalam pelaksanaannya memakai asset yang dulu pernah saya buat. Mungkin begini rasanya ditendang dari tempat yang dulu kita bangun. Mirip-mirip dikitlah sama kisah hidupnya mendiang om steve jobs (mudah-mudahan saja saya bisa sukses kayak beliau :ngakaks:). Pas kebetulan di kampus sedang libur, jadilah saya pulang ke bali saja. Lumayanlah kalau sudah emosi seperti ini, semangat saya jadi bangkit ke 100% lagi. Dan tadi siang, saya kembali lagi berkutat dengan eclipse serta emulator android untuk mencoba-coba membuat aplikasi sederhana untuk mengakses database online yang terdapat di web server dengan memanfaatkan JSON. Inilah contoh penggunaan metode three tier dalam aplikasi android, cocok tuh dipakai tema skripsi untuk yang belum punya bayangan untuk skripsinya (#haha).

Dalam three tier, untuk mengakses database di web server diperlukan sebuah file php yang akan menjembatani aplikasi android dengan database mysql yang berada di server, dan gak ketinggalan juga koneksi internet (yang ini kalau sudah online di internet). Hasil query dari database, disusun sesuai dengan format JSON di dalam file php. Kemudian file php yang menampung data tersebut dipanggil dari aplikasi android dan kemudian di-parsing untuk selanjutnya ditampilkan ke dalam ListView. Kita langsung aja ke cara pembuatannya, cekidot….

1. Buat sebuah android project baru, detailnya seperti gambar di bawah ini :

2. Kita membutuhkan sebuah class tersendiri untuk melakukan parsing data JSON. Disini kita akan memanfaatkan module json, Apache dan IO milik java untuk berkomunikasi dengan web server yang pada postingan ini saya menggunakan web server apache.

public class JSONParser {

	static InputStream is = null;
	static JSONObject jObj = null;
	static String json = "";

	public JSONObject AmbilJson(String url) {

		try {
			DefaultHttpClient httpClient = new DefaultHttpClient();
			HttpPost httpPost = new HttpPost(url);

			HttpResponse httpResponse = httpClient.execute(httpPost);
			HttpEntity httpEntity = httpResponse.getEntity();
			is = httpEntity.getContent();

		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
			StringBuilder sb = new StringBuilder();
			String line = null;
			while ((line = reader.readLine()) != null) {
				sb.append(line);
			}
			is.close();
			json = sb.toString();
		} catch (Exception e) {
			Log.e("Buffer Error", "Error converting result " + e.toString());
		}

		try {
			jObj = new JSONObject(json);
		} catch (JSONException e) {
			Log.e("JSON Parser", "Error parsing data " + e.toString());
		}

		return jObj;

	}
}

3. Buka file AksesServerActivity.java, dan ketikkan kode di bawah ini. File activity ini akan memanggil class JSONParser di atas, kemudian menampung hasil parsing data ke dalam sebuah Adapter. Hasilnya ditampilkan ke dalam sebuah ListView. Kita gunakan database yang ada di komputer lokal alias localhost dan untuk testing bisa menggunakan browser bawaan emulator android dengan mengetikkan alamat http://10.0.2.2.

public class AksesServerActivity extends ListActivity {

	private static String link_url = "http://10.0.2.2/json-parsing/artikel-json.php";

	private static final String AR_ID = "id";
	private static final String AR_JUDUL = "judul";
	private static final String AR_CONTENT = "content";

	JSONArray artikel = null;
	ArrayList<HashMap<String, String>> daftar_artikel = new ArrayList<HashMap<String, String>>();

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		JSONParser jParser = new JSONParser();

		JSONObject json = jParser.AmbilJson(link_url);

		try {
			artikel = json.getJSONArray("artikel");

			for(int i = 0; i < artikel.length(); i++){
				JSONObject ar = artikel.getJSONObject(i);

				String id = ar.getString(AR_ID);
				String judul = ar.getString(AR_JUDUL);
				String content = ar.getString(AR_CONTENT).substring(0,100)+"...(baca selengkapnya)";

				HashMap<String, String> map = new HashMap<String, String>();

				map.put(AR_ID, id);
				map.put(AR_JUDUL, judul);
				map.put(AR_CONTENT, content);

				daftar_artikel.add(map);
			}
		} catch (JSONException e) {
			e.printStackTrace();
		}
		this.adapter_listview();
	}

	public void adapter_listview() {

		ListAdapter adapter = new SimpleAdapter(this, daftar_artikel,
				R.layout.list_item,
				new String[] { AR_JUDUL, AR_CONTENT, AR_ID}, new int[] {
						R.id.judul, R.id.content, R.id.kode});

		setListAdapter(adapter);
		ListView lv = getListView();
		lv.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
				String kode = ((TextView) view.findViewById(R.id.kode)).getText().toString();

				Intent in = new Intent(AksesServerActivity.this, DetailAksesServer.class);
				in.putExtra(AR_ID, kode);
				startActivity(in);

			}
		});
	}
}

4. Ketika salah satu item di tap/sentuh (lihat di bagian OnItemClickListener), maka akan muncul detail beritanya pada activity baru. Buat sebuah activity baru dengan nama DetailAksesServer.java. ID berita dikirimkan ke activity kedua melalui intent, kemudian digunakan sebagai parameter GET di file php yang bertugas untuk menampilkan hasil query berita yang sesuai dipilih oleh user.

public class DetailAksesServer  extends Activity {

	private static final String AR_ID = "id";
	JSONArray artikel = null;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.single_list_item);

        Intent in = getIntent();
        String kode = in.getStringExtra(AR_ID);
    	String link_url = "http://10.0.2.2/json-parsing/detail-artikel.php?kode="+kode;

        JSONParser jParser = new JSONParser();

		JSONObject json = jParser.AmbilJson(link_url);

		try {
			artikel = json.getJSONArray("artikel");

			for(int i = 0; i < artikel.length(); i++){
				JSONObject ar = artikel.getJSONObject(i);

		        TextView judul = (TextView) findViewById(R.id.judul);
		        TextView detail = (TextView) findViewById(R.id.detail);
		        TextView isi = (TextView) findViewById(R.id.isi);

				String judul_d = ar.getString("judul");
				String detail_d = ar.getString("tanggal")+" - "+ar.getString("waktu")+" - "+ar.getString("penulis");
				String isi_d = ar.getString("content");

		        judul.setText(judul_d);
		        detail.setText(detail_d);
		        isi.setText(isi_d);

			}
		} catch (JSONException e) {
			e.printStackTrace();
		}

    }
}

5. Sekarang kita lanjut ke pembuatan business process-nya alias file php-nya. Query dan syntax php-nya cukup sederhana, hanya saja kita harus teliti ketika membuat format JSON-nya. Kalau salah atau kurang tanda petik satu saja, maka akan gagal di-parsing oleh class JSONParser di atas. Berhubung hosting blog saya agak error (atau saya-nya yang bego gak bisa setting :p) gak bisa nyisipkan query mysql, maka syntaxnya saya tampilkan ke dalam gambar. Tenang aja kok, file android dan php-nya nanti bisa di-download di akhir postingan ini :).

artikel-json.php

detail-artikel.php

6. Kita juga membutuhkan file layout untuk menampilkan data hasil parsing dari activity di atas. Disini saya membuat 3 layout yang berbeda yaitu main.xml, list_item.xml, dan single_list_item.xml.

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:background="#D7DEF0"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
    	android:layout_margin="10dp"
        android:orientation="vertical">
		<!-- Name Label -->
        <TextView
            android:id="@+id/judul"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textColor="#333333"
            android:textSize="16sp"
            android:textStyle="bold"
            android:paddingBottom="2dip" />
        <TextView
            android:id="@+id/content"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textColor="#666666"
            android:textSize="11sp"
            android:paddingBottom="2dip">
        </TextView>
        <TextView
            android:id="@+id/kode"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textColor="#D7DEF0"
            android:textSize="1sp">
        </TextView>
    </LinearLayout>

</LinearLayout>

single_list_item.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:background="#D7DEF0"
    	android:padding="10dp"
  android:layout_height="wrap_content">

  <TextView android:id="@+id/judul"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dip"
            android:textStyle="bold"
            android:paddingTop="10dip"
            android:paddingBottom="5dip"
            android:textColor="#333333"/>
  <TextView android:id="@+id/detail"
            android:layout_width="wrap_content"
            android:textStyle="bold"
            android:textSize="12dip"
            android:paddingTop="5dip"
            android:paddingBottom="5dip"
            android:layout_height="wrap_content"
            android:textColor="#999999"/>
 <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

  <TextView android:id="@+id/isi"
      		android:layout_width="wrap_content"
            android:textSize="14dip"
      		android:layout_height="wrap_content"
            android:textColor="#333333"/>

    </ScrollView>
</LinearLayout>

7. Dan yang terakhir jangan lupa untuk mendaftarkan activity yang kedua di dalam file AndroidManifest.xml. Kalau gak terdaftar, maka aplikasi akan force closed ketika kita memilih salah satu item di ListView.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="dlmbg.pckg.akses.server"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".AksesServerActivity"
            android:label="Akses Database Server MySQL" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:label="Detail Artikel"
            android:name=".DetailAksesServer" >
        </activity>
    </application>

    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

8. Jalankan via emulator dan hasilnya seperti di bawah ini :

Sekarang kita sudah mempunyai dasar untuk membuat aplikasi database entah itu yang menggunakan SQLite (native app) maupun MySQL. Banyak aplikasi database yang bisa dikembangkan, bisa juga dikombinasikan dengan Google Map API untuk membuat aplikasi web GIS berbasis android. Wah,,nambah lagi tuh judul skripsi untuk yang masih bingung mau ngambil judul apaan :ngakaks:. OK deh, sekian dulu postingan saya kali ini. Semoga bermanfaat untuk kita ke depannya.

Happy Blogging and Keep Coding

Cheerrrss….!!!!

[to_like]Download Aplikasi[/to_like]

132 comments

    • dicka Reply

      siang gan mau tanya untuk script kode pada detailartikel.php
      $kd = $_GET[‘kode’];
      itu dipakai buat apa yach soalnya pas di jalankan ada muncul notice :
      Notice: Undefined index: kode in C:\xampp\htdocs\json-parsing\detail-artikel.php on line 2
      {“artikel” : []}

      mohon bantuannya..makasih

      • Nova Agustina Reply

        untuk kode itu diganti dengan $kd= (isset($_GET[‘kode’]) ? $_GET[‘kode’]: ‘ ‘ );

  1. linoeh Reply

    Waahhh.. makasi bli, buat sharenya
    akhirnya dapet pencerahan πŸ˜€

  2. Evalyna Reply

    Halo Gede Lumbung πŸ™‚

    Saya udah coba program-program yang kamu publish, tp kenapa selalu “unexpectedly closed” ya??

    Saya udah periksa Android Manifest nya, sudah pas kog..

    Tolong bantu saya yah… πŸ™‚ Hehe

    Thanks before.

  3. Tama Reply

    great tuts gan!! ane mau tanya.. kalau dikasih image yang berbeda sesuai postingan beritanya gimana ya gan?

    thx b4

  4. Evalyna Reply

    Udah gak d force close lg nih…. TAPI data dari mysql nya gak ada yang muncul….

    Gimana Gede????

    Tolongin saya dong… lg ngerjain jurnal nih… πŸ™‚

    • Tama Reply

      udah buat database dengan nama db_json_android di phpmyadmin nya? buat dulu terus file .sqlnya di import..

  5. nanda Reply

    kok saya masih force close yaa πŸ™ mohon bantuannyaaaa πŸ™

    • Tama Reply

      liat logcat pada kolom level ‘E’ itu dia errornya.. cari solusinya..

      • nanda Reply

        salah di sini nih gan πŸ™
        error parsing data org.json.jsonexception : Value bla bla bla

        • Gede Lumbung Post authorReply

          kebanyakan errornya pasti di parsing json nya…
          coba cek database, hasil outputnya via browser, sama tag json nya..

        • Tama Reply

          iya itu error pas parsing data yg di mysql ke androidnya..udah diupload table yang si agan gede include di source codenya?

  6. opik Reply

    mas,,,
    bagaimana klo file json nya berupa gambar yang ad di database server,,,
    bagaimana cara pemanggilannya,,,?

  7. deden Reply

    mas mau nanya nich..

    kalo listviewnya bertingkat gimana yach??

    jadi misalkan aplikasi tentang berita :

    – pertama klik menu trus tampil listview kategori berita contoh : berita olahraga, berita politik dll

    – lalu setelah klik salah satu kategori tampil listview berita-beritanya
    – lalu tampil detail

    jadi datanya ngejoin dari 2 tabel gitu..

    gimana ya mas, bisa minta bantuannya!!

    • mermaid Reply

      sama nih masalahnya, gimana dong
      trus kalo misalkan beritanya sorting by month gitu gimana ya?
      πŸ˜€

  8. Yugie Reply

    Mas mau tanya kalau di Json bisa di tambah data berupa link? ga? jadai dari semua data yang diambil dari database di tambah satau data berupa link yang di generate di phpnya. kalau dengan XML kan bisa di tambah dengan gini :

    echo “”;
    echo “”;
    echo “”;

    Kalau di Json bisa ga ya? Thx Gan.. πŸ˜€

  9. Surya Reply

    bro, kalo mau ngisiin Asyntask gimana ya?
    Maunya biar ga kliatan hang kalo lagi ngambil data dri server..
    Mohon bimbingannya..

  10. alfian Reply

    gan …kalau mau pake fungsi search gimana ?aku udah coba pake LIKE nggak bisa,,

  11. panji Reply

    Mas, bagaimana caranya agar device android kita dapat mengakses webserver(localhost)?

    trima kasih atas jawabanya. ^ ^

  12. Pendi Reply

    bli…koq ane ga bisa register mulu pake email yahoo…
    tolong bli, mau ngunduh..

  13. adika Reply

    gan mau nanya niyh,,, ko pas saya klik untuk melihat detail nya force close?mohon bantuannya

    • adika Reply

      hehehe ga jadi mas udah ketemu caranya thanks gan,, blog agan sangat sangat membantu TA saya πŸ™‚
      semoga berkah buat agan

  14. oliver Reply

    kak, kalau mau buat pencarian itu gimana ya caranya?? pencarian ke database maksudnya???

  15. mejimaru Reply

    Keren Mas GEDE….: (Y)

    Kalo display datanya di TableLayout gimana yah?

    Helep mi mas…..

    Thanks

  16. zulkifli Reply

    mas mau nanya nih, gimana cara nya agar data dari mysql tersebut bisa terus terupdate dan bisa kita tampilkan di text/listview android.??
    mohon arahan nya mas, klo ada link juga boleh πŸ™‚
    terima kasih

  17. Elisa Reply

    Mas, yg detailnya koq ga muncul ya?
    php nya juga udah q jalanin di browser, tapi ga muncul data nya, padahal database nya udah bener…

    help ya mas..

  18. andi Reply

    makasi banget kak tutorialnya πŸ˜€

    benar-benar sangat membantu orang seperti saya,

    di tunggu postingngan selanjutnya tentang databasenya …

  19. nasiwon Reply

    mas mau nanya..emang ga bisa ya pas listviewnya diklik yang tampil detail webview, jadi gambar, video, dll semua keliatan gitu?mohon bantuannya..terima kasih

  20. linuxfish99 Reply

    mas ne koq script yang ini error
    public void onItemClick(AdapterView parent, View view,int position, long id) {
    String kode = ((TextView) view.findViewById(R.id.kode)).getText().toString();

    knpa ya?
    errornya sperti ini
    Description Resource Path Location Type
    The method onItemClick(AdapterView, View, int, long) of type new AdapterView.OnItemClickListener(){} must override a superclass method AksesServerActivity.java /AksesServer/src/contoh/akses/server line 78 Java Problem

  21. kikie Reply

    mas mau nanya neh, ane bener2 nubie…
    itu yang pertunjuk no 1 buat project barunya di eclipse ya???

  22. eko Reply

    bos mau tanya, buat akses localhostnya langsung dari androidnya gmn ? koneksinya pake wifi gt…apa ada tool tambahan thanx

  23. Febriyan Reply

    Boss….kalo cara insert data ,pake metode:
    JSONObject json = new JSONObject();
    json.put(“email”, a);

    di tunggu bimbinganya mastah πŸ˜€

  24. Fauzi Reply

    bli gede, gmn caranya kLo yg d pke’ customadapter??
    ini example’nya dari simpleAdapter.. gmn kLo kita mo bikin custom view? thx..

  25. iToru Reply

    Nice gan , tapi convert JSONnya bikin ane mumet ….gkgkgkgkgk

    Succesfull dah ane coba πŸ˜€

  26. maia Reply

    mas mau tanya nihhh…
    udah g ada force close tp ko datanya ga muncul ya??? database sudah siap..soalnya yang pertama sebelum masuk ke detailAksesServer datanya bisa muncul..
    mohon bantuanya..
    terimakasih

  27. kosim Reply

    setListAdapter(adapter);
    ListView lv = getListView();

    itu gimana y gan?
    manggilnya dari mana?

  28. didi Reply

    kak saya sudah mendaftarkan kelas pada AndroidManifest dengan cara add biasa dan dengan meng-copy code kakak,,,tp semua gagal. Walaupun sudah didaftarkan tetapi saat dirun error dan keterangan error adalah kelas tersebut blm didaftarkan (AksesServerActivity.java). Pada kasus saya, AksesServerActivity saya masukkan kesebuah package baru dengan nama Kelola. Itu knp y kak?? mohon bantuannya…thx

  29. kadek restu yani Reply

    hai gede lumbung, nice tutorial. ak mw tanya ni kalo bikin search button di android gmn ya? yg di cari search data dri database berdasarkan judul aplikasi misalnya? mohon share dunk ilmunya. ak msih bingung biar bisa search data berkata dan setelah di ketik misalnya “ma” dan klik button cari akan tampil nama aplikasi yang ada kata “ma” di new activity. mksi.. bisa info k email ak iya πŸ˜€
    olip_green@yahoo.com
    suksma sbelumnya ,,
    secepatnya iya hihi
    salam kenal πŸ˜€

  30. Bagus Reply

    Suwun gan tutoriale,,
    semoga banyak yang terbantu (salah satunya ane) πŸ™‚

  31. LIVIA Reply

    mas gede plis dibls dong…
    ak butuh bgt ni jawabannya…
    pas ak buka dibrowser itu bisa muncul…
    tp ko di emulator gk muncul si ??
    yg muncul cuma tulisan atas aja, “akses database serverMYsql”
    salhnya dimananya??? πŸ™

  32. didi Reply

    kakak saya punya masalah aneh…saya cb di emulator bs muncul, browser bisa tetapi saat saya masukkan kedalam device tidak bisa. Saat programming saya menggunakan 10.0.2.2 tetapi saat saya masukkan kedalam device, saya sudah mengganti dengan ip server (dalam kasus ini adalah ip dari laptop saya) tetapi hasilnya tidak muncul. Padahal saya cb akses melalui broser hp bisa
    Kakak tau solusinya? thx sebelumnya

    • Gede Lumbung Post authorReply

      kemarin jg sempat ada yg tanya begitu
      saya coba utk unblock permision dari apache serta mysql di pengaturan UAC windows 7, agar bisa diakses di device/komputer lain
      dan ternyata berhasil

        • didi Reply

          kak keliatannya bukan masalah permission pada apachenya. Saya sudah hosting database +php saya ke dalam webhosting tp ternyata tetap tidak bisa. Apa menurut kakak ada masalah setting pada projectnya? Apa itu memungkinkan? saat project kakak dijalankan pada device tidak bisa padahal pada emulator bisa dan sudah saya hosting semua
          Mohon bantuannya..thx

          • Gede Lumbung Post author

            saya gak pernah test di emulator, karena sangat berat utk dijalankan di laptop
            saya langsung tes k device, dan berjalan normal
            kalo ada permasalahan seperti parsing data dari xml atau json yg tidak muncul, itu mungkin karena format xml atau json nya yg salah
            silahkan di cek lagi formatnya

  33. asih putri Reply

    maaf mas mau tanya
    ada tutorial android client access web service dengan library nusoap mas

    Terimakasih πŸ˜€

  34. wow Reply

    gan klo dikasi pop up pesan ketika aplikasinya di buka jika tidak tersedia internet gimana gan?

    • Gede Lumbung Post authorReply

      cek postingan saya yg terdahulu
      saya udah pernah bahas tentang menngecek ada tidaknya koneksi internet di android

  35. windy Reply

    msa, saya ingin bertanya kenapa ketika saya jalankandi di device dan emulator hasilnya sama” unfortunely, has stopped”
    saya masih pemula banget, tolong jawabnya yah mas.

  36. Basribaz Reply

    tutorial yang mantap gan…..
    kalau pake gambar gimana codex gan….

    btw misalnya saya punya code seperti ini gan :

    private void map(int position) {
    if (position == 0) {
    Intent intent = new Intent(Intent.ACTION_VIEW,
    Uri.parse(“http://maps.google.com/maps?f=d&daddr=-5.011957, 119.649789”));
    intent.setComponent(new ComponentName(“com.google.android.apps.maps”,”com.google.android.maps.MapsActivity”));
    startActivity(intent);
    }else if (position == 1) {
    Intent intent = new Intent(Intent.ACTION_VIEW,
    Uri.parse(“http://maps.google.com/maps?f=d&daddr=-5.011957, 119.649789”));
    intent.setComponent(new ComponentName(“com.google.android.apps.maps”,”com.google.android.maps.MapsActivity”));
    startActivity(intent);
    }
    }

    pada bagian angka : -5.011957, 119.649789 mau diganti dengan data dari database, gimana tuh gan thanks atas bantuannya

    • Gede Lumbung Post authorReply

      sama saja konsepnya seperti yg saya posting disini
      pakai json, kemudian value nya diekstrak
      ambil value yg diinginkan

  37. Basribaz Reply

    makasih gan tutorialnya tp kalau listview disertai dengan gambar trus detailnya juga pakai gambar gimana tuh gan, mohon pencerahan…..

      • Basribaz Reply

        maaf gan sy tidak dapat tutorial tentang parsing gambar dari listview ke activity yg lain, mohon bantuan gan…..thanks

  38. arief abdul aziz Reply

    agan ane mau tanya donk…untuk program yang ini kan menggunakan localhost nahh klo aplikasi dijadiin langsung online untuk akses databasenya.gmna caranya ya??

  39. arief abdul aziz Reply

    gan ane udah coba import project agan dan sudah masukin phpnya ke htdocs dan juga mysql kephp my admin….ane udah cek android manifest tapi masih gk bisa di logcat ada tulisan fatal exception main…mhon bnget gan bntuannya…

  40. NEWBIETOL Reply

    Gan, numpang tanya….begini ane sudah buat aplikasi kamus gan, ane sengaja gan gak buat fasilitas buat nambah data kata kamus baru. Nah, ane pengen sistem update datanya seperti sistem aplikasi yg lainnya gan,,,,apakah bisa ?? misalnya kamus ane msukkin di google play, kemudian ane tambahkan lg database baru sehingga nanti klo pengguna merespon update kamus, maka secara otomatis databsenya nambah bs gak kayak gitu gan ??thx

  41. darwin Reply

    mas mau nanya kan saya uda upload data php saya ke server tuhh,trus pake ipnya yang mana ya ???
    kalau di emulatorkan dari localhost uda bisa,tapi pas dicoba di device ga bisa masa

  42. poguh Reply

    mas sy cba kok force close trs yaa..
    error di log chatnya ? kira” apanya yah..mohon respon ny thanks

  43. topiku Reply

    untuk list itemnya saya coba hanya muncul 1 item saja padahal di load php muncul banyak item bantuannya ya mas..

  44. morugakiro Reply

    nice post! πŸ™‚
    mau minta pencerahan nie gan…
    ane lg bikin program POS berbasis android…
    cuma masih ada yg kurang ni gan bkin galau…

    kalo misalnya ditambah edittext dan button untuk pencariannya gimana caranya ya datanya dari database mysql parse PHPJson?

  45. wilson Reply

    Mas, kalo mau pake query ‘select like’ gimana ya? Saya pake: (“SELECT * FROM daftar_sekolah where nama_sekolah like ‘.$nm%.’ “) itu datanya ga tampil. Mohon bantuan mas πŸ™‚

  46. pearlymaccha Reply

    Wah, terima kasih banyak ya mas. Saya udah coba buat programnya, dan gak nyangka bisa dijalanin di emulator, kirain bakalan force close πŸ˜€ tapi saya masih bingung tentang alamat htp://10.0.2.2 mas, hehe.. Terima kasih ya mas Gede, blog nya bagus banget dan sangat berguna πŸ˜€

  47. Ahmad Arif Reply

    Mas boleh minta source+php+database, link yang 4shared susah didownload mas >.<
    Thx

  48. rendi Reply

    gan, ane udah dafter emailnya buat download, tapi kagak ada verifikasinya..

    • Muri Reply

      dah bisa kang
      gak jadi..
      klo misalkan nampilin gambar gimn kang di detail gmn kang ??

  49. Mocko Reply

    masbroo… mau tanya cara sorting spya sort di listview gmna..?
    please… butuh bgt.. ane dh cb2 ga bs..

  50. Lia Reply

    permisi mas, mau tanya gimana koneksinya kalo run aplikasinya buka pake emulator device, tapi pake device android beneran?
    terimakasih, mohon bantuannya πŸ˜€

  51. Lukman Reza Reply

    Mas, kalau misalnya di dalam detailnya di tambahin gambar bisa gak?
    jadi kita ngupload dulu gambar dan beritanya ke database, kemudian ditampilkan. gimana tuh mas?

    terimakasih mas…

  52. Fajar Reply

    gan gimana cara data tetep tampil ketika offline? tolong di bantu , setidaknya referensi nya gan . thanks πŸ™‚

  53. Fajar Reply

    oh iya satu lagi, bagaimana static url nya jika file telah di hosting . jika berubah diganti dengan apa ? terima kasih πŸ™‚

  54. newbe Reply

    mas, kalau menyimpan data listview diatas ke sqlite gimana ya? atau cara meyimpan file json dari url ke sqlite langsung gimana mas, mohon bantuannya dong, ni contoh file jasonnya http://walkingin.herobo.com/plgnkat.php, ane pakai android API 19

    thanks atas bantuannya, jika ndak keberatan emailin ke email yang sudah tertulis contohnya

  55. Ramdhan Reply

    maaf kaka saya minta pencerahan (solusi) nih, kenapa ya setiap buat projek yang menggunakan json parser ktika di run di avd selalu muncul unfotunately bla bla bla android stopped, termasuk ktika saya coba secript kaka ini juga begitu. mohon bimbingannya bwt seorang amatir seperti saya !!!

  56. Mahasiswa Reply

    Mantep Gan Jalan di ane sesuai gambar yang di Posting Sukses ! ..
    Sedikit tambahan buat yang force close atau (unfotunately bla bla bla android stopped) :

    Ganti di AndroidManifest.xml :

    jadi ;

    Kalo udah di import database nyaa tetep ga mau nampil, coba ceck IP localhost Xampp nya dulu: 10.0.2.2 di browser Emulator Android. Kalo yang pake Genymotion beda lagi.
    Terimagajih Semoga Membatu agan agan πŸ˜€

    • Yuki Reply

      itu yang di manifest.xml yang diganti apanya bro? bisa dijelasin nggak. . .
      ane punya permasalahan sama selalu force close dan unfortunately

  57. Hanz Reply

    Permisi semuanya, saya mau tanya. kalo misalkan kita mau download file lalu tersimpan di SD card yang sudah muncul di listiview nya gimana ya? ada yang tau syntax nya ga? mohon bantuannya jika ada yang mengerti, terima kasih..

  58. carmellita Reply

    kakak…mohon bantuannya donk..ini saya uda tulis semua scriiptnya, tapi kok force close terus ya…unable start activity component…tolongin donk….thx

  59. saiful Reply

    Kok gak bisa didownload,,padahal sy udah login…gak ada aksi apa2 ketika sudah memasukkan email….

  60. steven Reply

    mas.saya mau tanya sama dengan pertanyaan2 sebelumnya kenapa aplikasi saya bisa lancar di emulator tapi ketika di device tampilan menu utama muncul ketika saya klik button lain tiba2 blank hitam lalu ada ada tulisan “sayangnya aplikasi anda telah berhenti”/force close….saya pake android 4.3 dan aplikasi saya ini juga menggunakan JSON karena pembuatan database saya menggunakan phpmyadmin, saya sudah atur UAC windows 7 lalu sudah menggunakan ip 10.0.2.2…. mohon pencerahannya terima kasih

  61. indra Reply

    terimakasih trik nya sangat membantu saya menyelesaikan tugas rumah.. πŸ˜€