Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien

Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien - Hallo sahabat Kumpulan Aplikasi Android Tercanggih Pilihan Yang Paling Berguna, Pada Artikel yang anda baca kali ini dengan judul Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien
link : Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien

Baca juga


Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien

Ini adalah lanjutan dari tutorial tentang komunikasi antara Android, PHP dan MYSQL database. Tapi sebelum melanjutkan baca halaman ini, bacalah lebih dahulu tutorial bagian1, bagian 2 dan bagian 3.

Di halaman ini kita akan membuat sebuah class JSON yang akan di pakai oleh class-class lain-nya agar sebuah aplikasi bisa dinamik dan responsive. Kalau perhatikan isi  dari class-class di tutorial bagian1, 2 dan 3 ...disana  JSON_nya telah di deklarasi dan telah terpakai dengan nama ClassJSONParser.java. Saya sengaja menamakan-nya demikian karena ia memang bekerja untuk 'parsing' data antar klien dan server.

Berikut adalah isi dari ClassJSONParser.java
package com.vik_sintus.projects.koneksiandroidmysql;
/** ©Vik Sintus Projects */
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;

import android.util.Log;

public class ClassJSONParser {

static InputStream inputStreamNya = null;
static JSONObject JSONObjectNya = null;
static String jsonStringNya = "";

// berikut adalah constructor-nya
public ClassJSONParser() {

}

//ambil json object melalui url script_nya maksudnya
//object yang dari php yang ada di server
public JSONObject ambilJsonDariUrl(final String urlNya) {

// object dari Json di ambil melalui http request
try {
// kirim data bolak-balik pakai 'post' yah biar agak aman.
DefaultHttpClient httpClientNya = new DefaultHttpClient();
HttpPost httpPostNya = new HttpPost(urlNya);

// begitu juga dengan jawaban dari server pakai metode POST
HttpResponse httpResponseNya = httpClientNya.execute(httpPostNya);
// mengambil data yang dapat di response oleh server.
HttpEntity httpEntityNya = httpResponseNya.getEntity();
// buka sebuah inputStream ke data yang ada.
inputStreamNya = httpEntityNya.getContent();

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

try {
// buat sebuah BufferedReader untuk di parse melalui inputStream.
BufferedReader bufferedReaderNya = new BufferedReader(new InputStreamReader(
inputStreamNya, "iso-8859-1"), 8);
// deklarasikan sebuah string utk membantu proses parsing-nya.
StringBuilder stringBuilderNya = new StringBuilder();
// deklarasi sebuah string utk menyimpan
// data JSON object dalam bentuk string.
String barisanStringNya = null;

// susun string-nya sampai null(habis). baris demi baris
while ((barisanStringNya = bufferedReaderNya.readLine()) != null) {
stringBuilderNya.append(barisanStringNya + "\n");
}

// tutup input stream-nya.
inputStreamNya.close();
// ubalah 'string builder data' menjadi string aslinya.
jsonStringNya = stringBuilderNya.toString();
} catch (Exception e) {
Log.e("BufferNya Salah", "Salah mengolah menjadi string aslinya " + e.toString());
}

// coba mengolah stringNya menjadi sebuah JSON object
try {
JSONObjectNya = new JSONObject(jsonStringNya);
} catch (JSONException e) {
Log.e("JSON ParserNya", "Salah Mengolah data " + e.toString());
}

return JSONObjectNya;

}


// fungsi ambilJsonDariUrl dengan
// cara HTTP POST atau GET
public JSONObject membuatHttpRequest(String urlNya, String caraNya,
List<NameValuePair> parameterNya) {

// buat jalur HTTP-nya
try {

// priksa metode yang di pakai POST atau GET
if(caraNya == "POST"){
DefaultHttpClient httpClientNya = new DefaultHttpClient();
HttpPost httpPostNya = new HttpPost(urlNya);
httpPostNya.setEntity(new UrlEncodedFormEntity(parameterNya));

HttpResponse httpResponseNya = httpClientNya.execute(httpPostNya);
HttpEntity httpEntityNya = httpResponseNya.getEntity();
inputStreamNya = httpEntityNya.getContent();
//kalau pakai cara 'GET' maka search string_nya akan
//tampak di URL
}else if(caraNya == "GET"){
DefaultHttpClient defaultHttpClientNya = new DefaultHttpClient();
String stringYgTampakDiUrl = URLEncodedUtils.format(parameterNya, "utf-8");
urlNya += "?" + stringYgTampakDiUrl;
HttpGet httpGetNya = new HttpGet(urlNya);

HttpResponse httpResponseNya = defaultHttpClientNya.execute(httpGetNya);
HttpEntity httpEntityNya = httpResponseNya.getEntity();
inputStreamNya = httpEntityNya.getContent();
}

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

try {
BufferedReader bufferedReaderNya = new BufferedReader(new InputStreamReader(
inputStreamNya, "iso-8859-1"), 8);
StringBuilder stringBuilderNya = new StringBuilder();
String barisanDataNya = null;
while ((barisanDataNya = bufferedReaderNya.readLine()) != null) {
stringBuilderNya.append(barisanDataNya + "\n");
}
inputStreamNya.close();
jsonStringNya = stringBuilderNya.toString();
} catch (Exception e) {
Log.e("Buffer_nya Error", "Salah mengkonvert hasil" + e.toString());
}

// coba parsing string-nya menjadi JSON object
try {
JSONObjectNya = new JSONObject(jsonStringNya);
} catch (JSONException e) {
Log.e("JSON ParserNya", "Salah proses datanya " + e.toString());
}

return JSONObjectNya;

}
}


Saya telah menyisipkan banyak komentar di dalam kode di atas.... silahkan di coba di bangun di android dan di kembangkan menjadi aplikasi besar

Kalau ingin coba menjalankan aplikasi ini di HP atau di emulator ...Berikut adalah beberapa file pelengkap aplikasi ini. Ada satu file xml yang tidak ada class pasangan-nya seperti ClassBacaKomentar.java berpasangan dengan baca_komentar.xml.
File yang yang tak punya pasangan itu bernama komentar_tunggal.xml yang harus di tempatkan bersama file xml yang lain-nya di dalam folder 'layout' di android. Dia bekerja untuk mengatur tampilan dari setiap satu komentar. Berikut adalah isi dari file komentar_tunggal.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="wrap_content"
android:background="#f0f0f0"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/garis_pinggir_komentar"
android:orientation="vertical" >

<LinearLayout
android:id="@+id/kotakKomentar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="@drawable/latar_belakang_komentar"
android:orientation="horizontal" >

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/lodokn_one" />

<LinearLayout
android:id="@+id/kotakKomentar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:orientation="vertical"
android:padding="5dp" >

<TextView
android:id="@+id/judul"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:paddingBottom="2dip"
android:paddingLeft="5dp"
android:paddingTop="6dip"
android:textColor="#333"
android:textSize="16sp"
android:textStyle="bold" />

<TextView
android:id="@+id/komentar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="2dip"
android:paddingLeft="8dp"
android:textColor="#888" >
</TextView>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="5dp" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:paddingLeft="5dp"
android:text="Nama: "
android:textColor="#5d5d5d"
android:textStyle="bold" >
</TextView>

<TextView
android:id="@+id/usernameNya"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:textColor="#acacac"
android:textStyle="bold" >
</TextView>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

Perhatikan file komentar_tunggal.xml diatas ia minta dua buah file untuk di masuk-kan ke dalam folder 'drawable' . Kedua file tsb antara lain:
garis_pinggir_komentar.xml yang isinya nampak sebagai berikut:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true"><shape>
<solid android:color="#cccccc" />
</shape></item>
<item><shape>
<gradient android:angle="270"
android:endColor="#ccc"
android:startColor="#fff" />

<corners android:radius="2dp" />
</shape></item>

</selector>

Dan latar_belakang_komentar.xml sebagai berikut
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true">
<shape>
<solid android:color="#cccccc" />
</shape></item>
<item><shape>
<gradient android:angle="90"
android:endColor="#f5f5f5"
android:startColor="#fff" />
</shape></item>

</selector>

Berikut adalah isi dari AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.vik_sintus.projects.koneksiandroidmysql"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET"/>

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/nama_aplikasi"
android:theme="@style/AppTheme" >
<activity
android:name="com.vik_sintus.projects.koneksiandroidmysql.ClassUtkLogIn"
android:label="@string/nama_aplikasi" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.vik_sintus.projects.koneksiandroidmysql.ClassRegistrasi"
android:label="@string/nama_aplikasi" >
</activity>
<activity
android:name="com.vik_sintus.projects.koneksiandroidmysql.ClassTambahKomentar"
android:label="@string/nama_aplikasi" >
</activity>
<activity
android:name="com.vik_sintus.projects.koneksiandroidmysql.ClassBacaKomentar"
android:label="@string/nama_aplikasi" >
</activity>
</application>

</manifest>
masih ada beberapa file lagi ... stay tune yah



Demikianlah Artikel Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien

Sekianlah artikel Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

Anda sekarang membaca artikel Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien dengan alamat link https://aplikasijalantikus.blogspot.com/2013/10/membangun-class-jsonjavascript-object.html

0 Response to "Membangun Class JSON(javaScript Object Notation) untuk definisi pertukaran data antara server dan klien"

Posting Komentar