Tutorial Android JSON Webservice PHP MySQL

Demo Webservice JSON Android PHP MySQL

Artikel ini melanjutkan artikel sebelumnya tentang JSON. Dalam artikel sebelumnya telah dibahas tentang format JSON dan bagaimana membuat data JSON dari tabel MySQL dengan PHP. Dalam artikel ini, kita akan menampilkan data JSON tadi kedalam Listview seperti tampak dibawah ini.

Sekenario

Kita akan menampilkan data JSON ke dalam Listview. Jika item di klik maka akan menampilkan detail datanya.

Demo Webservice JSON Android PHP MySQL
Demo Webservice JSON Android PHP MySQL
Untuk membuat program ini minimal dibutuhkan 4 file yaitu

  1. event.java
  2. eventAdapter.java
  3. ListEventActivity.java
  4. EventDetailActivity.java

    Dari penamaannya saja, anda sudah paham masing masing file java diatas kan?Bagi yang belum memahami Custom listview, saya sarankan anda membaca artikel saya yang berjudul custom Listview sehingga anda paham dengan konsep customAdapter.

    Kode mengambil event dari server

    List<NameValuePair> params = new ArrayList<NameValuePair>();
    		JSONObject json = jParser.makeHttpRequest(VIEW_EVENT_URL, "GET", params);
    		Log.d("JSON", json.toString());
    		// when parsing JSON stuff, we should probably
    		// try to catch any exceptions:
    		try {
    			arrayevent = json.getJSONArray("list_event");
    
    			// looping through all posts according to the json object returned
    			for (int i = 0; i < arrayevent.length(); i++) {
    				JSONObject event = arrayevent.getJSONObject(i);
    				listevent.add(new
    				 Event(BitmapFactory.decodeResource(getResources(),
    				 R.drawable.jadwal), 
    				 event.getString("eventID"), 
    				 event.getString("judul"),
    				 event.getString("tanggal"),
    				 event.getString("jam"),
    				 event.getString("lokasi"))); // end of add					
    			}
    
    		} catch (JSONException e) {
    			e.printStackTrace();
    		}
    		

    menampilkan data di listview

    
    		EventAdapter adapter = new EventAdapter(this, listevent);
    		lvEvent.setAdapter(adapter);
    

    .

    mengaktifkan onItemClick

    lvEvent.setOnItemClickListener(new OnItemClickListener() {
    
    			@Override
    			public void onItemClick(AdapterView<?> parent, View view,
    					int position, long id) {
    
    				// getting values from selected ListItem
    				String eventID = ((TextView) view.findViewById(R.id.tveventID))
    						.getText().toString();
    
    				// Starting new intent
    				Intent in = new Intent(getApplicationContext(),
    						EventDetailActivity.class);
    				// sending idnama_kasus to next activity
    				in.putExtra("eventID", eventID);
    
    				// starting new activity and expecting some response back
    				startActivityForResult(in, 100);
    
    			}
    		});
    

    Perhatikan saat user mengklik listitem, eventID akan di kirim ke halaman EventDetailActivity
    Di halaman event detail activity, parameter eventID dipakai untuk mengambil
    data detail dari webservice dan menampilkannya di TextView

    Download source code

    Topik ini memang cukup komplek dan jika kode ditulis semua, maka artikel ini menjadi sangat panjang. Oleh karena itu, silahkan anda mendowload source codenya dan mencobanya sendiri. Download disini

    Happy Coding!

    Author: Candra Adi Putra

    Candra Adi Putra adalah Alumni STMIK AKAKOM Yogyakarta. Like Candralab Studio Di Facebook.

11 thoughts on “Tutorial Android JSON Webservice PHP MySQL”

  1. Kang candra mohon bantuannya kenapa setiap di ganti package langsung gak bisa install to device ada notif seperti ini.
    [2016-10-18 11:27:19 – JSONDemo1] Installation error: INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE
    [2016-10-18 11:27:19 – JSONDemo1] Please check logcat output for more details.
    [2016-10-18 11:27:19 – JSONDemo1] Launch canceled!

  2. mau tanya kang, sya buat program android menggunakan html5+cordova dengan database menggunakan mysql, yg saya mau tanyakan adalah :
    – apakah program android tersebut bsa dibuka/berjalan secara offline selayak na web localhost?
    – kalau bisa gmn cara koneksikan database tersebut agar bsa localhost?
    terimakasih sebelumnya…

  3. Mas Candra, Webserver Saya masih di Localhost, jadi
    public static final String SERVER = “http://10.0.2.2/webservice/”;

    Atau

    public static final String SERVER = “http://localhost:92/webservice/json_event.php”;…?
    Saya sudah coba jalankan projeknya, project tampil tapi tidak ada aksi atau tidak menampilkan apa2, cuman seperti gambar dibawah ini :
    Saya menggunakan genymotion sebagai emulatornya..
    Mohon Jawabanya.. Terima Kasih

Tinggalin komentar dong!