<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- In Articles Ads -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-3786943708043906"
data-ad-slot="8852105979"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
Hey guys, gimana kabarnya..??, penulis berharap teman2 semua masih semangat untuk belajar..hehehe..
<!-- In Articles Ads -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-3786943708043906"
data-ad-slot="8852105979"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
Hey guys, gimana kabarnya..??, penulis berharap teman2 semua masih semangat untuk belajar..hehehe..
Pada postingan kali
ini, penulis ingin berbagi tentang Bagaimana membuat aplikasi client-server
berbasis android dengan DBMS servernya MySQL.
Nah, pada tutorial
kali ini kita membutuhkan script PHP untuk menghubungkan antara device android
dengan MySQL. Ok guys tanpa basa-basi lagi langsung saja ikuti langkah berikut:
1 . Buat database baru dengan nama “akademik”
dan buat tabel baru dengan nama “mhs” dengan strukturnya seperti gambar berikut
berikut:
2 . Buat file php
dan simpan dengan nama “koneksi.php” dan simpan file php tersebut dalam
database server anda, jika anda menggunakan XAMPP simpan didalam direktori
C:\xampp\htdocs\ dan jika anda menggunkan WAMP simpan didalam direktori
C:\wamp\www\
adapun script PHP
nya sebagai berikut:
<?php
$nobp=$_POST['nobp'];
$nama=$_POST['nama'];
$jurusan=$_POST['jurusan'];
$konek=mysql_connect("localhost","root","");
mysql_select_db("akademik");
$query="insert into mhs
values('$nobp','$nama','$jurusan')";
$result=mysql_query($query);
?>
Setelah anda membuat script php diatas dan
menyimpannya di database server anda, Sekarang buat project android baru dengan
nama Prjakademik dengan ketentuan seperti berikut:
3 . Desain layoutnya dengan coding main.xml
seperti berikut:
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/Enobp"
android:hint="Masukan NoBP"/>
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/Enama"
android:hint="Masukan Nama"/>
<EditText
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/Ejurusan"
android:hint="Masukan Jurusan"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/simpan"
android:text="Simpan"/>
</LinearLayout>
Coding diatas akan menghasilkan layout seperti
gambar berikut:
4 . sekarang beralih ke package javanya dan
buat class baru dengan cara klik kanan pada nama paketnya -> new -> class
seperti gambar berikut:
5 . Buat kelas baru dengan nama kelasnya
CustomHttpClient dan ketikan coding berikut untuk kelas tersebut:
package com.fikri;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
public class CustomHttpClient {
public static final int HTTP_TIMEOUT=30*1000;
private static HttpClient mHttpClient;
private static HttpClient geHttpClient() {
if (mHttpClient==null){
mHttpClient=new DefaultHttpClient();
final HttpParams
params=mHttpClient.getParams();
HttpConnectionParams.setConnectionTimeout(params,
HTTP_TIMEOUT);
HttpConnectionParams.setSoTimeout(params,
HTTP_TIMEOUT);
ConnManagerParams.setTimeout(params,
HTTP_TIMEOUT);
}
return mHttpClient;
}
public static String executeHttpPost(String url,ArrayList<NameValuePair>posparameter)throws Exception {
BufferedReader
in=null;
try{
HttpClient
client=geHttpClient();
HttpPost
request=new HttpPost(url);
UrlEncodedFormEntity
formEntity=new UrlEncodedFormEntity(posparameter);
request.setEntity(formEntity);
HttpResponse
respon=client.execute(request);
in=new BufferedReader(new
InputStreamReader(respon.getEntity().getContent()));
StringBuffer
sb=new StringBuffer("");
String
line="";
String
NL=System.getProperty("line.separator");
while ((line=in.readLine())!=null) {
sb.append(line+NL);
}
in.close();
String
result=sb.toString();
return result;
}finally{
if(in != null){
try{
in.close();
}catch(IOException
e){
e.printStackTrace();
}
}
}
}
public static String executeHttpGet(String url)throws Exception{
BufferedReader
in=null;
try{
HttpClient
client=geHttpClient();
HttpGet
request=new HttpGet();
request.setURI(new URI(url));
HttpResponse
respon=client.execute(request);
in=new BufferedReader(new
InputStreamReader(respon.getEntity().getContent()));
StringBuffer
sb=new StringBuffer("");
String
line="";
String
NL=System.getProperty("line.separator");
while
((line=in.readLine())!=null) {
sb.append(line
+ NL);
}
in.close();
String
result=sb.toString();
return result;
}finally{
if(in != null){
try{
in.close();
}catch(IOException
e){
e.printStackTrace();
}
}
}
}
}
6 . Pada aktivitas1.java ketikan
coding berikut:
package com.fikri;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import android.R.string;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient.CustomViewCallback;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class aktivitas1 extends Activity {
/** Called when the activity is
first created. */
EditText
nobp,nama,jur;
Button
sim;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
nobp=(EditText)findViewById(R.id.Enobp);
nama=(EditText)findViewById(R.id.Enama);
jur=(EditText)findViewById(R.id.Ejurusan);
sim=(Button)findViewById(R.id.simpan);
sim.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
ArrayList<NameValuePair>
postparameter=new ArrayList<NameValuePair>();
postparameter.add(new BasicNameValuePair("nobp", nobp.getText().toString()));
postparameter.add(new BasicNameValuePair("nama", nama.getText().toString()));
postparameter.add(new BasicNameValuePair("jurusan", jur.getText().toString()));
String
respon=null;
try{
respon=CustomHttpClient.executeHttpPost("http://10.0.2.2/android/koneksi.php",postparameter);
String
res=respon.toString();
res=res.trim();
res=res.replaceAll("\\s", "");
if(res.equals("1"))
Toast.makeText(getApplicationContext(),"Data Sudah Tersimpan" , Toast.LENGTH_LONG).show();
else
Toast.makeText(getApplicationContext(),"Data Sudah Tersimpan Ke Server" , Toast.LENGTH_LONG).show();
}catch(Exception e){
Toast.makeText(getApplicationContext(),
"Error :"+ e.toString(), Toast.LENGTH_LONG).show();
}
}
}
);
}
}
7 . Ubah Coding AndroidManifest.xml menjadi
seperti berikut:
<?xml version="1.0"
encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fikri"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".aktivitas1"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="8"
/>
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
8 . silahkan running programnya maka akan
terlihat hasilnya seperti gambar berikut:
9 . Isikan
datanya dan klik tombol simpan maka data yang dinputkan akan masuk kedatabase
server seperti gambar berikut ini:
Nah,
sampai disini dulu tutorial kali ini gan semoga bermanfaat dan terima kasih
telah berkunjung.
mas saya mw nanya, saya udah ikutin tutorial di atas, tp error, error ny seperti ini " error : androi.os NetworkOnMainThreadException "..
BalasHapusitu kenapa ya mas?
coba cek lagi codingnya mas..
Hapususe permisionnya udah ditambah belum..?
prmasalahannya sma nh kya mas haris
Hapuscoding udah bner
use permission udah dtambhin
tp tetep aja kya gtu
misi gan ane mau tanya itu yang dipake buat databasenya pake sqlyog apa sqlserver?
BalasHapusSqlyog..
HapusCustomHttpClient.executeHttpPost("http://10.0.2.2/android/koneksi.php",postparameter);
BalasHapusGan ini maksudnya apa kok tiba2 ada folder android? Koneksi.php itu ditaruh di dalam folder xampp/htdocs/android ?
itu maksudnya file phpny bernama koneksi.php yang berada dalam folder android
Hapuskalo pake wamp berarti wamp/www/android/koneksi.php
kalo pake wamp berarti xampp/htdocs/android/koneksi.php
knapa ya ada "no address associated with hostname"?
Hapusmantap mas tutorialnya, semangat terus menulis,
BalasHapussilahkan kunjungi balik ke website kami CariKode.Com
mas.. kalau ingin input data dari android.. dan simpan ke server dengan komunikasi internet bagaimana mas..??
BalasHapuskalo mau ngehubungin database ke android apa harus beli hosting dulu ? soalnya aplikasi yang dibangun semacam e-commerce gitu jadi harus selalu di update buat ketersediaan stock barang, terimakasih
BalasHapuskalo mau bikin aplikasi e-commerce saya rekomendasikan pake web mobile aja.! lalu di buak apk filenya.!
Hapus