ANDROID CLIENT-SERVER
USING JSON
Project 1: Membuat Program Client Server Android Dengan Web Server
Output :
Gambar 1.1 Output Program Android Client - Server
206
Langkah pertama dalam project ini adalah membuat Web Server menggunakan Apache
sebagai Server, MySQL untuk database dan PHP untuk bahasa script Web Server.
Pertama install dahulu XAMPP untuk Server dan Database (Apache , MySQL). Klik
ganda pada installer XAMPP yang telah didownload maka akan muncul window
setup XAMPP seperti pada gambar 6.2.
Gambar 1.2 Window Setup Wizard XAMPP
Kemudian klik Next, Next dan Finish untuk meninstall XAMPP, setelah instalasi
selesai jalankan XAMPP maka akan muncul menu control panel XAMPP. Aktifkan
service Apache dan MySQL dengan tombol Start sehingga muncul status Running
untuk service Apache dan MySQL seperti pada gambar 6.3.
Gambar 1.3 Menu Control Panel XAMPP
207
Untuk mencoba apakah Web Server telah terinstall dan dapat berfungsi, buka Web
Browser (Mozilla Firefox / Google Chrome / Opera / Internet Explorer) dan pada link
address ketik localhost atau bisa juga [Link] maka akan muncul menu splash
XAMPP untuk memilih bahasa yang digunakan.
Gambar 1.4 Tampilan Awal XAMPP
Setelah memilih bahasa yang akan digunakan, maka akan muncul dengan jendela kerja
XAMPP seperti pada gambar 1.5.
Gambar 1.5 Tampilan Jendela Kerja XAMPP
Langkah selanjutnya adalah membuat Database yang akan digunakan sebagai tempat
penyimpanan data. Pada tampilan jendela kerja XAMPP, klik pada pilihan Tools >
phpMyAdmin, maka akan tampil jendela phpMyAdmin. phpMyAdmin berfungsi
untuk membuat, mengatur dan memodifikasi database yang digunakan pada Web
Server.
Gambar 1.6 Jendela Kerja phpMyAdmin
Untuk membuat database baru, klik pilihan tab Databases dan isikan pada kolom
nama database dengan dbserver, lalu klik pada button Create seperti pada gambar 6.7.
Gambar 1.7 Membuat Database Baru
Gambar 1.8 Pesan Database Berhasil Dibuat
Setelah itu, klik pada database yang baru dibuat yaitu dbserver pada sisi kiri jendela
kerja phpMyAdmin. Setelah itu akan muncul menu pembuatan table baru pada
database, ini dengan nama datachat untuk nama table dan isi angka 3 pada number of
columns seperti pada gambar 1.9.
Gambar 1.9 Membuat Table Baru Pada Database
Setelah mengisi nama dan columns, klik button go untuk melanjutkan mengisi atribut
table. Isi atribut table seperti pada gambar 1.10.
Gambar 1.10 Atribut Table datachat
10
Setelah itu simpan table yang dibuat dengan mengklik button Save pada bagian
bawah seperti gambar 1.11.
Gambar 1.11 Menyimpan Table
Penting : Setelah table dibuat, maka isikan beberapa data minimal 6 record
dengan beberapa kalimat pada kolom pesan. Untuk mengisi data record dengan
menggunakan menu tab Insert.
Langkah berikutnya adalah membuat program pada Web Server yang berfungsi untuk
menerima data komunikasi pesan yang dikirimkan dari device android dengan
menggunakan bahasa script PHP. Buatlah sebuah folder dengan nama serverchat
di lokasi C:\xampp\htdocs lalu buatlah file baru dengan nama [Link]
dan isikan dengan script PHP dibawah ini :
[Link]
<?php
$host = "localhost";
$user = "root";
$password = "";
$database = "dbserver";
mysql_connect($host,$user,$password);
mysql_select_db($database);
?>
Script PHP diatas berfungsi untuk menghubungkan database dbserver dan webserver
dengan program dari script PHP. Selanjutnya buatlah file baru dengan nama [Link] dan isikan dengan script PHP dibawah ini :
[Link]
<?php
include("[Link]");
$q = mysql_query('SELECT * FROM datachat');
$v = '{"chat" : [';
while($r=mysql_fetch_array($q)) {
$ob = array('"','<br>','</br>');
if(strlen($v)<15) {
$v .= '{"id" : "'.$r['id'].'", "nama" : "'.str_replace($ob,'
',strip_tags($r["nama"])).'", "pesan" : "'.str_replace($ob,' ',
strip_tags($r["pesan"])).'"}';
}
else {
$v .= ',{"id" : "'.$r['id'].'", "nama" : "'.str_replace($ob,'
',strip_tags($r["nama"])).'", "pesan" : "'.str_replace($ob,' ',
strip_tags($r["pesan"])).'"}';
}
}
$v
.=
']}'; echo
$v; ?>
Script PHP diatas berfungsi untuk mengirimkan data yang ada pada database dbserver
ke client yang terhubung dengan WebServer. Selanjutnya buatlah file baru dengan
nama [Link] dan isikan dengan script PHP dibawah ini :
212
[Link]
<?php
$link = mysql_connect('localhost', 'root', '') or die('Cannot connect to the
DB'); mysql_select_db('dbserver', $link) or die('Cannot select the DB');
$query = "INSERT INTO datachat(nama,pesan) VALUES ('$_POST
[nama]','$_POST[pesan]')";
$result = mysql_query($query, $link) or die('Error query: '.
$query); ?>
Script PHP diatas berfungsi untuk menginput data pesan yang diterima dari client
android ke database dbserver.
Langkah selanjutnya adalah mengkonfigurasi Wireless Router untuk menghubungkan
device Android dengan Server dengan menggunakan topologi seperti pada gambar
1.12 dibawah.
Gambar 1.12 Topologi Client Server Android
213
Hubungkan PC Server dengan perangkat Wireless Router menggunakan kabel UTP
model cross, untuk PC Server gunakan konfigurasi static IP Address seperti dibawah
ini :
IP Address
: [Link]
Subnet Mask
: [Link]
Default Gateway
: [Link]
Setelah selesai mengkonfigurasi IP Address PC Server, ketik alamat IP Address
Wireless Router yaitu [Link] pada Web Browser PC Server maka akan muncul
prompt window untuk user dan password isikan untuk user : admin dan password :
admin. Setelah berhasil login, maka akan diarahkan langsung ke menu konfigurasi
Wireless Router. Langkah pertama, klik tab Wireless dan pada tab Wireless Settings,
isikan konfigurasi seperti pada gambar 1.13.
Gambar 1.13 Konfigurasi Wireless Settings
Setelah selesai mengisi konfigurasi sesuai dengan gambar 1.13, klik button Save,
kemudian Wireless Router akan meminta untuk mereboot, abaikan saja lanjutkan
dengan mengklik tab Wireless Security dan isikan konfigurasi seperti pada gambar
1.14.
Gambar 1.14 Konfigurasi Wireless Security
Setelah selesai mengisi konfigurasi Wireless Security klik button Save, kemudian
Wireless Router akan meminta untuk mereboot, abaikan saja lanjutkan dengan
mengklik tab menu DHCP dan pilih DHCP Settings lalu isikan konfigurasi seperti
pada gambar 1.15.
Gambar 1.16 Konfigurasi DHCP Settings
Setelah selesai mengisi konfigurasi Wireless Security klik button Save, kemudian
Wireless Router akan meminta untuk mereboot, lakukan Reboot pada Wireless Router.
Gambar 1.16 Reboot Wireless Router Untuk Menerapkan Konfigurasi
Langkah selanjutnya adalah membuat program Client Android. Buka software Eclipse
ADT Bundle, pilih File >New >Android Application Project atau New >
Project kemudian pilih Android Project > Next.
Gambar 1.17 Membuat Project Android Baru
Isikan semua field yang ada pada jendela New Android Project,
Application Name : ClientProject
Project Name : ClientProject
Package Name : [Link]
Pada minimum requirement SDK pilih Android 2.2 (Froyo)
Pada Target SDK dan Compile With pilih Android 4.2 (Jelly Bean)
Theme : none
Kemudian klik Next hingga window Blank Activity, isikan nama activity dengan
MainActivity dan nama layout dengan activity_main.
Setelah selesai klik Finish.
8. Buat folder dengan nama drawable pada res dan copy semua gambar yang dibutuhkan
ke dalam folder tersebut
[Link] itu akan terbentuk file [Link] didalam folder src dan juga terdapat
activity_main.xml didalam folder res/layout. Selanjutnya adalah membuat layout
untuk program, buka folder res/layout dan klik ganda pada file activity_main.xml,
dan ganti dengan kode XML activity_main.xml pada komputer server.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="[Link]
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="360dp"
/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@android:id/list"
>
<Button
android:id="@+id/cha
t"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="tr
ue"
android:layout_alignParentLeft="true"
android:text="Chat" />
<Button
android:id="@+id/refres
h"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="tr
ue"
android:layout_centerHorizontal="true
" android:text="Refresh" />
<Button
android:id="@+id/kelua
r"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="tr
ue"
android:layout_alignParentRight="true
" android:text="Keluar" />
</RelativeLayout
> </RelativeLayout>
Buatlah dua buah file XML baru dengan nama baca_activity.xml dan kirim_activity.xml.
Kemudian, copy dan paste isi layout [Link] dan list_item.xml dengan kode XML
yang ada pada komputer server.
baca_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/ti
ga"> <ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="match_paren
t"
android:layout_height="match_pare
nt" android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_conten
t"
android:layout_alignParentLeft="true
"
android:layout_alignParentTop="true
" android:text="Cippher Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/txt_cippher"
android:layout_width="fill_parent
" android:layout_height="86dp"
android:ems="10"
android:inputType="textMultiLine" />
<TextView
android:id="@+id/TextView01"
android:layout_width="fill_parent
"
android:layout_height="wrap_conte
nt" android:text="Plaint Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/txt_plain
"
android:layout_width="fill_parent"
android:layout_height="99dp"
android:ems="10"
android:inputType="textMultiLine" /
>
<Button
android:id="@+id/btn_subm
it"
android:layout_width="fill_parent"
android:layout_height="wrap_conte
nt" android:layout_x="191dp"
android:layout_y="386dp"
android:text="Submit" />
<Button
android:id="@+id/btn_refres
h"
android:layout_width="fill_parent"
android:layout_height="wrap_conte
nt" android:text="Refresh" />
</LinearLayout
> </ScrollView>
</LinearLayout>
baca_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/ti
ga"> <ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="match_paren
t"
android:layout_height="match_pare
nt" android:orientation="vertical" >
<TextView
android:id="@+id/TextView01"
android:layout_width="fill_parent
"
android:layout_height="wrap_conte
nt" android:text="Kirim Pesan"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/txt_sen
d"
android:layout_width="fill_parent"
android:layout_height="99dp"
android:ems="10"
android:inputType="textMultiLine" /
>
<Button
219
android:id="@+id/kirim"
android:layout_width="fill_parent"
android:layout_height="wrap_conte
nt" android:text="Kirim" />
</LinearLayout
> </ScrollView>
</LinearLayout>
Langkah selanjutnya membuat program untuk menjadi class parser JSON. Buat file
Java baru dengan nama [Link]. Buka file java [Link] kemudian
ganti dengan kode pada komputer server.
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
public JSONObject getJSONFromUrl(String
url) { try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = [Link](httpPost);
HttpEntity httpEntity = [Link]();
is = [Link]();
} catch (UnsupportedEncodingException
e) { [Link]();
220
} catch (ClientProtocolException e)
{ [Link]();
} catch (IOException e) {
[Link]();
try {
BufferedReader reader = new BufferedReader(new
InputStreamReader( is, "UTF-8"), 8);
StringBuilder sb = new
StringBuilder(); String line = null;
while ((line = [Link]()) != null) {
[Link](line + "\n");
}
[Link]();
json =
[Link](); } catch
(Exception e) {
Log.e("Buffer Error", "Error converting result " + [Link]());
}
try {
jObj = new
JSONObject(json); } catch
(JSONException e) {
Log.e("JSON Parser", "Error parsing data " + [Link]());
}
return jObj;
Langkah selanjutnya membuat program untuk menjadi class parser cryptography. Buat
file Java baru dengan nama [Link]. Buka file java
[Link] kemudian ganti dengan kode pada komputer server.
[Link]
package
[Link]; import
[Link];
public class EncryptDecrypt
{ static String
SharedKEY =
"Q|W|E|R|T|Y|U|I|I|O|P|A|S|D|F|G|H|J|K|L|Z|X|C|V|B|N|M|b|n|m|!|
|@|#|5|q|w|e|r|t|y|u|i|o|p|a|s|d|f|g|h|j|k|l|z|x|c|v|4|3|2|1|6|7|,|.|0|)|(|*|?|&|^|%| 8|9|$";
static String hurufIndo = "M|N|B|V|C|X|Z|L|K|J|H|G|D|S|A|P|O|I|U|T|R|E|W|Q|a|b|
c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r| s|t|u|v|w|x|y|z| |.|#|@|1|2|3|4|5|6|7|8|9|0|$|%|^|&|*|
(|)|?|,|!";
static String[] SHAREDKEYARR =
[Link]("|"); static String[] HURUFINDOARR
= [Link]("|");
public static String encrypt(String kataAsli)
{ String[] tempcoy = [Link]("");
//ini deklarasi string buat output decrypt
String tempEnc = "";
221
for(int i = 0;i < [Link]();i++)
{ tempEnc = tempEnc +
HURUFINDOARR[[Link](SHAREDKEYARR).indexOf(tempcoy[i])];
}
String str_enc = merubahAscii(tempEnc);
return str_enc;
public static String decrpt(String kataPalsu)
{ //ini untuk ngedecrypt
String str_dec =
merubahChar(kataPalsu); String[]
tempcoy2 = str_dec.split(""); String
tempDec = "";
for(int i = 0;i < str_dec.length();i++)
{ tempDec = tempDec +
SHAREDKEYARR[[Link](HURUFINDOARR).indexOf(tempcoy2[i])];
}
return tempDec;
}
public static String merubahAscii(String coba)
{ char[] stringToCharArray =
[Link]();
String EncOU = "";
for (char output : stringToCharArray){
EncOU = EncOU + memaksaJadiTiga(CharToASCII(output) );
}
return EncOU;
public static String merubahChar(String
EncOU2){ String kataTambah ="";
for(int i = 0 ; i < [Link](); i+=3)
{ kataTambah+=ASCIIToChar([Link]([Link](i,i
+3)));
}
return kataTambah;
}
public static String memaksaJadiTiga(int
k){ String ou = [Link](k);
if([Link]() == 1){
ou = "00" + ou;
}
else if([Link]() == 2)
{ ou = "0" + ou;
}
return ou;
}
public static int CharToASCII(final char character)
{ return (int)character;
222
public static char ASCIIToChar(final int ascii)
{ return (char)ascii;
}
}
Selanjutnya membuat program untuk koneksi ke Server, buka folder src kemudian klik dua
kali pada [Link], copy dan paste source code [Link] pada komputer
server dan isikan blok program yang kosong.
[Link]
package [Link];
import [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
import [Link];
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle
savedInstanceState)
{ [Link](savedInstanceState);
//code 1 setContentView([Link].
[Link].activity_main);
//code 2
Button b_baca = (Button)findViewById([Link]. [Link].btn_baca);
Button b_kirim = (Button)findViewById([Link]. [Link].btn_kirim);
//code 3
b_baca.setOnClickListener(new [Link]() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent([Link],
[Link]);
[Link](Intent.FLAG_ACTIVITY_NO_HISTORY)
; startActivity(i);
}
});
//code 4
b_kirim.setOnClickListener(new [Link]() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent ij = new Intent([Link],
[Link]);
[Link](Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(ij);
});
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate([Link],
menu); return true;
}
}
Petunjuk pengisian Code 1 [Link]:
Pada blok kode 1 isi dengan nama layout yang digunakan
Petunjuk pengisian Code 2 [Link]:
Pada blok kode 2 isi dengan nama id sesuai yang ada di xml layout.
Petunjuk pengisian Code 3 & 4 [Link] :
Pada kode 3 isi dengan nama masing2 aktifiti yang akan berpindah
Setelah program pada [Link] selesai, maka lanjutkan dengan membuat file
Java baru dengan nama [Link]. Buka file java [Link]
kemudian ganti dengan kode pada komputer server.
[Link]
package [Link];
import [Link];
import
[Link];
import
[Link];
import
[Link];
import [Link];
import [Link];
import [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
import [Link];
import [Link];
224
import
[Link];
import [Link];
import [Link];
import
[Link];
import [Link];
import
[Link];
import [Link];
public class KirimActivity extends Activity {
Button Kirim;
EditText Nama;
EditText Pesan;
EncryptDecrypt ende;
final Context context = this;
public void onCreate(Bundle
savedInstanceState)
{ [Link](savedInstanceState);
//code 1
setContentView([Link]
m_activity); //code 2
Pesan
=
(EditText)
txt_send);
Kirim
findViewById([Link]);
EncryptDecrypt();
findViewById([Link].
=
(Button)
ende
=
new
[Link](new [Link]() {
@Override
public void onClick(View arg0)
{ new Thread(new Runnable()
{
public void run() {
int TIMEOUT_MILLISEC = 30000;
HttpParams httpParams = new BasicHttpParams();
[Link](httpPa
rams,
TIMEOUT_MILLISEC);
[Link](httpParams,
TIMEOUT_MILLISEC);
HttpClient client = new
DefaultHttpClient(httpParams); List<NameValuePair>
nameValuePairs = new
ArrayList<NameValuePair>(2);
[Link](new BasicNameValuePair("nama",
"")); [Link](new
BasicNameValuePair("pesan",
[Link]([Link]().toString() + " ")));
//code 3
try {
HttpPost postnya = new
HttpPost("http:// [Link]/server_chat/[Link]");
[Link](new
UrlEncodedFormEntity(nameValuePairs));
[Link](postnya);
}
catch(Exception e)
{ [Link]
e();
}
225
}
}).start();
//coba
[Link] alertDialogBuilder =
new [Link](context);
[Link]("Notifikasi");
alertDialogBuilder
.setMessage("Pesan Telah Dikirim Ke Server!")
.setCancelable(false)
.setPositiveButton("OK",new [Link]()
{
public void onClick(DialogInterface dialog,int id) {
Intent back = new
Intent([Link],
[Link]);
[Link](Intent.FLAG_ACTIVITY_NO_HISTO
RY); startActivity(back);
}
});
AlertDialog alertDialog =
[Link](); [Link]();
}
});
}
Petunjuk pengisian Code 1 [Link] :
Pada blok Code 1 adalah terdapat setContentView dimana digunakan untuk
mendefinisikan tampilan layout (XML) yang digunakan. Tampilan yang
digunakan adalah kirim_activity.xml.
Petunjuk pengisian Code 2 [Link] :
Pada bagian inisiasi objek, yaitu objek EditText dan juga button. Sesuaikan nama
dari dengan yang ada pada bagian deklarasi objek dan sesuiakan id dengan
tampilan yang digunakan.
Petunjuk pengisian Code 3 [Link] :
226
Inisialisasikan ip address komputer server.
Setelah program pada [Link] selesai, maka lanjutkan dengan membuat file
Java baru dengan nama [Link]. Buka file java [Link]
kemudian ganti dengan kode pada komputer server.
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import
[Link];
import [Link];
import [Link];
import [Link];
import
[Link];
import [Link];
import
[Link];
import [Link];
import [Link];
import [Link];
import
[Link];
import [Link];
import
[Link];
import [Link];
import
[Link];
import [Link];
import [Link];
import [Link];
public class BacaActivity extends Activity {
//isi dengan ip address dari server komputer
private static String server = "http://
[Link]/server_chat/[Link]";
//isi dengan string id nama dan pesan (hanya pesan yang
digunakan id dan nama digunakan untuk pengembangan)
private static final String ID = "id";
private static final String NAMA =
"nama"; private static final String
PESAN = "pesan"; EncryptDecrypt ende;
JSONArray chat = null;
EditText ed_cippher;
EditText ed_plain;
@Override
protected void onCreate(Bundle
savedInstanceState)
{ [Link](savedInstanceState);
//code 1
setContentView([Link].
baca_activity);
227
//isi dengan class button
Button b_submit = (Button)findViewById([Link].btn_submit);
Button b_refresh =
(Button)findViewById([Link].btn_refresh); //isi dengan class
penurunan edittext
ed_plain = (EditText)findViewById([Link].txt_plain);
ed_cippher =
(EditText)findViewById([Link].txt_cippher);
//untuk mengetahui koneksi
tersambung boolean jaringan =
isNetworkOnline();
if(jaringan == false)
{ Context context =
this;
[Link] alertDialogBuilder =
new [Link](context);
[Link]("Notifikasi : Koneksi Error");
alertDialogBuilder
.setMessage("Periksa Konektifitas Jaringan Device!")
.setCancelable(false)
.setPositiveButton("OK",new
[Link]() { public void
onClick(DialogInterface dialog,int id) {
Intent close = new
Intent(Intent.ACTION_MAIN);
[Link](Intent.CATEGORY_HOME);
[Link](Intent.FLAG_ACTIVITY_NEW_TAS
K); startActivity(close);
}
});
}
//jaringan true
if(true){
new Thread(new
Runnable() { public void
run() {
//code 2
//isi dengan penurunan class JsonParser
JSONParser jParser = new JSONParser();
//isi dengan variable turunan json
paser
JSONObject
json
=
[Link](server); try {
chat = [Link]("chat");
for(int i = 0; i < [Link](); i++){
JSONObject objjson =
[Link](i); String id =
[Link](ID);
String nama = [Link](NAMA);
String pesan =
[Link](PESAN);
//pesan id nama pesan tinggal print di
ed_cippher.setText(pesan);
}}
catch (JSONException e)
{ [Link]();
}
catch (NullPointerException e)
{ [Link](); }
catch (RuntimeException e)
{ [Link]();
228
}
}
}).start();
//code 3
//isi dengan class yang digunakan
untuk ende = new EncryptDecrypt ();
b_submit.setOnClickListener(new
[Link]()
@Override
public void onClick(View v) {
// TODO Auto-generated method
stub //ini untuk translate pesan
ed_plain.setText([Link](ed_cippher.getText().toString()));
}
});
b_refresh.setOnClickListener(new [Link]()
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent refresh = new
Intent([Link], [Link]);
[Link](Intent.FLAG_ACTIVITY_NO_HISTO
RY); startActivity(refresh);
}
});
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is
present.
getMenuInflater().inflate([Link],
menu); return true;
}
public boolean isNetworkOnline()
{ boolean status = false;
ConnectivityManager cm =
(ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = [Link](0);
if
([Link]()==[Link]
NNECTED) { status = true;
}else
status = false;
229
netInfo = [Link](1);
if([Link]()==[Link]
CTED){
status =
true; }else
status = false;
return status;
}
}
Petunjuk pengisian Code 1 [Link] :
Pada blok Code 1 adalah terdapat setContentView dimana digunakan untuk
mendefinisikan tampilan layout (XML) yang digunakan. Tampilan yang
digunakan adalah kirim_activity.xml.
Pada bagian inisiasi objek, yaitu objek EditText dan juga button. Sesuaikan nama
dari dengan yang ada pada bagian deklarasi objek dan sesuiakan id dengan
tampilan yang digunakan.
Petunjuk pengisian Code 2 [Link] :
Pada bagian inisiasi objek, yaitu objek JsonParser untuk selanjutnya sesuaikan
nama dari variable yang telah mendeklarasikan objek JsonParser.
Petunjuk pengisian Code 3 [Link] :
Inisialisasikan dengan class Encryp decrypt yang sebelumnya telah dibuat.
Selanjutnya adalah mendefinisikan Activity dan menambahkan Permission pada
[Link]. Berikut adalah kode yang ditambahkan untuk mendefinisikan
Class pada file [Link] :
<activity
<activity
<activity
<activity
android:name=".KirimActivity"></activity>
android:name=".BacaActivity"></activity>
android:name=".JSONParser"></activity>
android:name=".EncryptDecrypt"></activity>
Berikut adalah kode yang ditambahkan untuk mendefinisikan Permission pada file
[Link] :
<uses-permission android:name="[Link]" />
<uses-permission android:name="[Link].ACCESS_NETWORK_STATE"/>
Tag kode Activity harus ditambahkan dibawah tag penutup activity default </activity>.
230
Untuk
Tag
kode
</application>.
Permission
ditambahkan
dibawah
tag penutup
application
Sehingga hasil akhirnya akan menjadi seperti dibawah ini :
[Link]
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="[Link]
package="[Link]"
android:versionCode="1"
android:versionName="1.0
">
<uses-sdk
android:minSdkVersion=
"8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launch
er"
android:label="@string/app_name"
android:theme="@style/AppTheme"
> <activity
android:name="[Link]
y" android:label="@string/app_name" > <intentfilter>
<action android:name="[Link]" />
<category
android:name="[Link]" />
</intent-filter>
</activity>
<activity android:name=".KirimActivity"></activity>
<activity android:name=".BacaActivity"></activity>
<activity android:name=".JSONParser"></activity>
<activity
android:name=".EncryptDecrypt"></activity>
</application>
<uses-permission
android:name="[Link]" /> <usespermission
android:name="[Link].ACCESS_NETWORK_S
TATE"/> </manifest>
Setelah menambahkan tag activity dan permission untuk mendefinisikan Class tambahan
tersebut maka Running Project untuk melihat output dengan cara klik kanan pada
Project > Run As > Android Project atau dengan mengklik simbol
Eclipse.
pada toolbar