Pada tutorial kali ini, kita akan membuat aplikasi Android client server PHP dan MySql untuk melakukan operasi CRUD (Create, Read, Update, Delete). Cara kerja aplikasi yang akan kita buat kali ini adalah aplikasi android memanggil script PHP untuk melakukan operasi data. Kemudian, script PHP menghubungkan ke database MySQL untuk melakukan operasi CRUD.
Harap dicatat bahwa tujuan dari kode yang di berikan di sini adalah untuk kita para pemula guna memberi kemudahan dan pengetahuan dalam menghubungkan sebuah aplikasi Android dengan PHP dan MYSQL. Dan project ini belum bisa dikatakan aman dan pastinya sangat rentan jika digunakan dalam lingkungan produksi.
Baik, langsung saja kita mulai, pada project kali ini, kita menggunakan wamp server sebaga server mysql nya. Bagi yang belum punya wamp server, silahkan download di & Install WAMP server dari situs resmi nya : www.wampserver.com/en/. Setelah Anda menginstal wamp server, jalankan program dari Start -> All Programs -> WampServer -> StartWampServer.
Anda dapat menguji server Anda dengan membuka alamat http://localhost/ di browser Anda.
Anda juga dapat memeriksa phpmyadmin dengan membuka http: //localhost/phpmyadmin
1. Membuat Project PHP
Sekarang Anda memiliki local server yang siap untuk mengembangkan proyek PHP & MySQL. Buka folder ditempat Anda menginstal WAMP server (Pada contoh ini, saya menginstall di (C: \ wamp\) dan buka folder www kemudian buat folder baru untuk proyek Anda. Anda harus menempatkan semua file proyek Anda dalam folder ini. Buat sebuah folder bernama android_connect
Membuat Database dan Table Mysql
Dalam tutorial ini saya membuat database sederhana dengan satu table. Sekarang buka phpmyadmin dengan membuka alamat http: //localhost/phpmyadmin / pada browser Anda. Anda dapat menggunakan PhpMyAdmin untuk membuat database dan table.
Pada tutorial ini, saya membuat nama database dengan nama androidhive dan nama table nya products.
CREATE DATABASE androidhive;
CREATE TABLE products(
pid int(11) primary key auto_increment,
name varchar(100) not null,
price decimal(10,2) not null,
description text,
created_at timestamp default now(),
updated_at timestamp
);
Menghubungkan ke database MySql menggunakan PHP
Sekarang kita mulai koding di sisi server nya yaitu membuat file PHP untuk koneksi ke database MySQL. Tujuan utama dari file ini adalah untuk membuka koneksi ke database dan menutup koneksi sesuai request. Untuk itu, kita buat dua file yang disebut db_config.php dan db_connect.php
db_config.php - berfungsi sebagai variabel (konfigurasi) koneksi database
db_connect.php - file untuk koneksi ke database
Berikut ini adalah kode untuk dua file php
db_config.php
<?php
/*
* All database connection variables
*/
define('DB_USER', "root"); // db user
define('DB_PASSWORD', ""); // db password (mention your db password here)
define('DB_DATABASE', "androidhive"); // database name
define('DB_SERVER', "localhost"); // db server
?>
db_connect.php
<?php
/**
* A class file to connect to database
*/
class DB_CONNECT {
// constructor
function __construct() {
// connecting to database
$this->connect();
}
// destructor
function __destruct() {
// closing db connection
$this->close();
}
/**
* Function to connect with database
*/
function connect() {
// import database connection variables
require_once __DIR__ . '/db_config.php';
// Connecting to mysql database
$con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die(mysql_error());
// Selecing database
$db = mysql_select_db(DB_DATABASE) or die(mysql_error()) or die(mysql_error());
// returing connection cursor
return $con;
}
/**
* Function to close db connection
*/
function close() {
// closing db connection
mysql_close();
}
}
?>
Membuat row di MySQL (Membuat row product baru)
Dalam project PHP, buat file PHP baru dengan nama create_product.php dan isikan kode berikut. File ini berfungsi untuk membuat produk baru di dalam tabel product.
Dalam kode berikut proses reading product data menggunakan POST dan menyimpannya dalam tabel product.
create_product.php
Membaca row data dari MySql (Membaca Detai Product)
Buat file php baru yang disebut get_product_details.php dan tuliskan kode berikut. File ini akan mendapatkan rincian satu produk dengan mengambil id produk (pid) sebagai parameter post.
get_product_details.php
<?php
/*
* Following code will create a new product row
* All product details are read from HTTP Post Request
*/
// array for JSON response
$response = array();
// check for required fields
if (isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) {
$name = $_POST['name'];
$price = $_POST['price'];
$description = $_POST['description'];
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// mysql inserting a new row
$result = mysql_query("INSERT INTO products(name, price, description) VALUES('$name', '$price', '$description')");
// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "Product successfully created.";
// echoing JSON response
echo json_encode($response);
} else {
// failed to insert row
$response["success"] = 0;
$response["message"] = "Oops! An error occurred.";
// echoing JSON response
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
Membaca Semua Row dari MySql (Membaca semua product)
Kita membutuhkan json untuk membuat daftar semua produk pada perangkat android. Untuk itu, buat file php baru dengan nama get_all_products.php dan ketik kode berikut.
get_all_products.php
<?php
/*
* Following code will get single product details
* A product is identified by product id (pid)
*/
// array for JSON response
$response = array();
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// check for post data
if (isset($_GET["pid"])) {
$pid = $_GET['pid'];
// get a product from products table
$result = mysql_query("SELECT *FROM products WHERE pid = $pid");
if (!empty($result)) {
// check for empty result
if (mysql_num_rows($result) > 0) {
$result = mysql_fetch_array($result);
$product = array();
$product["pid"] = $result["pid"];
$product["name"] = $result["name"];
$product["price"] = $result["price"];
$product["description"] = $result["description"];
$product["created_at"] = $result["created_at"];
$product["updated_at"] = $result["updated_at"];
// success
$response["success"] = 1;
// user node
$response["product"] = array();
array_push($response["product"], $product);
// echoing JSON response
echo json_encode($response);
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no users JSON
echo json_encode($response);
}
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no users JSON
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
Hasil JSON untuk kode di atas adalah seperti ini:
{
"products": [
{
"pid": "1",
"name": "iPhone 4S",
"price": "300.00",
"created_at": "2012-04-29 02:04:02",
"updated_at": "0000-00-00 00:00:00"
},
{
"pid": "2",
"name": "Macbook Pro",
"price": "600.00",
"created_at": "2012-04-29 02:04:51",
"updated_at": "0000-00-00 00:00:00"
},
{
"pid": "3",
"name": "Macbook Air",
"price": "800.00",
"created_at": "2012-04-29 02:05:57",
"updated_at": "0000-00-00 00:00:00"
},
{
"pid": "4",
"name": "OS X Lion",
"price": "100.00",
"created_at": "2012-04-29 02:07:14",
"updated_at": "0000-00-00 00:00:00"
}
],
"success": 1
}
Update Row di MySql (Mengupdate product detail)
Buat file php bernama update_product.php untuk update informasi detail produk. Setiap produk diidentifikasi oleh pid. Ketikkan kode berikut :
update_product.php
<?php
/*
* Following code will update a product information
* A product is identified by product id (pid)
*/
// array for JSON response
$response = array();
// check for required fields
if (isset($_POST['pid']) && isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) {
$pid = $_POST['pid'];
$name = $_POST['name'];
$price = $_POST['price'];
$description = $_POST['description'];
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// mysql update row with matched pid
$result = mysql_query("UPDATE products SET name = '$name', price = '$price', description = '$description' WHERE pid = $pid");
// check if row inserted or not
if ($result) {
// successfully updated
$response["success"] = 1;
$response["message"] = "Product successfully updated.";
// echoing JSON response
echo json_encode($response);
} else {
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
Menghapus Row di MySql (Menghapus Product)
Operasi terakhir adalah penghapusan pada database. Buat file php baru kemudian beri nama dengan delete_product.php dan paste kode berikut. Fungsi utama dari file ini adalah untuk menghapus produk dari database.
<?php
/*
* Following code will delete a product from table
* A product is identified by product id (pid)
*/
// array for JSON response
$response = array();
// check for required fields
if (isset($_POST['pid'])) {
$pid = $_POST['pid'];
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// mysql update row with matched pid
$result = mysql_query("DELETE FROM products WHERE pid = $pid");
// check if row deleted or not
if (mysql_affected_rows() > 0) {
// successfully updated
$response["success"] = 1;
$response["message"] = "Product successfully deleted";
// echoing JSON response
echo json_encode($response);
} else {
// no product found
$response["success"] = 0;
$response["message"] = "No product found";
// echo no users JSON
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
Sampai saat ini, pengkodean di sisi server telah selesai, langkah selanjutnya adalah pembuatan aplikasi android nya.
Membuat Aplikas Android
Buat proyek baru di Eclipse IDE Anda dengan mengisi rincian yang dibutuhkan. 1 Buat proyek baru di Eclipse IDE dengan pergi ke File ⇒ New ⇒ Android Project kemudian beri nama kelas Activity nya sebagai MainScreenActivity. 2 Buka file AndroidManifest.xml dan tambahkan kode berikut. Pertama kita tambahkan semua kelas yang kita buat ke android manifest file. Dan juga tambahkan ijin INTERNET Connect agar proses client server bisa berjalan.
AndroidManifest.xml
Pesan sekarang juga
Jasa Foto Produk
Jasa Desain Logo
Jasa Desain
Wednesday, 1 October 2014
Subscribe to:
Post Comments (Atom)
No comments
Post a Comment