Anda di halaman 1dari 68

Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Setetes Harapan tanpa Henti

Bermula dari Keingintahuan

Membuat Aplikasi Client Server menggunakan Android, PHP


dan MySQL

Posted on 17 June 2013 by Pizaini

i
16 Votes

Posting kali ini, kita mencoba membuat aplikasi client server berbasis Android dan menghubungkan dengan database MySQL.
Client-server ? Ya…. Kita akan membuat aplikasi Android yang datanya akan disimpan pada sebuah server. Bisa local (localhost)
atau di internet.

Mengapa kita harus menympan data di database, bukankah di Android memiliki database untuk menyimpan data ?. Sebenarnya
Android memiliki fasilitas untuk menyimpan data yaitu:

1. Shared preferences. Terdiri dari key dan value data. Model ini biasanya untuk menyimpan se�ingan (pengaturan) sebuah
aplikasi.
2. File. Fasilitas ini juga dapat menyimpan data sama halnya dengan Shared Preferences, hanya saja data disimpan ke dalam bentuk
file. Misalnya: txt, xml atau bentuk file lainnya
3. SQLite Database. Fasilitas ini cukup idel untuk menyimpan data yang lumayan banyak. Berbeda halnya dengan no 1 dan 2 di
atas yang biasanya untuk menyimpan data yang sedikit seperti pengaturan. Dengan SQLite, kita dapat melakukan query dan
table-table seperti halnya database pada umumnya.

Untuk mempelajari ketiga fasilitas di atas, silakan klik h�p://developer.android.com/training/basics/data-storage/index.html.

Ketiga fasilitas di atas menyimpan data pada ponsel pengguna (client). Nah, bagaimana jika ingin data itu selalu update dan dapat
mengaksesnya siapa saja dan dimana saja (anyone, anytime and anywhere)?. Itulah alasanya mengapa kita memerlukan sebuah
server dalam hal ini MySQL.

Aplikasi yang akan kita bangun tergambar seperti berikut:

1 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Android, PHP, MySQL

Berdasarkan gambar di atas, ponsel Android akan melakukan request (get/post) ke server melalui internet. Cara ini juga sama jika
ingin aplikasi berada pada localhost. Selanjutnya web server (dalam hal ini PHP), akan memproses request dari Android dan akan
melakukan query ke database (MySQL). Jadi, akan ada tiga hal yang harus kita lakukan:

1. Membuat Database
2. Membuat script PHP
3. Membuat aplikasi Android

OK….. langsung saja

1. Membuat database MySQL

Database: latihan_android

Table: mahasiswa (id, nim, nama, telp, alamat)

1 create database latihan_android;


2 use latihan_android;
3
4 CREATE TABLE IF NOT EXISTS `mahasiswa` (
5 `id` int(11) NOT NULL AUTO_INCREMENT,
6 `nim` varchar(11) NOT NULL,
7 `nama` varchar(100) NOT NULL,
8 `telp` varchar(50) NOT NULL,
9 `alamat` varchar(255) NOT NULL,
10 PRIMARY KEY (`id`)
11 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ;
12
13 --
14 -- Dumping data for table `mahasiswa`
15 --
16
17 INSERT INTO `mahasiswa` ( `nim`, `nama`, `telp`, `alamat`) VALUES
18 ( '2222', 'aaaa', '0801', 'Alamat 1'),
19 ( '1111', 'bbbb', '0802', 'Alamat 2'),
20 ( '2222', 'cccc', '0803', 'Alamat 3'),
21 ( '3333', 'dddd', '0804', 'Alamat 4'),
22 ( '1111', 'eeee', '0805', 'Alamat 5'),
23 ( '2222', 'ffff', '0806', 'Alamat 6'),
24 ( '3333', 'gggg', '0807', 'Alamat 7'),
25 ( '4444', 'hhhh', '0808', 'Alamat 8'),
26 ( '5555', 'iiii', '0809', 'Alamat 9');

2. Membuat script PHP

2 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Database sudah selesai, selanjutnya adalah membuat script server side. Koq kita butuh script server side, Kita kan belajar Android
(Java) ? … Sebenarnya Android tidak dapat berkomunikasi langsung dengan MySQL untuk memanipulasi database. Untuk itu, kita
membutuhkan script server side misalnya ASP, JSP atau PHP untuk bisa menjadi “jembatan” antara Android dengan MySQL. Jadi,
Android hanya memberika perintah (request) ke PHP dan PHP lah yang akan melaksanakan query ke MySQL.

Pada posting ini, kita membuat 5 (lima) file PHP.

1. index.php : sebagai file index dan hanya berisi HTML

2. connection.php: sebagai file koneksi ke database

3. select_all.php: untuk melakukan query select all, mengabil seluruh data dari table Mahasiswa

4. submit_mahasiswa.php : untuk memproses simpan dan update

5. delete_mahasiswa.php: untuk menghapus (delete) data mahasiswa

Semua file di atas diletakkan dalam direktori “android”. c:/xampp/htdocs/android. (sesuaikan dengan direktori server Anda).

index.php

1 <html>
2 <head>
3 <title>Index Android</title>
4 </head>
5 <body>
6 <h3>Index Android</h3>
7 </body>
8 </html>

connection.php

1 <?php
2
3 /*silakan sesuaikan dengan konfigurasi server Anda*/
4 $conn = mysql_connect('localhost', 'root', 'xxxxx') or die(mysql_error());
5 $db = mysql_select_db('latihan_android') or die(mysql_error());
6 ?>

select_all.php

1 <?php
2
3 /*reply data dalam JSON */
4
5 include('connection.php');
6 $query = 'select * from mahasiswa';
7 $result = mysql_query($query) or die(mysql_error());
8
9 $data = array();
10 while($row = mysql_fetch_object($result)){
11 $data['mahasiswa'][]= $row;
12 }
13 echo json_encode($data);
14 ?>

submit_mahasiswa.php

3 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 <?php
2
3 /**jika id = 0,maka akan dilakukan insert, jika tidak update berdasarkan id */
4 include('connection.php');
5
6 $id = (int)$_POST['id'];
7 $nim = $_POST['nim'];
8 $nama = $_POST['nama'];
9 $telp = $_POST['telp'];
10 $alamat = $_POST['alamat'];
11
12 $query = 'insert into mahasiswa (nim, nama, telp, alamat) values ("'.$nim.'", "'.$nama.'", "'.$telp.'", "'
13 if($id > 0){
14 $query = 'update mahasiswa set nama = "'.$nama.'", nim = "'.$nim.'", telp = "'.$telp.'", alamat = "'
15 }
16 mysql_query($query) or die(mysql_error());
17
18 ?>

delete_mahasiswa.php

1 <?php
2
3 /**menghapus mahasiswa berdasarkan id*/
4 include('connection.php');
5 $id = (int)$_GET['id'];
6 $query = 'delete from mahasiswa where id = '.$id;
7 $result = mysql_query($query) or die(mysql_error());
8 if(mysql_affected_rows() > 0){
9 echo 'deleted id = '.$id;
10 }else{
11 echo 'NOT founnd id = '.$id;
12 }
13 ?>

Script PHP sudah selesai dan selanjutnya membuat aplikasi inti yaitu Android. Ada baiknya, sebelum membuat aplikasi android,
kita test dulu apakah script PHP sudah bisa diakses dari emulator.

Caranya mudah, cukup buka browser dari emulator (AVD), dan bukalah url h�p://10.0.2.2/android/index.php (h�p://10.0.2.2
/android/index.php)

10.0.2.2 adalah host default untuk mengakses server local.

4 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

(h�ps://lh3.googleusercontent.com
/-iKwp-YVP8OE/Ub1oeX5mhzI/AAAAAAAAAZ8/ias6GJ_6Gec/w689-h549-no/Untitled.jpg)
Index

Jika direktori dan file nya benar, server aktif dan MySQL aktif, maka tampilannya seperti gambar di atas, berari emulator sudah
dapat mengakses localhost dan kita siap untuk membuat aplikasi Android.

3. Membuat aplikasi Android

Buatlah project Android seperti gambar berikut:

5 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

(h�ps://lh3.googleusercontent.com
/-HHuV9lePo2o/Ub1rr9c_ouI/AAAAAAAAAac/gvUolEq78e8/w640-h549-no/03.jpg)
create

Pada project ini, kita membuat aplikasi dengan Min Requirement SDK adalah API 11 (Honeycomb) . Karena di aplikasi ini memiliki
Action Bar (Action Bar hanya tersedia pada API 11 ke atas).

Secara default, Eclipse akan membuat 1 Activity dan 1 layout (MainActivity.java dan activity_main.xml).

a. Membuat object Mahasiswa

Yang pertama kita lakukan adalah membuat object Mahasiswa. Yha…. Mahasiswa, karena table yang dibuat sebelumnya adalah
mahasiswa. Class Mahasiswa sangat membantu kita memanipulasi object. Salah satunya adalah konsep Object Relational Mapping
(ORM) yang menggunakan object yang sama untuk memetakan table pada database.

Mahasiswa.java

6 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 package org.pizaini.mahasiswaonline.entities;
2
3 public class Mahasiswa {
4 private Integer id;
5 private String nim;
6 private String nama;
7 private String telp;
8 private String alamat;
9
10 public Mahasiswa() {
11 super();
12 }
13
14 public Mahasiswa(Integer id, String nim, String nama, String telp,
15 String alamat) {
16 super();
17 this.id = id;
18 this.nim = nim;
19 this.nama = nama;
20 this.telp = telp;
21 this.alamat = alamat;
22 }
23
24 public Integer getId() {
25 return id;
26 }
27
28 public void setId(Integer id) {
29 this.id = id;
30 }
31
32 public String getNim() {
33 return nim;
34 }
35
36 public void setNim(String nim) {
37 this.nim = nim;
38 }
39
40 public String getNama() {
41 return nama;
42 }
43
44 public void setNama(String nama) {
45 this.nama = nama;
46 }
47
48 public String getTelp() {
49 return telp;
50 }
51
52 public void setTelp(String telp) {
53 this.telp = telp;
54 }
55
56 public String getAlamat() {
57 return alamat;
58 }
59
60 public void setAlamat(String alamat) {
61 this.alamat = alamat;
62 }
63
64 }

b. Membuat class ServerRequest

Class ini akan kita gunakan berkomunikasi / melakukan request ke server. Pada class ini, kita membuat dua buah request, yaitu GET
dan POST.

7 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

ServerRequest.java

8 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 package org.pizaini.mahasiswaonline.server;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.io.InputStreamReader;
7 import java.util.ArrayList;
8 import java.util.List;
9 import org.apache.http.HttpEntity;
10 import org.apache.http.HttpResponse;
11 import org.apache.http.HttpStatus;
12 import org.apache.http.NameValuePair;
13 import org.apache.http.StatusLine;
14 import org.apache.http.client.HttpClient;
15 import org.apache.http.client.entity.UrlEncodedFormEntity;
16 import org.apache.http.client.methods.HttpGet;
17 import org.apache.http.client.methods.HttpPost;
18 import org.apache.http.impl.client.DefaultHttpClient;
19 import org.apache.http.message.BasicNameValuePair;
20 import org.apache.http.params.BasicHttpParams;
21 import org.apache.http.params.HttpConnectionParams;
22 import org.apache.http.params.HttpParams;
23 import org.pizaini.mahasiswaonline.entities.Mahasiswa;
24 import android.util.Log;
25
26 public class ServerRequest {
27 private final static String TAG = "ServerRequest";
28 private final String serverUri = "http://10.0.2.2/android (http://10.0.2.2/android)";
29 public static final String urlSelectAll = "select_all.php";
30 public static final String urlDelete = "delete_mahasiswa.php";
31 public static final String urlSubmit = "submit_mahasiswa.php";
32
33 public ServerRequest() {
34 super();
35 }
36
37 /** Mengirimkan GET request */
38 public String sendGetRequest(String reqUrl){
39 HttpClient httpClient;
40 HttpGet httpGet = new HttpGet(serverUri+"/"+reqUrl);
41 InputStream is = null;
42 StringBuilder stringBuilder = new StringBuilder();
43 try {
44 HttpParams params = new BasicHttpParams();
45 HttpConnectionParams.setConnectionTimeout(params, 3000);
46 HttpConnectionParams.setSoTimeout(params, 3000);
47 httpClient = new DefaultHttpClient(params);
48 Log.d(TAG, "executing...");
49 HttpResponse httpResponse = httpClient.execute(httpGet);
50 StatusLine status = httpResponse.getStatusLine();
51 if(status.getStatusCode() == HttpStatus.SC_OK && httpResponse != null){
52 /** mengambil response string dari server */
53 HttpEntity httpEntity = httpResponse.getEntity();
54 is = httpEntity.getContent();
55 BufferedReader reader = new BufferedReader(new InputStreamReader(is));
56 String line = null;
57 while((line = reader.readLine()) != null){
58 stringBuilder.append(line+"\n");
59 }
60 is.close();
61 }
62 } catch (Exception e) {
63 Log.d(TAG, e.getMessage());
64 }
65
66 return stringBuilder.toString();
67 }
68
69 /** Mengirimkan POST request */
70 public int sendPostRequest(Mahasiswa mahasiswa, String url){

9 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

71 int replyCode = 99;


72 HttpClient httpClient;
73 HttpPost post = new HttpPost(this.serverUri+"/"+url);
74 /** menambahkan parameter ke dalam request */
75 List<NameValuePair> value = new ArrayList<NameValuePair>();
76 value.add(new BasicNameValuePair("id", mahasiswa.getId().toString()));
77 value.add(new BasicNameValuePair("nim", mahasiswa.getNim()));
78 value.add(new BasicNameValuePair("nama", mahasiswa.getNama()));
79 value.add(new BasicNameValuePair("telp", mahasiswa.getTelp()));
80 value.add(new BasicNameValuePair("alamat", mahasiswa.getAlamat()));
81
82 try {
83 HttpParams params = new BasicHttpParams();
84 HttpConnectionParams.setConnectionTimeout(params, 3000);
85 HttpConnectionParams.setSoTimeout(params, 3000);
86 httpClient = new DefaultHttpClient(params);
87 post.setEntity(new UrlEncodedFormEntity(value));
88 Log.d(TAG, "executing post...");
89 HttpResponse httpResponse = httpClient.execute(post);
90 StatusLine status = httpResponse.getStatusLine();
91 if(status.getStatusCode() == HttpStatus.SC_OK){
92 Log.d(TAG, "submitted sucessfully...");
93 replyCode = status.getStatusCode();
94 }
95 } catch (IOException e) {
96 Log.d(TAG, e.getMessage());
97 }
98 return replyCode;
99 }
100 }

MainActivity akan kita gunakan untuk menampilkan ListView nama mahasiswa dan NIM. Seperti berikut:

(h�ps://lh6.googleusercontent.com/-n91C1w7y4oc/Ub196f8sLqI
/AAAAAAAAAbM/Q4ItwxWDCb8/w361-h563-no/04.jpg)
ListView

c. Ubah layout activity_main.xml

10 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android (http://schemas.android.com/apk/


2 xmlns:tools="http://schemas.android.com/tools (http://schemas.android.com/tools)"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 tools:context=".MainActivity" >
6
7 <ListView
8 android:id="@+id/listview_main"
9 android:layout_width="match_parent"
10 android:layout_height="wrap_content"
11 android:dividerHeight="1dp"
12 android:layout_margin="5dp" >
13 </ListView>
14
15 </RelativeLayout>

d. Tambahkan layout baru list_row.xml

Layout ini adalah custom ListView agar dapat menampilhan Nama dan NIM mahasiswa dalam ListView.

1 <?xml version="1.0" encoding="utf-8"?>


2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android (http://schemas.android.com/apk/
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:layout_margin="5dp"
6 >
7
8 <TextView
9 android:id="@+id/text_nama"
10 android:layout_width="wrap_content"
11 android:layout_height="wrap_content"
12 android:layout_alignParentLeft="true"
13 android:layout_alignParentTop="true"
14 android:text="@string/app_name"
15 android:typeface="sans"
16 android:textColor="@android:color/background_dark"
17 android:textAppearance="?android:attr/textAppearanceLarge" />
18
19 <TextView
20 android:id="@+id/text_nim"
21 android:layout_width="wrap_content"
22 android:layout_height="wrap_content"
23 android:layout_alignParentLeft="true"
24 android:text="@string/app_name"
25 android:textColor="@android:color/background_dark"
26 android:layout_below="@+id/text_nama"/>
27
28 </RelativeLayout>

e. Membuat List Adapter

Untuk menampilkan custom ListView, kita membutuhkan sebuah adapter yang inherit kepada BaseAdapter. ListAdapterMahasiswa
juga meng-implements Filterable yang berguna saat melakukan pencarian. LisBerikut adalah potongan source code nya:

ListAdapterMahasiswa.java

11 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 package org.pizaini.mahasiswaonline.entities;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import org.pizaini.mahasiswaonline.R;
6 import android.content.Context;
7 import android.view.LayoutInflater;
8 import android.view.View;
9 import android.view.ViewGroup;
10 import android.widget.BaseAdapter;
11 import android.widget.Filter;
12 import android.widget.Filterable;
13 import android.widget.TextView;
14
15 public class ListAdapterMahasiswa extends BaseAdapter implements Filterable{
16 private Context context;
17 private List<Mahasiswa> list, filterd;
18
19 public ListAdapterMahasiswa(Context context, List<Mahasiswa> list) {
20 this.context = context;
21 this.list = list;
22 this.filterd = this.list;
23 }
24
25 @Override
26 public int getCount() {
27 return filterd.size();
28 }
29
30 @Override
31 public Object getItem(int position) {
32 return filterd.get(position);
33 }
34
35 @Override
36 public long getItemId(int position) {
37 return position;
38 }
39
40 @Override
41 public View getView(int position, View convertView, ViewGroup parent) {
42 if(convertView == null){
43 LayoutInflater inflater = LayoutInflater.from(this.context);
44 convertView = inflater.inflate(R.layout.list_row, null);
45 }
46 Mahasiswa mhs = filterd.get(position);
47 TextView textNama = (TextView) convertView.findViewById(R.id.text_nama);
48 textNama.setText(mhs.getNama());
49
50 TextView textNim = (TextView) convertView.findViewById(R.id.text_nim);
51 textNim.setText(mhs.getNim());
52
53 return convertView;
54 }
55
56 @Override
57 public Filter getFilter() {
58 MahasiswaFilter filter = new MahasiswaFilter();
59 return filter;
60 }
61
62 /** Class filter untuk melakukan filter (pencarian) */
63 private class MahasiswaFilter extends Filter{
64
65 @Override
66 protected FilterResults performFiltering(CharSequence constraint) {
67 List<Mahasiswa> filteredData = new ArrayList<Mahasiswa>();
68 FilterResults result = new FilterResults();
69 String filterString = constraint.toString().toLowerCase();
70 for(Mahasiswa mhs: list){

12 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

71 if(mhs.getNama().toLowerCase().contains(filterString) || mhs.getNim().toLowerCase().contains(filterString)
72 filteredData.add(mhs);
73 }
74 }
75 result.count = filteredData.size();
76 result.values = filteredData;
77 return result;
78 }
79
80 @Override
81 protected void publishResults(CharSequence constraint, FilterResults results) {
82 filterd = (List<Mahasiswa>) results.values;
83 notifyDataSetChanged();
84 }
85
86 }
87
88 }

f. Edit MainActivity.java

MainActivity adalah class utama memiliki fitur:

– Menampilkan custom ListView

– Memiliki Option Menu yang ditampilkan pada Action Bar (Search dan New)

– Search View untuk melakukan filter (pencarian)

– ListView yang dapat diklik (clickable ListView)

– ListView yang dapat di long-click. Long clik akan menampilkan Contextual Action Bar (CAB) untuk Edit dan Delete.

Pada saat MainActivity dijalankan, Activity akan melakukan request ke server melalui AsyncTask.

1 ...
2
3 @Override
4 protected void onCreate(Bundle savedInstanceState) {
5 super.onCreate(savedInstanceState);
6 setContentView(R.layout.activity_main);
7 ...
8 ...
9
10 /** melakukan load data melalui AsyncTask */
11 new MainActivityAsync().execute("load");
12 }
13
14 ...

Activity akan memanggil class ServerRequest untuk mengirimkan GET requets.

13 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 ...
2
3 private class MainActivityAsync extends AsyncTask<String, Void, String>{
4 ...
5
6 @Override
7 protected String doInBackground(String... params) {
8 ...
9 /** Mengirimkan request ke server dan memproses JSON response */
10 String response = serverRequest.sendGetRequest(ServerRequest.urlSelectAll);
11 list = processResponse(response);
12 ...
13 }
14
15 ...
16 }
17
18 ...

Response dari request ini adalah JSON (JavaScript Object Notation). Url yang direquest h�p://10.0.2.2/android/select_all.php
(h�p://10.0.2.2/android/select_all.php). Atau dapat dilihat melalui browser localhost h�p://localhost/android/select_all.php
(h�p://localhost/android/select_all.php).

JSON Response:

{ʺmahasiswaʺ:[
{ʺidʺ:ʺ29ʺ,ʺnimʺ:ʺ2222ʺ,ʺnamaʺ:ʺaaaaʺ,ʺtelpʺ:ʺ0801ʺ,ʺalamatʺ:ʺAlamat 1ʺ},
{ʺidʺ:ʺ30ʺ,ʺnimʺ:ʺ1111ʺ,ʺnamaʺ:ʺbbbbʺ,ʺtelpʺ:ʺ0802ʺ,ʺalamatʺ:ʺAlamat 2ʺ},
{ʺidʺ:ʺ31ʺ,ʺnimʺ:ʺ2222ʺ,ʺnamaʺ:ʺccccʺ,ʺtelpʺ:ʺ0803ʺ,ʺalamatʺ:ʺAlamat 3ʺ},
{ʺidʺ:ʺ32ʺ,ʺnimʺ:ʺ3333ʺ,ʺnamaʺ:ʺddddʺ,ʺtelpʺ:ʺ0804ʺ,ʺalamatʺ:ʺAlamat 4ʺ},
{ʺidʺ:ʺ33ʺ,ʺnimʺ:ʺ1111ʺ,ʺnamaʺ:ʺeeeeʺ,ʺtelpʺ:ʺ0805ʺ,ʺalamatʺ:ʺAlamat 5ʺ},
{ʺidʺ:ʺ34ʺ,ʺnimʺ:ʺ2222ʺ,ʺnamaʺ:ʺffffʺ,ʺtelpʺ:ʺ0806ʺ,ʺalamatʺ:ʺAlamat 6ʺ},
{ʺidʺ:ʺ35ʺ,ʺnimʺ:ʺ3333ʺ,ʺnamaʺ:ʺggggʺ,ʺtelpʺ:ʺ0807ʺ,ʺalamatʺ:ʺAlamat 7ʺ},
{ʺidʺ:ʺ36ʺ,ʺnimʺ:ʺ4444ʺ,ʺnamaʺ:ʺhhhhʺ,ʺtelpʺ:ʺ0808ʺ,ʺalamatʺ:ʺAlamat 8ʺ},
{ʺidʺ:ʺ37ʺ,ʺnimʺ:ʺ5555ʺ,ʺnamaʺ:ʺiiiiʺ,ʺtelpʺ:ʺ0809ʺ,ʺalamatʺ:ʺAlamat 9ʺ}
]}

Response JSON ini akan diproses sesuai dengan object nya. Berdasarkan response JSON di atas, terlihat bahwa object JSON terdiri
dari “mahasiswa”. Dan “mahasiswa” memiliki JSON Array.

1 ...
2
3 private List<Mahasiswa> processResponse(String response){
4 List<Mahasiswa> list = new ArrayList<Mahasiswa>();
5 try {
6 JSONObject jsonObj = new JSONObject(response);
7 JSONArray jsonArray = jsonObj.getJSONArray("mahasiswa");
8 Log.d(TAG, "data lengt: "+jsonArray.length());
9 Mahasiswa mhs = null;
10 for(int i = 0; i < jsonArray.length(); i++){
11 JSONObject obj = jsonArray.getJSONObject(i);
12 mhs = new Mahasiswa();
13 mhs.setId(obj.getInt("id"));
14 mhs.setNim(obj.getString("nim"));
15 mhs.setNama(obj.getString("nama"));
16 mhs.setTelp(obj.getString("telp"));
17 mhs.setAlamat(obj.getString("alamat"));
18 list.add(mhs);
19 }
20 } catch (JSONException e) {
21 Log.d(TAG, e.getMessage());
22 }
23 return list;
24 }
25
26 ...

14 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Berikut adalah Source code lengkap MainActivity.java

15 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 package org.pizaini.mahasiswaonline;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import org.json.JSONArray;
6 import org.json.JSONException;
7 import org.json.JSONObject;
8 import org.pizaini.mahasiswaonline.entities.ListAdapterMahasiswa;
9 import org.pizaini.mahasiswaonline.entities.Mahasiswa;
10 import org.pizaini.mahasiswaonline.server.ServerRequest;
11 import android.os.AsyncTask;
12 import android.os.Bundle;
13 import android.app.Activity;
14 import android.app.AlertDialog;
15 import android.app.ProgressDialog;
16 import android.app.SearchManager;
17 import android.content.Context;
18 import android.content.DialogInterface;
19 import android.content.Intent;
20 import android.util.Log;
21 import android.view.ActionMode;
22 import android.view.Menu;
23 import android.view.MenuItem;
24 import android.view.View;
25 import android.widget.AdapterView;
26 import android.widget.AdapterView.OnItemClickListener;
27 import android.widget.AdapterView.OnItemLongClickListener;
28 import android.widget.ListView;
29 import android.widget.SearchView;
30 import android.widget.Toast;
31 import android.widget.SearchView.OnQueryTextListener;
32
33 public class MainActivity extends Activity implements OnQueryTextListener{
34 private static final String TAG = "MainActivity";
35 private ListView listView;
36 private ActionMode actionMode;
37 private ActionMode.Callback amCallback;
38 private ProgressDialog progressDialog;
39 private ServerRequest serverRequest;
40 private List<Mahasiswa> list;
41 private ListAdapterMahasiswa adapter;
42 private Mahasiswa selectedList;
43
44 @Override
45 protected void onCreate(Bundle savedInstanceState) {
46 super.onCreate(savedInstanceState);
47 setContentView(R.layout.activity_main);
48 serverRequest = new ServerRequest();
49 listView = (ListView) findViewById(R.id.listview_main);
50 amCallback = new ActionMode.Callback() {
51
52 @Override
53 public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
54 return false;
55 }
56
57 @Override
58 public void onDestroyActionMode(ActionMode mode) {
59 actionMode = null;
60 }
61
62 @Override
63 public boolean onCreateActionMode(ActionMode mode, Menu menu) {
64 getMenuInflater().inflate(R.menu.activity_main_action, menu);
65 return true;
66 }
67
68 @Override
69 public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
70 switch(item.getItemId()){

16 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

71 case R.id.action_menu_edit:
72 showUpdateForm();
73 break;
74 case R.id.action_menu_delete:
75 delete();
76 break;
77 }
78 mode.finish();
79 return false;
80 }
81 };
82 list = new ArrayList<Mahasiswa>();
83 /** melakukan load data melalui AsyncTask */
84 new MainActivityAsync().execute("load");
85 }
86
87 private void showUpdateForm(){
88 Intent in = new Intent(getApplicationContext(), FormMahasiswa.class);
89 in.putExtra("id", selectedList.getId().toString());
90 in.putExtra("nim", selectedList.getNim());
91 in.putExtra("nama", selectedList.getNama());
92 in.putExtra("telp", selectedList.getTelp());
93 in.putExtra("alamat", selectedList.getAlamat());
94 startActivity(in);
95 }
96
97 private void delete(){
98 AlertDialog.Builder builder = new AlertDialog.Builder(this);
99 builder.setMessage("Delete "+selectedList.getNama()+" ?");
100 builder.setTitle("Delete");
101 builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
102 public void onClick(DialogInterface dialog, int which) {
103 new MainActivityAsync().execute("delete");
104 list.remove(list.indexOf(selectedList));
105 Toast.makeText(getApplicationContext(), "deleted", Toast.LENGTH_SHORT).show();
106 }
107 });
108 builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
109 public void onClick(DialogInterface dialog, int which) {
110 dialog.cancel();
111 }
112 });
113 AlertDialog alert = builder.create();
114 alert.setIcon(android.R.drawable.ic_menu_delete);
115 alert.show();
116 }
117 @Override
118 public boolean onCreateOptionsMenu(Menu menu) {
119 getMenuInflater().inflate(R.menu.activity_main, menu);
120 SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
121 SearchView searchView = (SearchView) menu.findItem(R.id.option_menu_search).getActionView();
122 searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
123 searchView.setIconifiedByDefault(false);
124 searchView.setOnQueryTextListener(this);
125 searchView.setQueryHint("nama atau nim");
126
127 return true;
128 }
129
130 @Override
131 public boolean onOptionsItemSelected(MenuItem item) {
132 switch(item.getItemId()){
133 case R.id.option_menu_new:
134 Intent in = new Intent(getApplicationContext(), FormMahasiswa.class);
135 startActivity(in);
136 break;
137 }
138 return super.onOptionsItemSelected(item);
139 }
140

17 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

141 private List<Mahasiswa> processResponse(String response){


142 List<Mahasiswa> list = new ArrayList<Mahasiswa>();
143 try {
144 JSONObject jsonObj = new JSONObject(response);
145 JSONArray jsonArray = jsonObj.getJSONArray("mahasiswa");
146 Log.d(TAG, "data lengt: "+jsonArray.length());
147 Mahasiswa mhs = null;
148 for(int i = 0; i < jsonArray.length(); i++){
149 JSONObject obj = jsonArray.getJSONObject(i);
150 mhs = new Mahasiswa();
151 mhs.setId(obj.getInt("id"));
152 mhs.setNim(obj.getString("nim"));
153 mhs.setNama(obj.getString("nama"));
154 mhs.setTelp(obj.getString("telp"));
155 mhs.setAlamat(obj.getString("alamat"));
156 list.add(mhs);
157 }
158 } catch (JSONException e) {
159 Log.d(TAG, e.getMessage());
160 }
161 return list;
162 }
163
164 private void populateListView(){
165 adapter = new ListAdapterMahasiswa(getApplicationContext(), list);
166 listView.setAdapter(adapter);
167 listView.setOnItemLongClickListener(new OnItemLongClickListener() {
168
169 @Override
170 public boolean onItemLongClick(AdapterView<?> adapterView, View v, int pos, long id) {
171 if(actionMode != null){
172 return false;
173 }
174 actionMode = startActionMode(amCallback);
175 v.setSelected(true);
176 selectedList = (Mahasiswa) adapter.getItem(pos);
177 return true;
178 }
179
180 });
181
182 listView.setOnItemClickListener(new OnItemClickListener() {
183
184 @Override
185 public void onItemClick(AdapterView<?> adapterView, View v, int pos,
186 long id) {
187 selectedList = (Mahasiswa) adapter.getItem(pos);
188 Intent in = new Intent(getApplicationContext(), DetailMahasiswa.class);
189 in.putExtra("id", selectedList.getId().toString());
190 in.putExtra("nim", selectedList.getNim());
191 in.putExtra("nama", selectedList.getNama());
192 in.putExtra("telp", selectedList.getTelp());
193 in.putExtra("alamat", selectedList.getAlamat());
194 startActivity(in);
195 }
196 });
197 }
198
199 private class MainActivityAsync extends AsyncTask<String, Void, String>{
200
201 @Override
202 protected void onPreExecute() {
203 progressDialog = new ProgressDialog(MainActivity.this);
204 progressDialog.setMessage("retrieving...");
205 progressDialog.setIndeterminate(false);
206 progressDialog.setCancelable(false);
207 progressDialog.show();
208 }
209
210 @Override

18 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

211 protected String doInBackground(String... params) {


212 if(params[0] == "delete"){
213 serverRequest.sendGetRequest(ServerRequest.urlDelete+"?id="+selectedList.getId().toString());
214 }else{
215 /** Mengirimkan request ke server dan memproses JSON response */
216 String response = serverRequest.sendGetRequest(ServerRequest.urlSelectAll);
217 list = processResponse(response);
218 }
219 return null;
220 }
221
222 @Override
223 protected void onPostExecute(String result) {
224 progressDialog.dismiss();
225 runOnUiThread(new Runnable() {
226 @Override
227 public void run() {
228 populateListView();
229 }
230 });
231 }
232
233 }
234
235 @Override
236 public boolean onQueryTextChange(String newText) {
237 adapter.getFilter().filter(newText);
238 return true;
239 }
240
241 @Override
242 public boolean onQueryTextSubmit(String query) {
243 return false;
244 }
245
246 }

g. Membuat Form Mahasiswa

Buatlah sebuah activity (FormMahasiswa.java) dengan layout activity_form_mahasiswa.xml. Layout ini terdiri dari TextView dan
EditText untuk input data Mahasiswa (nama, nim, telp dan alamat). Form Mahasiswa kita gunakan untuk insert dan delete.

activity_form_mahasiswa.xml

19 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android (http://schemas.android.com/apk/re


2 xmlns:tools="http://schemas.android.com/tools (http://schemas.android.com/tools)"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:orientation="vertical"
6 android:layout_margin="5dp"
7 tools:context=".FormMahasiswa" >
8
9 <TextView
10 android:id="@+id/textView1"
11 android:layout_width="wrap_content"
12 android:layout_height="wrap_content"
13 android:text="@string/tv_nim" />
14
15 <EditText
16 android:id="@+id/add_new_nim"
17 android:layout_width="match_parent"
18 android:layout_height="wrap_content"
19 android:hint="@string/hint_nim"
20 android:inputType="number"
21 android:layout_marginBottom="30dp"
22 android:ems="10" >
23 <requestFocus />
24 </EditText>
25
26 <TextView
27 android:id="@+id/textView2"
28 android:layout_width="wrap_content"
29 android:layout_height="wrap_content"
30 android:text="@string/tv_nama" />
31
32 <EditText
33 android:id="@+id/add_new_nama"
34 android:layout_width="match_parent"
35 android:layout_height="wrap_content"
36 android:hint="@string/hint_nama"
37 android:layout_marginBottom="30dp"
38 android:ems="10" />
39
40 <TextView
41 android:id="@+id/textView3"
42 android:layout_width="wrap_content"
43 android:layout_height="wrap_content"
44 android:text="@string/tv_telp" />
45
46 <EditText
47 android:id="@+id/add_new_telp"
48 android:layout_width="match_parent"
49 android:layout_height="wrap_content"
50 android:hint="@string/hint_telp"
51 android:inputType="textPhonetic"
52 android:layout_marginBottom="30dp"
53 android:ems="10" />
54
55 <TextView
56 android:id="@+id/textView4"
57 android:layout_width="wrap_content"
58 android:layout_height="wrap_content"
59 android:text="@string/tv_alamat" />
60
61 <EditText
62 android:id="@+id/add_new_alamat"
63 android:layout_width="match_parent"
64 android:layout_height="wrap_content"
65 android:ems="10"
66 android:minHeight="80dp"
67 android:hint="@string/hint_alamat"
68 android:inputType="textPostalAddress" />
69
70 </LinearLayout>

20 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

FormMahasiswa.java
Berikut adalah activity untuk menampilkan form Mahasiswa.

21 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 package org.pizaini.mahasiswaonline;
2
3 import org.apache.http.HttpStatus;
4 import org.pizaini.mahasiswaonline.entities.Mahasiswa;
5 import org.pizaini.mahasiswaonline.server.ServerRequest;
6
7 import android.os.AsyncTask;
8 import android.os.Bundle;
9 import android.app.ActionBar;
10 import android.app.Activity;
11 import android.app.ProgressDialog;
12 import android.content.Intent;
13 import android.view.Menu;
14 import android.view.MenuItem;
15 import android.widget.EditText;
16 import android.widget.Toast;
17
18 public class FormMahasiswa extends Activity {
19 private EditText textNim, textNama, textTelp, textAlamat;
20 private ProgressDialog progressDialog;
21 private ServerRequest server;
22 private int replyCode;
23 private Mahasiswa mahasiswa;
24
25 @Override
26 protected void onCreate(Bundle savedInstanceState) {
27 super.onCreate(savedInstanceState);
28 setContentView(R.layout.activity_form_mahasiswa);
29 initView();
30 server = new ServerRequest();
31 ActionBar actionBar = getActionBar();
32 actionBar.setDisplayHomeAsUpEnabled(true);
33 mahasiswa = new Mahasiswa();
34 if(getIntent().hasExtra("id")){
35 String id = getIntent().getStringExtra("id");
36 String nim = getIntent().getStringExtra("nim");
37 String nama = getIntent().getStringExtra("nama");
38 String telp = getIntent().getStringExtra("telp");
39 String alamat = getIntent().getStringExtra("alamat");
40 textNim.setText(nim);
41 textNama.setText(nama);
42 textTelp.setText(telp);
43 textAlamat.setText(alamat);
44 mahasiswa.setId(Integer.valueOf(id));
45 }else{
46 mahasiswa.setId(0);
47 }
48 }
49
50 private void initView(){
51 textNim = (EditText) findViewById(R.id.add_new_nim);
52 textNama = (EditText) findViewById(R.id.add_new_nama);
53 textTelp = (EditText) findViewById(R.id.add_new_telp);
54 textAlamat = (EditText) findViewById(R.id.add_new_alamat);
55 }
56
57 @Override
58 public boolean onCreateOptionsMenu(Menu menu) {
59 getMenuInflater().inflate(R.menu.form_mahasiswa, menu);
60 return true;
61 }
62
63 private void goToMainActivity(){
64 Intent in = new Intent(getApplicationContext(), MainActivity.class);
65 in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
66 startActivity(in);
67 }
68
69 @Override
70 public boolean onOptionsItemSelected(MenuItem item) {

22 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

71 switch(item.getItemId()){
72 case android.R.id.home:
73 goToMainActivity();
74 break;
75
76 case R.id.option_menu_save:
77 if(textNim.getText().toString().trim().isEmpty() || textNama.getText().toString().trim().isEmpty()){
78 Toast.makeText(getApplicationContext(), "NIM dan Nama tidak boleh kosong", Toast.LENGTH_SHORT).show();
79 }else{
80 new FormMahasiswaAsync().execute();
81 }
82 break;
83 }
84 return super.onOptionsItemSelected(item);
85 }
86
87 private void sendRequest(){
88 String nim = textNim.getText().toString();
89 String nama = textNama.getText().toString();
90 String telp = textTelp.getText().toString();
91 String alamat = textAlamat.getText().toString();
92 mahasiswa.setNim(nim);
93 mahasiswa.setNama(nama);
94 mahasiswa.setTelp(telp);
95 mahasiswa.setAlamat(alamat);
96
97 /**Mengirimkan POST reques*/
98
99 replyCode = server.sendPostRequest(mahasiswa, ServerRequest.urlSubmit);
100 }
101
102 private class FormMahasiswaAsync extends AsyncTask<String, String, String>{
103 @Override
104 protected void onPreExecute() {
105 progressDialog = new ProgressDialog(FormMahasiswa.this);
106 progressDialog.setMessage("saving data...");
107 progressDialog.setIndeterminate(false);
108 progressDialog.setCancelable(false);
109 progressDialog.show();
110 }
111 @Override
112 protected String doInBackground(String... params) {
113 sendRequest();
114 return null;
115 }
116 @Override
117 protected void onPostExecute(String result) {
118 progressDialog.dismiss();
119 if(replyCode == HttpStatus.SC_OK){
120 goToMainActivity();
121 }else{
122 Toast.makeText(getApplicationContext(), "save data problem", Toast.LENGTH_SHORT).show();
123 }
124 }
125
126 }
127
128 }

h. Membuat Detail Mahasiswa

Detail Mahasiswa berfungsi untuk menampilkan data lengkap. Karena pada ListView yang ditampilkan hanya NIM dan Nama.

activity_detail_mahasiswa.xml

23 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 </p>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android (http://schemas.android.com/apk/re
3 xmlns:tools="http://schemas.android.com/tools (http://schemas.android.com/tools)"
4 android:layout_width="match_parent"
5 android:layout_height="match_parent"
6 android:orientation="vertical"
7 android:layout_margin="5dp"
8 tools:context=".DetailMahasiswa" >
9
10 <TextView
11 android:id="@+id/textView1"
12 android:layout_width="wrap_content"
13 android:layout_height="wrap_content"
14 android:text="@string/tv_nim" />
15
16 <EditText
17 android:id="@+id/add_new_nim"
18 android:layout_width="match_parent"
19 android:layout_height="wrap_content"
20 android:hint="@string/hint_nim"
21 android:enabled="false"
22 android:layout_marginBottom="30dp"
23 android:ems="10" >
24 <requestFocus />
25 </EditText>
26
27 <TextView
28 android:id="@+id/textView2"
29 android:layout_width="wrap_content"
30 android:layout_height="wrap_content"
31 android:text="@string/tv_nama" />
32
33 <EditText
34 android:id="@+id/add_new_nama"
35 android:layout_width="match_parent"
36 android:layout_height="wrap_content"
37 android:hint="@string/hint_nama"
38 android:enabled="false"
39 android:layout_marginBottom="30dp"
40 android:ems="10" />
41
42 <TextView
43 android:id="@+id/textView3"
44 android:layout_width="wrap_content"
45 android:layout_height="wrap_content"
46 android:text="@string/tv_telp" />
47
48 <EditText
49 android:id="@+id/add_new_telp"
50 android:layout_width="match_parent"
51 android:layout_height="wrap_content"
52 android:hint="@string/hint_telp"
53 android:layout_marginBottom="30dp"
54 android:enabled="false"
55 android:ems="10" />
56
57 <TextView
58 android:id="@+id/textView4"
59 android:layout_width="wrap_content"
60 android:layout_height="wrap_content"
61 android:text="@string/tv_alamat" />
62
63 <EditText
64 android:id="@+id/add_new_alamat"
65 android:layout_width="match_parent"
66 android:layout_height="wrap_content"
67 android:ems="10"
68 android:minHeight="80dp"
69 android:enabled="false"
70 android:hint="@string/hint_alamat"

24 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

71 android:inputType="textPostalAddress" />
72
73 </LinearLayout>

Activity DetailMahasiswa berguna untuk menampilkan data mahasiswa dengan layout activity_detail_mahasiswa.xml.

25 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

1 package org.pizaini.mahasiswaonline;
2
3 import org.pizaini.mahasiswaonline.entities.Mahasiswa;
4 import org.pizaini.mahasiswaonline.server.ServerRequest;
5 import android.os.AsyncTask;
6 import android.os.Bundle;
7 import android.app.ActionBar;
8 import android.app.Activity;
9 import android.app.AlertDialog;
10 import android.content.DialogInterface;
11 import android.content.Intent;
12 import android.view.Menu;
13 import android.view.MenuItem;
14 import android.widget.EditText;
15 import android.widget.Toast;
16
17 public class DetailMahasiswa extends Activity {
18 private EditText textNim, textNama, textTelp, textAlamat;
19 private Mahasiswa mahasiswa;
20 private ServerRequest server;
21
22 @Override
23 protected void onCreate(Bundle savedInstanceState) {
24 super.onCreate(savedInstanceState);
25 setContentView(R.layout.activity_detail_mahasiswa);
26 mahasiswa = new Mahasiswa();
27 server = new ServerRequest();
28 initView();
29 ActionBar actionBar = getActionBar();
30 actionBar.setDisplayHomeAsUpEnabled(true);
31 }
32
33 private void initView(){
34 textNim = (EditText) findViewById(R.id.add_new_nim);
35 textNama = (EditText) findViewById(R.id.add_new_nama);
36 textTelp = (EditText) findViewById(R.id.add_new_telp);
37 textAlamat = (EditText) findViewById(R.id.add_new_alamat);
38
39 String id = getIntent().getStringExtra("id");
40 String nim = getIntent().getStringExtra("nim");
41 String nama = getIntent().getStringExtra("nama");
42 String telp = getIntent().getStringExtra("telp");
43 String alamat = getIntent().getStringExtra("alamat");
44
45 textNim.setText(nim);
46 textNama.setText(nama);
47 textTelp.setText(telp);
48 textAlamat.setText(alamat);
49
50 mahasiswa.setId(Integer.valueOf(id));
51 mahasiswa.setNim(nim);
52 mahasiswa.setNama(nama);
53 mahasiswa.setTelp(telp);
54 mahasiswa.setAlamat(alamat);
55 }
56
57 @Override
58 public boolean onCreateOptionsMenu(Menu menu) {
59 getMenuInflater().inflate(R.menu.activity_main_action, menu);
60 return true;
61 }
62
63 @Override
64 public boolean onOptionsItemSelected(MenuItem item) {
65 switch(item.getItemId()){
66 case android.R.id.home:
67 goToMainActivity();
68 break;
69
70 case R.id.action_menu_edit:

26 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

71 Intent in = new Intent(getApplicationContext(), FormMahasiswa.class);


72 in.putExtra("id", mahasiswa.getId().toString());
73 in.putExtra("nim", mahasiswa.getNim());
74 in.putExtra("nama", mahasiswa.getNama());
75 in.putExtra("telp", mahasiswa.getTelp());
76 in.putExtra("alamat", mahasiswa.getAlamat());
77 startActivity(in);
78 break;
79
80 case R.id.action_menu_delete:
81 delete();
82 break;
83 }
84 return super.onOptionsItemSelected(item);
85 }
86
87 private void goToMainActivity(){
88 Intent in = new Intent(getApplicationContext(), MainActivity.class);
89 in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
90 startActivity(in);
91 }
92
93 private void delete(){
94 AlertDialog.Builder builder = new AlertDialog.Builder(this);
95 builder.setMessage("Delete "+mahasiswa.getNama()+" ?");
96 builder.setTitle("Delete");
97 builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
98 public void onClick(DialogInterface dialog, int which) {
99 new DetailMahasiswaAsync().execute();
100 Toast.makeText(getApplicationContext(), "deleted", Toast.LENGTH_SHORT).show();
101 }
102 });
103 builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
104 public void onClick(DialogInterface dialog, int which) {
105 dialog.cancel();
106 }
107 });
108 AlertDialog alert = builder.create();
109 alert.setIcon(android.R.drawable.ic_menu_delete);
110 alert.show();
111 }
112 private class DetailMahasiswaAsync extends AsyncTask<String, String, String>{
113
114 @Override
115 protected String doInBackground(String... params) {
116 server.sendGetRequest(ServerRequest.urlDelete+"?id="+mahasiswa.getId().toString());
117 return null;
118 }
119
120 @Override
121 protected void onPostExecute(String result) {
122 Intent in = new Intent(getApplicationContext(), MainActivity.class);
123 in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
124 startActivity(in);
125 }
126
127 }
128
129 }

i. Menambahkan Permission

Tambahkan permission ada AndroidManifest.xml

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

Berikut adalah screenshot aplikasinya:

27 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

(h�ps://lh4.googleusercontent.com/-ei4bnBSfs8I/Ub2S0edYbTI/AAAAAAAAAbs/9xuT2ASSE_U/w735-h443-no/ss01.jpg)
Main Activity

(h�ps://lh4.googleusercontent.com/UAbz�dhspsM9_XZHsFNKMP-knJhTIJ32U5Y28uPITU=w732-h443-no)
Show Contextual Action Bar (CAD) on long-press List View

28 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

(h�ps://lh6.googleusercontent.com/-P_4SNywDEK0/Ub2S0-Go_rI/AAAAAAAAAb4/k1cmCLlapLI/w734-h442-no/ss03.jpg)
Form Mahasiswa

(h�ps://lh4.googleusercontent.com/-JDtVXZh_jvk/Ub2S1S0NwxI/AAAAAAAAAcE/QzCUSPYCghU/w733-h440-no/ss04.jpg)
Detail Mahasiswa

29 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

(h�ps://lh4.googleusercontent.com/-52S1fG5c-W4/Ub2S1jiHY2I/AAAAAAAAAcI/_bsrhZVLg3Q/w735-h443-no/ss05.jpg)
Delete Confirmation

Silakan DOWNLOAD SOURCE LENGKAP (h�p://goo.gl/OGMsiy) (Eclipse Project dan PHP)

Silakan DOWNLOAD APK FILE (h�p://goo.gl/NhxY5X) nya untuk Android 3.0 (Honeycomb) atau yang terbaru.

GitHub project: BelajarAndroid (h�ps://github.com/pizaini/BelajarAndroid).

Sekian posting hari ini, semoga dapat membahas lebih detail pada posting yang akan datang. semoga bermanfaat. Terima kasih.

UPDATE, Febuari 2014:

Link download telah diupdate…

This entry was posted in Android, Java, Mobile, PHP and tagged Action Bar, Android, clien server, CRUD, database, delete, Insert,
Java, listview, mobile, MySQL, PHP, update. Bookmark the permalink.

152 thoughts on “Membuat Aplikasi Client Server menggunakan Android,


PHP dan MySQL”

desy says:
on 6 December 2018 at 09:24

i
Rate This

thx infonya sangat membantu

Reply
riani fitri says:

30 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

on 24 January 2018 at 22:51

i
Rate This

ka liat pengaturan AVD nya donk, udah oke semua giliran dirunning muncul error
[2018-01-24 09:39:09 – Emulator] could not get wglGetExtensionsStringARB

Reply
dea says:
on 14 December 2017 at 11:55

i
Rate This

Mas, jika saya pake emulator seperti Nox bisa gak ? karena saya udah coba untuk mengecek apakah database nya bisa atau tidak
dengan cara h�p://10.0.2.2/android/index.php tetapi tidak bisa. bagaimana solusinya ya mas ? mohon bantuannya..

Reply
noefaken says:
on 3 October 2017 at 10:03

i
Rate This

mas minta keteranga. tools apa aja yg dpakai bisa ga? sm versi2 nya…baru belajar, sepertinya tutorial nya sangat membantu.

terimakasih.

Reply

Qudsi Fath says:


on 19 August 2017 at 09:45

i
Rate This

JAZAKUMULLOH KHOIRON KATSIRO. TERIMA KASIH, ILMUNYA. SAYA COBA DULU YA !

Reply
andalas21 says:
on 22 April 2017 at 19:33

31 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Rate This

Thanks gan , izin download gan.

Reply
ucok says:
on 14 March 2017 at 14:12

i
Rate This

mohon pencerahannya..semuanya lancar,.Tapi setelah proses tambah,edit,hapus dilakukan, kan kembali ke activitymain…
datanya di listView tidak bisa berubah(tidak sesuai dengan database)

tp setelah di keluarkan aplikasinya dan masuk aplikasi lagi…baru data bisa keluar (data terbaru sesuai database)

Reply
Reynaldy MuFti says:
on 6 February 2017 at 20:13

i
Rate This

izin ngambil referensi buat Tugas AKhir ya gan.


terima kasih sebelumnya

Reply
Tia says:
on 9 December 2016 at 03:40

i
Rate This

Mas, kalo misal, android digunakan hanya untuk menginput data, terus isi data tsb trsimpan di database server (PC/komputer),
itu gimana ya mas ?
Jd yg bisa melakukan edit, hapus, simpan adalah server/PC , sementara android hanya media input data?
Mhon bantuannya mas,

Reply
firman27 says:
on 20 November 2016 at 08:32

i
Rate This

database gak ke detect di emulator blue stack?

tapi pas saya coba buka index.php di avd bisa

32 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

itu gimana ya mas solusinya?


mohon bimbingannya

Reply
Dwi Cahyo Utomo says:
on 31 October 2016 at 14:33

i
Rate This

Mas Ada tutorial untuk activation code misal user ingin mendaftar setelah mendaftar user mendapatkan sms activation code dari
admin untuk melakukan verifikasi user, user memasukan code tersebut. ada tidak mas ?

Reply
Amirul Nizam Alfian says:
on 31 October 2016 at 12:46

i
Rate This

Mas, setelah saya jalankan, di activity pertama listview nya tidak memunculkan data apapun, padahal di mysql sudah saya
masukkan datanya. Source code udah saya pelototin per baris nggak ada yang beda. Kira-kira apanya nih yang salah?

Reply
ricky yusuf says:
on 13 June 2016 at 10:39

i
Rate This

sempurna…sangat membantu, tp untuk orang yg baru belajar spt saya (agaknya) terlalu banyak. mungkin kalo di sederhanakan
bisa y mas ?
dgn konsep OOP y kalo nga salah? ato yg lain ? makasih mas

Reply
Ikhsan Nudi says:
on 9 June 2016 at 03:37

i
Rate This

gan mohon solusinya dong..kenapa data yang saya masukkan tidak muncul di database dan tidak mau menampilkan data yang
sudah saya input di aplikasinya?atas perhatianya terimakasih..

Reply
Difah says:
on 2 November 2016 at 06:02

33 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

Sy juga.. Ada petunjuk tidak? Saling berbagi ilmu itu indah.. Cari kesana kemari blm ada jawaban,

Reply
Taufik says:
on 7 June 2016 at 10:09

i
Rate This

mas mau tanya, klo untuk pencariannya itu pke json ya ? klo tanpa json tapi menggunakan semacam algoritma itu bisa mas ? klo
bisa ada contohnya ga mas ? terimakasih sebelumnya

Reply
Pizaini says:
on 7 June 2016 at 13:02

i
Rate This

JSON itu hanya media transfer data antara client dan server, mas.. bagaimana cara mencari (termasuk algoritme) dapat
disesuaikan sesuai keinginan..

Reply
anang says:
on 17 May 2016 at 09:35

i
Rate This

Mantap tutorialnya om
Sukses Selalu

Reply
muhammat.rasid.ridho says:
on 15 May 2016 at 14:24

i
Rate This

Mantap, ijin share ya.

34 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Reply
M.Arifin says:
on 31 March 2016 at 16:40

i
Rate This

langkah awal yang harus dilakukan apa mas Pizaini.


aku kok masih bingung.
maaf ini masih newbie ;D

Reply
M.Arifin says:
on 31 March 2016 at 16:38

i
Rate This

Mas Langkah awal yang harus saya lakukan apa mas?


maaf saya masih newbie ;D

Reply
Ghufron Hasan Arrusdi says:
on 14 March 2016 at 09:38

i
Rate This

pagi mas mau bertanya. membuat login dengan menggunakan ip bagaimana caranya mas ? contoh kasusnya saya berada pada
pt.xx. pada pembuatan aplikasi ini apabila ingin login harus berada pada jaringan atau wifi pt.xx tersebut. apabila tidak maka
tidak akan bisa login mas. terimakasih

Reply
adadion says:
on 23 May 2016 at 13:22

i
Rate This

bikin server sendiri di pt.xx mas, set ip sama port nya, dihubungkan ke jaringan router pt.xx. ntar url servernya diisi ip server.
di router nya, set port wifi dikasih akses ke ip server mas.

Reply
joeonline18 says:
on 28 April 2018 at 16:15

35 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

Mas bisa dikasih contoh source code nya untuk absensi mhasiswa mas??
Soalnya saya jg baru mengerjakan absen mhs berdasarkan ip,

Tp cari referensi kesana kemari masih belum dpt mas,


Tolong dibantu mas

stevenlimcoln says:
on 22 January 2016 at 02:11

i
Rate This

Selamat malam mas tolong bantu saya karna udah mumet blm ketemu solusinya…knp aplikasi saya yg sudah terhubung Json
dan sudah koneksikan IP 10.0.2.2 sesuai localhost xampp bisa jalan mulus dan lancar di emulator ketika saya running via device
hp saya hanya bisa buka tampilan pertama setelah saya klik bu�on lain pasti keluar blank hitam dan akhirnya force
close….mohon pencerahannya mas terima kasih

Reply
Pizaini says:
on 23 January 2016 at 14:22

i
Rate This

barangkali IP nya mas. Dari emulator ke kopmuter pake IP 10.0.2.2. Klo dari device ke internet pake IP internet (domain). Klo
dari real device untuk akses ke kopmuter, pake IP komputer nya mas. Misal mas mau pakai smartphone dan datanya ada di
laptop. Mas bisa sharing koneksi dari laptop ke smartphone, jadi smartphone bisa mengakses server yang di laptop mas. IP yg
dipakai bukan lagi 10.0.2.2, tp IP komputer/laptop mas sendiri. semoga membantu.

Reply
andiliani says:
on 5 January 2016 at 14:40

i
Rate This

terima kasih mas buat tutorialnya, tapi ada yang mau saya tanyakan mas, bisa gak ya mas input data sekalian output data tanpa
menggunakan json ?

Reply
Pizaini says:
on 5 January 2016 at 19:55

36 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

JSON itu hanya salah satu caranya mas. klo ditanya apakah bisa tanpa JSON, jawabannya bisa banget…

Reply
kelvin cipta says:
on 24 December 2015 at 20:12

i
Rate This

bagus banget mas tutorialnya, maju terus !

Reply
Anakpolos says:
on 17 November 2015 at 19:18

i
Rate This

Mantap gan ijin sedot ilmunya untuk belajar

Reply
fifi says:
on 9 October 2015 at 17:52

i
Rate This

Maaf pak mau tanya saya ini pakai android studio. di file serverrequest.java nya ada error di package org.apache.h�p itu solusi
nya gimana pak?
dan satu lagi pak “(R.menu.form_produk, menu)” form_produk itu di deklarasikan dimana pak?

Reply
Angga Angga says:
on 2 September 2015 at 00:24

i
Rate This

tutorialnya mantap gan (y)


ane udah coba gan bikin aplikasi serupa tapi jauh lebih sederhana dari ini, terus ane upload di hosting, nah permasalahanya
ketika saya coba simpan data dari hp ke server kok malah force close ya. .
heranya lagi udah ane cek tapi gak ada erornya sama sekali, di logcat pun nggak ada warna merah. .
– ane udah cek file php yg udah di upload di hosting dan pas ane cek manggil di browser juga lancar gak ada problem

37 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

– udah ane cek database + nama db di php juga udah bener


– ane cek jason + url nya juga udah bener,
– ane juga udah cek di manifestnya juga udah bener

nah ini ane bingung salahnya dimana ya?


padahal cuma bikin program simpan data

mohon pencerahanya gan, kalo berkenan bisa dibuat tutorial integrasi langsung dengan hosting, siapa tau ada solusi gan. .
plisss

Reply
Kusnendi says:
on 27 August 2015 at 12:14

i
Rate This

Woww, kereeen mantaap banget postingan nya gan… aku coba gan, izin sedot source nya bwat referensi lokal

Reply
Pizaini says:
on 27 August 2015 at 15:21

i
Rate This

siiip gan

Reply
alkautsar says:
on 18 August 2015 at 09:16

i
Rate This

gan kalo file .php di simpan dimana ? apakah di satukan dengan folder android kita ? atau di simpan beda folder ?

Reply
Pizaini says:
on 18 August 2015 at 14:27

i
Rate This

disimpan di mana aja terserah aja gan.. yg penting mudah diakses. klo contoh ane, file PHP di diletakin di folder “android”

Reply
Naufal says:

38 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

on 13 August 2015 at 08:09

i
Rate This

ada informasi yg menyebutkan PDO, yang salah bukan script.., tapi kesalahan setingan php hosting.., saat hosting, harus nya
memilih seting php pada versi 5.2, karena, se�ing koneksi db pada script, menggunakan jenis koneksi lama, jadi kalo pada
hosting, menggunakan 5.4, maka yg muncukl adalah pesan mysqli, 5.5 PDO

Reply
Angga says:
on 12 August 2015 at 02:52

i
Rate This

Hai min, saya ingin bertanya, semoga berkenan membantu yaa..


Saya punya sebuah website portal berita, apakah saya harus membuat kode tersendiri untuk proses parsing JSON ini ?
maksud saya, apakah bisa cukup dengan menggabungkan code json di halaman index untuk tampilan web normal sajaa..

Reply
Yogi Erka says:
on 28 June 2015 at 03:08

i
Rate This

permisi pak pizaini, saya pake android lolipop, waktu dijalankan datanya tidak muncul, padahal internet aktif,saya tlah coba
server h�p://pizaini.my.phpcloud.com/android/, dan juga server h�p://bakdata.esy.es/android/ tapi hasilnya sama saja, saya
mohon pencerahannya.
informasi tambahan: saya import pake android studio, gak ada error aman.

Reply
Pizaini says:
on 28 June 2015 at 05:55

i
Rate This

Sepertinya masih ada error di source PHP nya, mas..


Coba cek dari web browser h�p://bakdata.esy.es/android/select_all.php
ada muncul error:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in
/home/u563448908/public_html/android/connection.php on line 8

Function mysql_connect() sudah tidak digunakan (deprecated) di PHP versi terbaru. Mungkin link ini bermanfaat
h�p://www.sitepoint.com/avoid-the-original-mysql-extension-1/

39 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Semoga bermanfaat..
FYI, server punya saya sudah tidak aktif lagi

Reply
website says:
on 18 May 2015 at 15:47

i
Rate This

Good article. I’m going through a few of these issues as well..

Reply
Goverto says:
on 5 April 2015 at 23:18

i
Rate This

Reblogged this on JELLYFISH.

Reply
xenixcorp says:
on 16 March 2015 at 22:09

i
Rate This

mas, kalau masalahnya begini gimana ya. saya sudah berhasil mencoba insert dan ambil data melalui database localhost
menggunakan xampp. tapi begitu saya hosting dan pindah database ke hostingan agar online dan bisa diakses dimana saja. pas
insert aplikasinya muncul Toast “Save Data Problem” padahal buat ambil data seperti username dan password bisa. hanya
bagian insert untuk registrasi tidak bisa..

padahal pas localhost insertnya bisa, dipindah ke hostingan jadi ga bisa. apakah saya salah se�ingan di database ya?
Terimakasih

Reply
Pizaini says:
on 17 March 2015 at 11:22

i
Rate This

mungkin di script PHP nya mas.. coba di cek dulu apakah datanya bisa ditampilkan atau gak… atau akses via web browser.

Reply
helmi says:
on 23 February 2015 at 19:08

40 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

link download mati gan..

Reply
Pizaini says:
on 24 February 2015 at 09:42

i
Rate This

link OK gan… g ada masalah…

Reply
anonim says:
on 16 February 2015 at 11:30

i
Rate This

mas kalau mau ditambahin data IMAGE gmana parsing dengan json nya, untuk tutorial diatas kan cuma untuk file TEXT

Makasih Tutorialnya, sangat membantu

Reply
kimy says:
on 9 February 2015 at 14:32

i
Rate This

mas, saya pake SDK android lollipop… list mahasiswa nya ga muncul, tp untuk insert bisa… itu knp ya mas…

Reply
Yohan Oc says:
on 21 January 2015 at 23:47

i
Rate This

Mas mau tanya, kalau kita mau nampilin list view seperti diatas, tapi ada parameter yang diinputkan gimana ya,, makasih
sebelumnya

41 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Reply
Pizaini says:
on 22 January 2015 at 08:40

i
Rate This

parameter gimana mksudnya mas?

Reply
yohanoc says:
on 23 January 2015 at 10:51

i
Rate This

maksudnya begini mas,


saya mempunyai satu variabel inputan dari java, dari variabel inputan ini akan saya gunakan untuk proses select ke
database misalnya saya punya variabel bagian dan saya punya tabel t_user.
dari variabel tersebut saya gunakan untuk perintah select contohnya : select * from user where bagian = $admin;
yang jadi pertanyaan bagaimana mengirimkan variabel tersebut ke php dan mengeluarkan dalam bentuk list view seperti
milik Mas Pizaini.
mohon bantuanya. terima kasih

Pizaini says:
on 23 January 2015 at 20:34

i
Rate This

saya coba bantu mas.. :).


Mas tinggal ambil nilai dari EditText nya. Trz di proses ke url PHP yg akan memproses querynya.
Misal:
..
urlGetByBagian = “getByBagian.php”;

editTextBagian = (EditText) findViewById(R.id.editTextBagian);
serverRequest.sendGetRequest(ServerRequest.urlGetByBagian+”?bag=”+editTextBagian)

Truz dproses di PHPnya, sama seperti query mas di atas.

semoga membantu

adra says:
on 28 December 2014 at 15:44

42 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Rate This

mas pizani mo nambahin, saya tadi kjadiannya sama kayak agan2 yang di atas, database ga muncul, saya curiga di php yg
pertama di buat yaitu index.php… kalo index.php kan berarti ketika kita masuk folder android di htdocs lgsg tuh ngebuka
index.php mangkanya database gak muncul, saran saya sih ksh tau k yang laen kalo sblom buat aplikasi di eclipse ubah dlu
nama index.php jadi yang laen semisal index1.php

Reply
Pizaini says:
on 22 January 2015 at 08:44

i
Rate This

terima kasih atas tambahannya mas… file index.php itu niatnya cuma utk mengecek apakah kita udah bisa konek ke server…
itu aja sih mas.. jika mw diubah ke nama file lain, semua dikembalikan kpd agan2 semua… great idea mas…

Reply
Lukman says:
on 18 December 2014 at 00:08

i
Rate This

Mas saya sudah ganti ip 10.0.2.2 menjadi ip komputer saya tetapi ngk bisa muncul pesan lukmanjson berhenti. Apakah pengaruh
xampp saya install di E

Reply
suci says:
on 17 December 2014 at 10:38

i
Rate This

gan mau nanya, server aktif dan MySQL sudah aktif, direktori ny juga udah bener, tapi ngetes localhost ga mau. saya make
genymotion, apa memang ada bedanya dengan AVD?

Reply
Jaka Ardhita (@jakaardita) says:
on 11 December 2014 at 10:12

i
Rate This

Pak, Mau Tanya,


Saya ada tugas kuliah untuk membuat aplikasi client server berbasis android seperti ini ada perintah insert, update, delete dan
select all, tapi database yang dipake adalah SQL Server 2012
mohon pencerahannya pak, kalau bisa saya request contohnya,

43 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

terima kasih.

Reply
naufal says:
on 14 November 2014 at 14:46

i
Rate This

gan,mau tanya klo gini solusinya gimana?


Warning: mysql_connect(): Access denied for user ‘root’@’localhost’ (using password: YES) in E:\bahan gawe sekolah\web
\mboh\xampp\htdocs\android\connection.php on line 2
Access denied for user ‘root’@’localhost’ (using password: YES)

Reply
Pizaini says:
on 14 November 2014 at 15:30

i
Rate This

default nya “root” itu tanpa password mas. se�ing aja passwordnya kosong. Atau bisa juga karna passordnya salah…

Reply
naufal says:
on 14 November 2014 at 14:45

i
Rate This

gan,mau tanya klo gini solusinya gimana??


Warning: mysql_connect(): Access denied for user ‘root’@’localhost’ (using password: YES) in E:\bahan gawe sekolah\web
\mboh\xampp\htdocs\android\connection.php on line 2
Access denied for user ‘root’@’localhost’ (using password: YES)

Reply
Jais says:
on 22 October 2014 at 22:22

i
Rate This

Mas saya mau nanya..


Kalo misal pencariannya pakai EditText biasa (yang tinggal di drag and drop) terus pakai bu�on itu gimana mas kodenya? Aku
udah coba2 belum jadi ini…

Yang di ubah cuma ini kan mas,


==============================================================

44 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

public boolean onCreateOptionsMenu(Menu menu) {


getMenuInflater().inflate(R.menu.activity_main, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.option_menu_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
searchView.setOnQueryTextListener(this);
searchView.setQueryHint(“nama atau nim”);

return true;
}
….
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);
return true;
}

@Override
public boolean onQueryTextSubmit(String query) {
return false;
}

===========================================================
Udah aku ubah jadi gini mas
===========================================================
public void ClickSearch() {
Bu�on searchFoods = (Bu�on)findViewById(R.id.searchbu�on);
searchFoods.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
//EditText pencarian = (EditText)findViewById(R.id.searchtext);

//kode kode and code search haha


//SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
EditText pencarian = (EditText)findViewById(R.id.searchtext);

//pencarian.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
pencarian(getComponentName());
//pencarian.setIconifiedByDefault(false);
pencarian.setOnClickListener(this);
//pencarian.setHint(“nama”);

private void pencarian(ComponentName componentName) {


// TODO Auto-generated method stub
}
});
}
======================================================
Tapi tetap aja gak jalan mas, kira2 kenapa ya mas?
Mohon pencerahannya mas….
Terimakasih banyak

Reply
Nero says:
on 5 September 2014 at 10:33

45 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

Mas nya lagi, tiu localhost saya “h�p://10.0.2.2/latihan/android” , kalo di cek pake browser android jalan, tp kalo browser laptop
ga jalan. kenapa ya ?, apa ini salah satu faktor kalo database saya yang di loclhost ga nongol d aplikasi ?

Reply
Pizaini says:
on 7 September 2014 at 11:28

i
Rate This

kalo dari android pke 10.0.0.2 mas.. tapi klo yg akses dari browsser laptop, tetap pke localhost biasa (IP 127.0.0.1)…
ntar kalo servernya udah diupload ke internet, tinggal ganti url nya aja…

Reply
Nero says:
on 5 September 2014 at 10:00

i
Rate This

Mas mau tanya, itu kan aplikasi nya pake sever url nya “h�p://pizaini.my.phpcloud.com/android” , trus kalo di ganti pake
localhot dmn nulis nya.
punya saya saya masukin di folder xampp/htdoc/latihan/android.
trus saya tulil d server url nya “h�p://10.0.0.2/latihan/android”, dan file database nya sudah saya import ke phpmyadmin, tp
tetep ga bisa. mohon pencerahannya.

Reply
si_ipiet says:
on 16 July 2014 at 11:52

i
Rate This

mohon pencerahan mas, klo qt tanpa OL ke internet dan databsenya pake OpenSource[debian] gmn ya caranya?
makasih buanyak

Reply
jeffri says:
on 15 July 2014 at 22:51

i
Rate This

upload file di winscp nya ke folder yang mana mas

46 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Reply
awus awus says:
on 8 July 2014 at 09:06

i
Rate This

makasi banyak yaaaaaaaaaaaaaaaaaaaaaaaaa . membangtu banget

Reply
Miftah says:
on 5 July 2014 at 21:25

i
Rate This

maaf om, saya mau nanya untuk masalah database, itu kita buat di PC kan??, dan cuma ngambil local host PC, kalau untuk
koneksi internet itu gimana om? contohnya PC nyambung ke TPlink dan HH juga nyambung, nah itu kan pake IP PC nya, itu
bisa gak om? kalau bisa, script yang di ganti yang mananya?
sebelumnya terima kasih banyak tutornya ^_^

Reply
Don Garpedos says:
on 24 June 2014 at 20:07

i
Rate This

Mas, saya mau nanya itu buat databasenya gimana yah? Sorry masih newbie, btw thanks tutorialnya

Reply
ikram says:
on 5 June 2014 at 00:53

i
Rate This

gan,,servernya tu pakek le�ob ya?

Reply
Tzar Rifqi says:
on 21 May 2014 at 19:31

47 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Rate This

Mas Pizaini.. saya coba tutorial mas pizaini dari awal sampai akhir tidak ada masalah,, dan tidak error.. terima kasih sekali
tutorialnya sangat membantu.

kemudian saya coba download app ini yang sudah mas pizaini upload.. saya install dihandphone pun tidak ada masalah..

tapi kalau koneksi client server ini saya ganti alamatnya dengan localhost, kemudian saya install di handphone lalu saya
koneksikan handphone ini menggunakan wireless, apakah tetap bisa mas? soalnya saya coba tetap tidak terkoneksi..

handphone tidak bisa menampilkan database yang terdapat dilaptop saya.. terima kasih mas

Reply
Pizaini says:
on 29 May 2014 at 18:09

i
Rate This

kalau mw dicoba via handphone yang terkoneksi pake wifi, hanya perlu disesuaikan dengan alamat IP servernya. Misalnya
laptop mas punya IP 192.168.49.1, jadi di aplikasinya, alamat server diganti menjadi alamat IP tersebut. selamat handphone
bisa konek ke laptop, menurut saya g masalah.yg penting IP nya aja mas yg disesuaikan.. trims

Reply
Amel says:
on 6 April 2014 at 16:37

i
Rate This

mas mau nnya nih.. kan ak udah download source code dri masnya.. tp kok ngak mau nampil yah.. tampil klo saya pake urlnya
private final String serverUri = “h�p://pizaini.my.phpcloud.com/android”; mau nampil.. tp klo saya ganti dengan “h�p://127.0.0.1
/android”;.. malah ngak nampil sama skli,…
itu kenapa yah mas?
makasih… mohon bantuannya gan..

Reply
Pizaini says:
on 6 April 2014 at 21:04

i
Rate This

bisa jadi karna server lokal ny ga aktif mas… bisa dicek url lokalny sudah benar atau belum.. cek dari browser Android juga
bisa..

Reply
defriza says:
on 3 April 2014 at 07:41

48 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

Teri.a kasih tutornya mas..boleh tanya gak..apa aplikasi semacam ini bisa menggunakan login admin/member..supaya data tidak
d edit sembarang member..terima kasih sebelumnya

Reply
NN says:
on 25 February 2014 at 12:09

i
Rate This

mantap banget mas tutorialnya.. bermanfaat bagi kita yg sedang mempelajari Android. Semoga diberikan pahala yg melimpah
oleh Sang Maha Kuasa.

Terima Kasih…

Reply
dendy says:
on 5 February 2014 at 20:41

i
Rate This

Mantap banget nih tutorialnya..mksh bngt yah om dah berbagi tutorialnya…tapi pas saya coba delete, prosesnya emg kedelete
tapi pas dicek lagi dimahasiswa online kok msh ada, kyk gak kedelete gtu..tolong pncerahanny ya om..thx..

Reply
dimas.id says:
on 30 January 2014 at 23:43

i
Rate This

mas saya dah coba download dan aplikasikan smuanya,, nah Ada masalah ini untuk package server requestnya kok erorr, semua
…. tapi yang ada tanda silangnya hanya di request server.java…. apa itu mempengaruhi smuanya??,,, apa model emulatornya
berpengaruh atau yang lainnya mas???

terimakasih sebelumnya

Reply
HELP ME! says:
on 5 January 2014 at 09:44

49 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Rate This

Masalah: LIST VIEW DATA TIDAK TAMPIL


mas mau tanya,saya sudah berhasil koneksikan app ini ke server. tapi kok di mainactivity.java listview datanya gak ke tampil
yah. padahal data yang diinputkan sudah tersimpan di database server.
Mohon bantuannya mas hehe

Reply
Joni Jontor says:
on 13 March 2014 at 21:27

i
Rate This

Saya juga ga tambil data nya di list view. Kenapa ya mas ?

Reply
Ryoza Morugakiro says:
on 1 January 2014 at 07:47

i
Rate This

nice post Mr.


biasanya kan klo sebuah aplikasi seperti itu adanya hak akses Mr,,,
klo boleh request, tutorial untuk membuat Login’y Mr. !!!!
^_^

Thanx…
ditunggu tutorialnya!!! ^_^

Reply
Sanusi Harun says:
on 29 December 2013 at 02:15

i
Rate This

Mantap dahhhh

Reply
taʹjillah fridy says:
on 26 December 2013 at 14:35

i
Rate This

mas saya nyobak untuk buat dan download dari project yang mas buat tapi masalahnya tetap saja. data yang dibuat didatabase

50 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

tidak bisa ditampilkan, padahal waktu saya test di lewat browser laptop dan emulator data tesebeut bisa ditampilkan. solusinya
gimana mas?? mohon pencerahannya

Reply
rifqiagung says:
on 21 December 2013 at 11:17

i
Rate This

sama yang di “android:text=”@string/tv_nim” />”


selalu error dengan bacaan error: Error: No resource found that matches the given name (at ‘text’ with value ‘@string/tv_nim’).

Reply
Pizaini says:
on 21 December 2013 at 12:14

i
Rate This

sepertinya gak ada file xml folder res/value/…..


biasanya strings.xml.coba cek apakah ada property “tv_nim”..

Reply
rifqiagung says:
on 21 December 2013 at 12:38

i
Rate This

sebelumnya terima kasih tutorialnya mas, sedikitnya saya sudah mulai mengerti..
makash mas pizaini

Pizaini says:
on 22 December 2013 at 08:20

i
Rate This

sama2 mas..semoga bermanfaat

rifqiagung says:
on 21 December 2013 at 11:16

51 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

mas kalo errornya disini kenpa ya? mohon pencerahannya mas, masih belajar2 android
error: Error: No resource found that matches the given name (at ‘text’ with value ‘@string/tv_nim’).
error nya ada di xml activity_detail_mahasiswa sama di xml form mahasiswa.
yang bersangkutan dengan hint semuanya eror mas, kenapa ya?

Reply
rifqiagung says:
on 21 December 2013 at 11:15

i
Rate This

mas kalo errornya disini kenpa ya? mohon pencerahannya mas, masih belajar2 android
error: Error: No resource found that matches the given name (at ‘text’ with value ‘@string/tv_nim’).
error nya ada di xml activity_detail_mahasiswa sama di xml form mahasiswa.
yang bersangkutan dengan hint semuanya eror mas, kenapa ya?

Reply
Rav says:
on 18 December 2013 at 22:11

i
Rate This

gan kalo misalnya data yang tampil di listview kita seleksi kemudian data yang di pilih di tampilin ke form berikutnya gmana
carany??
hehe maklum msi newbie

Reply
Pizaini says:
on 19 December 2013 at 05:49

i
Rate This

di app ini, list view bisa di seleksi gan.. dan ditampilkan di form berikutnya (update atau delete).

Reply
dini says:
on 17 December 2013 at 20:56

i
Rate This

permisi mas.. kalo gak upload ke server bisa konek gak mas client nya?

52 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Reply
Pizaini says:
on 18 December 2013 at 07:46

i
Rate This

app ini masih sederhana dan hanya didesain untuk koneksi data yang selalu terhubung. Jadi kalo koneksi internet putus, g
bisa nyimpan data ke server.
Perlu perubahan dan modifikasi lagi… smoga membantu

Reply
Arviaputra says:
on 3 December 2013 at 22:13

i
Rate This

Thanks ya bro,berguna banget nih

Reply
Pizaini says:
on 4 December 2013 at 06:05

i
Rate This

sama2 gan…

Reply
pim says:
on 27 November 2013 at 15:38

i
Rate This

mas mau tanya, untuk upload data ke server harus ada koneksi internet ya?
trus gak pake emulator tp pake hp, caranya gmn y??
maaf newbie..
terima kasih

Reply
Pizaini says:
on 27 November 2013 at 18:01

53 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

kalo upload data ke server tentu pke koneksi internet mas..


baik emulator atao lewt hp langsung…
smoga membantu

Reply
Sidi Mustaqbal says:
on 16 November 2013 at 21:51

i
Rate This

mas, mau tanya, kenapa saya dapet error di menu ya..

setiap yg di method
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
getMenuInflater().inflate(R.menu.activity_main_action, menu);
return true;
}
pasti error : activity_main_action cannot resolved or is not a field,
padahal saya cuma copy paste script dari mas..
trus, karena bagian itu error, jadi pengaruh ke yg lain juga mas, yg ada hubungannya dgn menu
mohon pencerahannya.. terima kasih

Reply
Pizaini says:
on 17 November 2013 at 23:02

i
Rate This

saya sarankan untuk tidak copy paste source code.


Di Android, tidak hanya file java yang terlibat, tetapi ada file lain misal file xml dan file yg auto generate oleh IDE.

Kebetulan yg mas copy adalah yg berhungan dengan xml ny.


“R.menu.activity_main_action” itu diambil dari file xml yang ada di direktori menu. Kalo file ini sudah ada dan masih error,
biasanya karna file R.java tidak mengenerate dengan baik.
semoga membantu

Reply
naffa says:
on 13 November 2013 at 16:02

i
Rate This

mas trimaksi sebelumnya nih yang ku carii…


gimana mana caranya agar bisa berjalan di versi 2.3 …apa ada yang harus di buang sourcenya…

54 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Reply
Pizaini says:
on 16 November 2013 at 08:13

i
Rate This

kalo mau dijadikan versi 2.3, tinggal disesuaikan aja. salah satu nya menu Action Bar.

Reply
isun says:
on 13 November 2013 at 12:31

i
Rate This

mantaaap gan…bermanfaat sekali tutorialnya..terimakasih

Reply
Pizaini says:
on 16 November 2013 at 08:12

i
Rate This

sama2 gan…

Reply
pulung says:
on 11 November 2013 at 11:11

i
Rate This

mas, mau tanya apa perbedaan dan fungsi dari :


package org.pizaini.mahasiswaonline.entities;
package org.pizaini.mahasiswaonline.server;
package org.pizaini.mahasiswaonline;

Reply
Pizaini says:
on 16 November 2013 at 08:14

55 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Rate This

itu package mas. Biasanya digunakan untuk mengelompokkan beberapa class…

Reply
rahman mukhlis says:
on 5 November 2013 at 21:41

i
Rate This

mas, sy udah ngikutin cara mas d atas dgn benar dan teliti,app nya ga ada yg error. tp kok databasenya gamau muncul yah d app
nya ? database yg sy buat jg udah bner mas, jadi klo input data di form mahasiswa itu klo di save gabisa mas
knp itu mas ? mohon bantuan yah..

balas via email saja mas

rahmanmukhlis@gmail.com

thnx,sori ngrepotin mas

Reply
Pizaini says:
on 6 November 2013 at 06:01

i
Rate This

coba cek lagi alamat url nya, atau cek apakah database nya sudah aktif. Coba mas download dulu source yg dari saya, dan
coba di komputer mas, apakah jalan atau tidak.
semoga membantu…

Reply
Arwan Salafudin Ashari says:
on 26 October 2013 at 04:27

i
Rate This

blm bisa mas foreclose, minta contoh di javanya mas untuk model sprti itu.. maaf mas newbie

Reply
Pizaini says:
on 27 October 2013 at 05:29

i
Rate This

56 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Silakan download project nya gan… source code project nya juga udah tersedia.

Reply
Ferdian says:
on 24 May 2017 at 07:39

i
Rate This

Mas biar file nya jadi .Exe gmn cara nya


Email d_one_onet@yahoo.com

Arwan Salafudin Ashari says:


on 23 October 2013 at 19:28

i
Rate This

mas kalau misal buat login dengan server request dan anggota itu gmn mas?
kan mengirim user n pwd, lalu menerima respon
{“sukses”:1} nah untuk memprosesnya gmn mas?
bantu yak mas

Reply
Pizaini says:
on 24 October 2013 at 06:44

i
Rate This

konepnya sama gan. klo mau ditambahkan response misal {sukses: 1},
kita tinggal tambahkan di script serversidenya (PHP). Misal, jika login sukses {response: 1}, kalo gagal {response: 0}.

truz jangan lupa tambahkan sedikit di Sript Java nya yg memproses JSON object.

sederhanya mungkin begitu mas…semoga membantu

Reply
Arwan Salafudin Ashari says:
on 23 October 2013 at 19:16

i
Rate This

mas kalau misal buat login dengan server request dan anggota itu gmn mas?
Kan mengirim dan menerima respon. Ane nyerah gan..
Mohon bantuannya gan..

57 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Reply
rasi says:
on 20 October 2013 at 20:45

i
Rate This

atau bisa kirimkan ke email ya mas.,,

rasibintang@ymail.com

r4si.b1nt4ng@gmail.com

maaf repotin.,,

Reply
Pizaini says:
on 21 October 2013 at 18:51

i
Rate This

Silakan download dari link nya mas.. sepertinya tidak ada masalah dengan link downloadnya.. trm kasih…

Reply
rasi says:
on 20 October 2013 at 20:05

i
Rate This

saya coba unduh source code_x koq gak bisa yaa.,,

mohon bantuannya mas.,,

mungkin ada mirror source codenya

Reply
Pizaini says:
on 21 October 2013 at 18:52

i
Rate This

saya sudah coba dan g ada masalah dengan link downloadnya..

Reply
Tugas2Kampus says:
on 18 October 2013 at 13:15

58 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

thanks atas sharenya gan… semoga berkah ilmunya…

Reply
Pizaini says:
on 18 October 2013 at 14:34

i
Rate This

amiiin…. sama2 gan…

Reply
dewa says:
on 17 October 2013 at 04:15

i
Rate This

Ini baru namanya berbagi,


makasih untuk ilmunya gan, tetap sukses

Reply
Pizaini says:
on 17 October 2013 at 08:39

i
Rate This

sama2 gan… semoga bermanfaat

Reply
ze�a says:
on 10 October 2013 at 16:13

i
Rate This

pak mau tanya,

kalau kita mau menampilkan file gambar yang di simpan di database MySQL

59 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

di Aplikasi Android menggunakan JSON.. apakah Bisa Pak?

Reply
yafie miftah says:
on 24 September 2013 at 11:45

i
Rate This

mas pizaini mau tanya. sudah saya jalankan ke emulator..sudah berjalan dengan lancar..sya bingung dengan data di
emulator..knp datanya gak sesuai dengan database yg telah kita buat di localhost php my admin?

dan mau tanya lagi..gmn langkah2 supaya program itu bisa saya jalankan k hp?
trimakasih

Reply
Pizaini says:
on 24 September 2013 at 22:15

i
Rate This

coba cek arah URL nya.. di d file ServerRequest.java.. kalo ke localhost, IP nya 10.0.2.2..

kalo mau dijalankan di hp, konekkan HP ke laptop dan akti�an mode debug di hp androidnya.. ntr pas di run-pilih
perangkat (device) nya HP..

atau dengan mengeksport file .apk nya. kalo di eclipse bisa deri menu android tools->Export Signed atau Unsigned App. nanti
file apk di copy ke HP dan diinstal.

Reply
Asief Maniaxx says:
on 23 September 2013 at 15:41

i
Rate This

Mas, Ini Versi Minimalnya berapa yaa?


soalny saya pake yag 2,3,3

Reply
Pizaini says:
on 24 September 2013 at 10:29

i
Rate This

versi 4.0 mas (ICS)…

60 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Reply
Anes says:
on 21 September 2013 at 12:55

i
Rate This

Mas Pizaini, terimakasih sebelumnya atas ilmunya


Mau nanya klo R.id.option_menu_search apa ya? soalnya error “cannot be resolved or is not a field”
thanks

Reply
Pizaini says:
on 21 September 2013 at 14:05

i
Rate This

R.id.option_menu_search itu menu. Yang ada di Action Bar. file nya di res/menu/activity_main.xml

Reply
arLya23moush says:
on 10 September 2013 at 02:39

i
Rate This

maksud saya pencarian

Reply
arLya23moush says:
on 10 September 2013 at 02:33

i
Rate This

mas klo mau nambah fitur pencadian listview gmn ya ?


kan kurang efektif klo datanya sangat banyak ?

Reply
Pizaini says:
on 10 September 2013 at 18:03

61 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Rate This

di posting sudah ada fitur pencarian berdasarkan listView nya… kalo mau ditambahkan lagi, silakan tambahkan sesuai
dengan kebutuhan.

Reply
ugin says:
on 6 September 2013 at 16:31

i
Rate This

kak maaf mau tanya, saya coba source code dari kaka, trus di run di HP, url nya saya ganti pake IP endiri, stlh retrieving yang
muncul cuma layar blank, ga da tulisan papa, kalau misal saya tambah data ga da keterangan saving data problem, tapi tetep
retrieving dan setelah itu blank lagi, ga kluar data apapa, kenapa ya ka? mohon bantuannya..
oia, android saya pake yang ice cream sandwich

Reply
Pizaini says:
on 7 September 2013 at 21:43

i
Rate This

coba dicek lagi link PHP nya dari web browser. Apakah ada reply data nya (JSON data) …
dan coba ganti timeout nya jadi 5000.

semoga membantu

Reply
iʹbud says:
on 3 September 2013 at 20:42

i
Rate This

maaf mas mau nanya ,, maklum newbie

di server request error semua , , ,??


gmna cara menambah versi android 4.0 di emulator?

Reply
Pizaini says:
on 4 September 2013 at 11:23

i
Rate This

62 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

tambah emulator baru dari Android Vitrtual Device (AVD) Manager. Disitu bisa ditambah emulator baru dan pilih versi
android yang diinginkan.

Reply
iʹbud says:
on 4 September 2013 at 15:01

i
Rate This

di emulator pilihannya mentok di versi 2.3 , ,

apa harus ada yng di instal lgy ?

mohon pencerahannya .. mkasih

Pizaini says:
on 4 September 2013 at 21:37

i
Rate This

kalo belum ada versi android 4.0, harus diinstal dulu dari dari SDK Manager. Situ kita bisa menambah platform 2.3, 3.0,
4.0, dst…

Atau bisa cek disini:


h�p://developer.android.com/sdk/installing/adding-packages.html

Misalnya kita ingin instal platform yang 4.0, cukup ceklis yang 4.0 saja. Setelah instalasi selesai, baru buat AVD lagi
dengan Android 4.0…

Yasser says:
on 31 August 2013 at 15:29

i
Rate This

Mas, Ada masalah ini untuk package server requestnya kok erorr, semua import an librarynya ga berfungsi, Tolong
pencerahaannya mas

Reply
Pizaini says:
on 1 September 2013 at 06:13

i
Rate This

coba di clean project dulu… karna gak ada libraru external di project ini. Dan pastikan versi Android nya 4.0 ke atas…

63 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Reply
Leroux says:
on 29 August 2013 at 16:18

i
Rate This

saya menemukan beberapa masalah yang anak,


1 pertama kali run project failed to install
2 run project untuk kedua kalinya setelah saya clean projectnya sudah success, tpi unfortunately mahasiswa has stopped
kemudian, saya cobak timeoutnya saya panjangkan udah bisa masuk aplikasinya, dan proses berhasil
3 kemudia selang beberapa hari (sekitar 3 hari kalau ga salah) saya buka kembali app nya kembali muncul error unfortunately
mahasiswa has stopped saya coba ulang2 seperti kejadian sebelumnya tidak terjadi apa2

untuk mengatasi masalah tersebut bagaimana? saya sempet baca2 pake asycntask tapi saya belum mengerti , apakah masalah ini
dipengaruhi kinerja emulator atau versi dari API juga mempengaruhi untuk masalah ini? mohon penjelasaannya supaya saya
bisa lebih mengerti

terima kasih untuk sebelumnya

Reply
Pizaini says:
on 30 August 2013 at 21:08

i
Rate This

bisa jadi karna emulatornya. karna emulator biasanya memerlukan spesifikasi prosesor dan memori yang cukup besar. jadi
terkadang lambat kalo menjalankan emulator. Atau bisa menggunakan device android langsung tanpa emulator. jadi tidak
membebani kinerja komputer. Untuk aplikasinya, terkadang masih bisa terjadi error. krna aplikasi ini masih banyak
kekurangan, terutama dalam manajemen asynk task nya.
semoga membantu…

Reply
fa says:
on 28 August 2013 at 23:22

i
Rate This

mantap postnya nih… lanjutkan!!

salam coding
xD

Reply
Pizaini says:
on 29 August 2013 at 05:09

64 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

i
Rate This

thanks mas bro….

Reply
Luhung Haryoluhung Haryoluhung says:
on 20 August 2013 at 11:56

i
Rate This

Saya sudah coba semuanya dan tidak ada error tpi ketika saya jalankan dapat pesan Unfortunately mahasiswa online has stopped
, udah cari2 problemnya di mana tpi ga ketemu, adakah solusi?

Reply
Pizaini says:
on 20 August 2013 at 18:53

i
Rate This

Yupz, error ini juga saya temukan. Kalo kita lihat di Log Cat, errornya di file ServerRequest.java line 63. Tapi sebenernya
bukan pada line tersebut. Errornya ada di line 49: H�pResponse h�pResponse = h�pClient.execute(h�pGet);

Mungkin masalahnya ada di timeout yang diset 3 detik. Saya coba ganti menjadi 5 detik (5000 ms), errornya sudah tidak
adalagi.
semoga membantu.

Reply
Luhung Haryoluhung Haryoluhung says:
on 22 August 2013 at 08:50

i
Rate This

Timeoutnya sudah saya coba ganti2 tapi masih tetap ini erorrnya yang ada di logcat saya ga bisa menemukan letak
salahnya di mana -__-

08-21 21:39:41.693: E/AndroidRuntime(1061): FATAL EXCEPTION: main


08-21 21:39:41.693: E/AndroidRuntime(1061): java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.customizedlistview/com.example.customizedlistview.CustomizedListView}:
android.os.NetworkOnMainThreadException
08-21 21:39:41.693: E/AndroidRuntime(1061): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
08-21 21:39:41.693: E/AndroidRuntime(1061): at android.app.ActivityThread.access$600(ActivityThread.java:141)
08-21 21:39:41.693: E/AndroidRuntime(1061): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
08-21 21:39:41.693: E/AndroidRuntime(1061): at android.os.Handler.dispatchMessage(Handler.java:99)
08-21 21:39:41.693: E/AndroidRuntime(1061): at android.os.Looper.loop(Looper.java:137)

65 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

08-21 21:39:41.693: E/AndroidRuntime(1061): at android.app.ActivityThread.main(ActivityThread.java:5103)


08-21 21:39:41.693: E/AndroidRuntime(1061): at java.lang.reflect.Method.invokeNative(Native Method)
08-21 21:39:41.693: E/AndroidRuntime(1061): at java.lang.reflect.Method.invoke(Method.java:525)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
08-21 21:39:41.693: E/AndroidRuntime(1061): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-21 21:39:41.693: E/AndroidRuntime(1061): at dalvik.system.NativeStart.main(Native Method)
08-21 21:39:41.693: E/AndroidRuntime(1061): Caused by: android.os.NetworkOnMainThreadException
08-21 21:39:41.693: E/AndroidRuntime(1061): at
android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1133)
08-21 21:39:41.693: E/AndroidRuntime(1061): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
08-21 21:39:41.693: E/AndroidRuntime(1061): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
08-21 21:39:41.693: E/AndroidRuntime(1061): at java.net.InetAddress.getAllByName(InetAddress.java:214)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
org.apache.h�p.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
org.apache.h�p.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
org.apache.h�p.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
org.apache.h�p.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
org.apache.h�p.impl.client.AbstractH�pClient.execute(AbstractH�pClient.java:555)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
org.apache.h�p.impl.client.AbstractH�pClient.execute(AbstractH�pClient.java:487)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
org.apache.h�p.impl.client.AbstractH�pClient.execute(AbstractH�pClient.java:465)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
com.example.customizedlistview.XMLParser.getXmlFromUrl(XMLParser.java:45)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
com.example.customizedlistview.CustomizedListView.onCreate(CustomizedListView.java:40)
08-21 21:39:41.693: E/AndroidRuntime(1061): at android.app.Activity.performCreate(Activity.java:5133)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
08-21 21:39:41.693: E/AndroidRuntime(1061): at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
08-21 21:39:41.693: E/AndroidRuntime(1061): … 11 more

mungkin bsa menemukan solusi lainnya


atau ram komputer juga pengaruh…

Luhung Haryoluhung Haryoluhung says:


on 22 August 2013 at 13:26

i
Rate This

Edit saya sudah bsa membuka aplikasinya tpi menemukan masalah yang lain yakni data yang sudah kita buat melalui file
Php tidak ada, dan ketika saya mencoba untuk menambah data, pesannya sudah berhasil tpi ketika saya check di
phpmyadmin datanya tidak tersimpan , itu kira2 kenapa ya?

Pizaini says:
on 23 August 2013 at 18:42

66 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

Rate This

Coba cek lagi koneksi emulator atau ponsel nya ke database dan file PHP. Kalo pake emulator, alamat servernya 10.0.2.2.
kalo di HP, sesuaikan dengan alamat server yang dipake. Atau untuk menceknya bisa juga pake server yang punya saya di
h�p://pizaini.my.phpcloud.com/android/ sebagai acuan.

deni says:
on 15 August 2013 at 23:40

i
Rate This

maav mas pizaini numpang tanya..variabel R.menu.activity_main_action itu dari mana yah??soalnya dari file-file yg dibuat
variabel tau nama activity itu gag ada

Reply
Pizaini says:
on 16 August 2013 at 18:58

i
Rate This

R file adalah file yang digenerate secara otomatis oleh ADT. Karena digenerate, kita tidak perlu mengedit file tersebut. R file
merujuk pada resource yang kita buat. Misalnya layout, cara memanggilnya adalah R.layout..xml. Jadi,
R.menu.activity_main_action: file yang berada pada pada direktori res/menu/activity_main_action.xml

Reply
bafukku says:
on 25 June 2013 at 21:51

i
Rate This

Tutorial yg sangat bermanfaat, boleh request tutorial gak? Dalam aplikasi agan menguploadnya ke my.phpcloud.com bisa di
huat gak tutorialnya supaya bisa konek ke internet langsung kayak punya agan?

Reply
Pizaini says:
on 26 June 2013 at 07:17

i
Rate This

Untuk upload script ke server, bisa ke server mana saja. contoh milik saya hanya salah satunya. silakan register di
phpcloud.com dan disana nanti kita akan dikasih satu sub domain dan satu database MySQL (dan PHPMyAdmin). Cara
upload juga ada diterangkan disana dan cukup jelas gan. Salah satunya pake WinSCP. thanks gan..

Reply

67 of 68 05/11/2020, 17:49
Membuat Aplikasi Client Server menggunakan Android, PHP dan MySQ... https://pizaini.wordpress.com/2013/06/17/membuat-aplikasi-client-serve...

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blog at WordPress.com.

68 of 68 05/11/2020, 17:49

Anda mungkin juga menyukai