Anda di halaman 1dari 7

Koneksi Android ke Database MYSQL

mengggunakan PHP JSON


Android June 15, 2014 Comments: 5
Selama ini database bawaan android adalah Sqlite Database. Namun bagaimana jika kita
memanfaatkan Mysql sebagai database dan PHP Sebagai Server side nya ?
Berikut tutorial koneksi Android ke Mysql dengan menggunakan server PHP.
Pertama buat database dulu di mysql, misalnya database dengan nama android.
Selanjutnya buat tabel dengan nama kontak dengan struktur tabel sebagai berikut :
1
2
3
4
5

CREATE TABLE kontak(


id_kontak int (2),
nama varchar (255),
PRIMARY KEY( id_kontak )
);

Lalu isi tabel dengan data sesuai yang diinginkan . Misal nya

Selanjut nya adalah membuat file PHP untuk dikoneksikan ke Mysql.


Buat file php dengan nama db_config.php dan isikan kode berikut :
1 <?php
2
define('DB_SERVER',"localhost");
define('DB_USER' , "root");
3
define('DB_PASSWORD',"");
4
5 ?> define('DB_DATABASE',"android");
6
Kode tersebut digunakan untuk komunikasi dengan database mysql. Setting username dan
password sesuai dengan konfigurasi mysql anda.
Selanjutnya buat file php dengan nama db_connect.php dan isi sebagai berikut :
1 <?php

2
3
4
5
6
7
8 class DB_CONNECT{
function __construct(){
9
$this->connect();
1
}
0 function __destruct(){
11
$this->close();
1 }
2 function connect(){
//require_once __DIR__ .'/db_config.php';
1
include "db_config.php";
3
$con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die
1 (mysql_error());
$db = mysql_select_db(DB_DATABASE) or die (mysql_error());
4
return $con;
1
}
5 function close(){
1
mysql_close();
6 }
1 }
7 ?>
1
8
1
9
2
0
Selanjutnya buat file php dengan nama bacaKontak.php, file ini digunakan untuk membaca
semua data yang ada pada database mysql. isi file bacaKontak.php sebagai berikut :
1
2 <?php
require_once __DIR__ .'/db_connect.php';
3
$db = new DB_CONNECT();
4
$select = mysql_query("SELECT * FROM kontak");
5
while($value = mysql_fetch_assoc($select)){
6
$output [] = $value;
7
}
8
print(json_encode($output));
9 ?>
10
Nah sekarang tinggal buat file android nya.
Buat project android baru dengan struktur sebagai berikut :

Setelah selesai, maka akan ada file dengan ekstensi .java seperti berikut :

Buka file MainActivity.java dan isi dengan kode berikut :


1 package com.koneksimysql;
2
3 import java.io.BufferedReader;
import java.io.InputStream;
4 import java.io.InputStreamReader;
5
6 import org.apache.http.HttpEntity;
7 import org.apache.http.HttpResponse;
8 import org.apache.http.ParseException;
import org.apache.http.client.HttpClient;
9 import org.apache.http.client.methods.HttpPost;
1 import org.apache.http.impl.client.DefaultHttpClient;
0 import org.json.JSONArray;
11import org.json.JSONException;
1 import org.json.JSONObject;
import android.app.ListActivity;
2 import android.os.Bundle;
1 import android.util.Log;
3 import android.view.View;
1 import android.widget.AdapterView;
android.widget.AdapterView.OnItemClickListener;
4 import
import android.widget.ListView;
1 import android.widget.Toast;
5 import android.widget.ArrayAdapter;

1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8

public class MainActivity extends ListActivity{


String id;
String[] nama;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String hasil = null;
InputStream is = null;
StringBuilder sb = null;
try{
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new
HttpPost("http://10.0.2.2/android/bacaKontak.php");
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error Http Connection");

}
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,
"iso-8859-1"), 8);
sb = new StringBuilder();
sb.append(reader.readLine()+"\n");
String line = "0";
while((line = reader.readLine()) != null){
sb.append(line + "\n");
}is.close();
hasil = sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error Converting result"+e.toString());
}
JSONArray jArray;
try{
jArray = new JSONArray(hasil);
JSONObject jObject = null;
nama = new String[jArray.length()];
for(int i = 0; i<jArray.length(); i++){
jObject = jArray.getJSONObject(i);
nama[i] = jObject.getString("nama");
}
}catch(JSONException je){
Toast.makeText(getBaseContext(), "No data Found",
Toast.LENGTH_LONG).show();
}
catch (ParseException pe){
pe.printStackTrace();
}
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, nama));
ListView lv;
lv = getListView();

lv.setTextFilterEnabled(true);
3
lv.setOnItemClickListener(new OnItemClickListener(){
9
4
@Override
0
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long
4 arg3) {
// TODO Auto-generated method stub
1
4
}
2
4
});
3 }
4 }
4
4
5
4
6
4
7
4
8
4
9
5
0
5
1
5
2
5
3
5
4
5
5
5
6
5
7
5
8
5
9
6
0
6
1

6
2
6
3
6
4
6
5
6
6
6
7
6
8
6
9
7
0
7
1
7
2
7
3
7
4
7
5
7
6
7
7
7
8
7
9
8
0
8
1
8
2
8
3
8
4

8
5
8
6
8
7
8
8
8
9
Dan terakhir, tambahkan code berikut di AndroidManifest.xml nya .
1 <uses-permission android:name="android.permission.INTERNET" />
Hasil akhir nya nya sebagai berikut :

Semoga bermanfaat !

Anda mungkin juga menyukai