Kamis, 31 Maret 2016

Cara mengkoneksikan device android dengan Database MySQL

Hey guys, bagaimana kabarmu .. ??, penulis berharap teman2 semua masih semangat untuk belajar Pemrograman Android..hehehe ..

Dalam posting ini, penulis ingin berbagi tentang Cara membuat aplikasi client-server berbasis Android dengan MySQL server DBMS.

Nah, dalam tutorial ini kita perlu script PHP untuk menghubungkan antara perangkat android dengan MySQL. orang ok tanpa basa-basi cukup ikuti langkah berikut:

1. Buat database baru dengan nama "akademis" dan membuat tabel baru dengan nama "MHS" dengan struktur sebagai berikut seperti yang ditunjukkan di bawah ini:

Cara mengkoneksikan device android dengan Database MySQL

2. Buat file php dan simpan dengan nama "koneksi.php" dan menyimpan file php di server database Anda, jika Anda menggunakan toko XAMPP di direktori C: \ xampp \ htdocs \ dan jika Anda menggunakan WAMP toko di direktori C: \ wamp \ www \


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);

?>


Membuat script php pada diatas dan menyimpannya di database server , Sekarang buatlah project android baru dengan nama Prjakademik dengan ketentuan seperti dibawah ini:


Cara mengkoneksikan device android dengan Database MySQL

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 Script di atas akan menghasilkan sebuah layout pada gambar dibawah ini :


Cara mengkoneksikan device android dengan Database MySQL


4 . sekarang beralih ke package javanya dan buat class baru dengan cara klik kanan pada nama paketnya -> new -> class seperti gambar dibawah ini:

Cara mengkoneksikan device android dengan Database MySQL

5. Buat kelas baru dengan nama kelas CustomHttpClient dan mengetik kode berikut untuk kelas:

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:


Cara mengkoneksikan device android dengan Database MySQL

9. Isi data dan klik tombol simpan, data akan dimasukkan database yang Ke di inputkan Server seperti yang ditunjukkan di bawah ini:

Cara mengkoneksikan device android dengan Database MySQL

di sini pertama dan mudah-mudahan tutorial ini bermanfaat dan terima kasih untuk mengunjungi.

Baca juga artikel terbaru : Cara membuat Aplikasi Android tanpa koding

Tidak ada komentar:

Poskan Komentar