Koneksi Mysql Ke Android
Koneksi Mysql Ke Android
08/18/2014
0 Comments
Pada tutorial kali ini akan membuat koneksi MySQL ke Android dengan menggunakan PHP dan
sedikit kode JSON.
1. Buat project baru. Nama Package : diskusi.android.com.mysql, Nama Activity : Main.java
2. Sebelum coding Main.java, yang pertama kita lakukan adalah membuat Layout di main.xml.
3. Tambahkan 2 EditView, 1 TextView dan 1 Button, seperti gambar dibawah.
ini kodingannya:
1. <?xml version=1.0 encoding=utf-8?>
2. <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android”
3.
android:orientation=vertical
4.
android:layout_width=fill_parent
5.
android:layout_height=fill_parent>
6.
<TextView
7.
android:layout_marginTop=20px
8.
android:layout_width=fill_parent
9.
android:layout_height=wrap_content
10.
11.
android:gravity=center
12.
android:textSize=20px
13.
></TextView>
14.
<EditText
15.
android:layout_marginTop=20px
16.
android:id=@+id/username
17.
android:layout_width=150px
18.
android:layout_height=wrap_content
19.
android:gravity=center
20.
android:hint=Username
21.
android:layout_gravity=center
22.
></EditText>
23.
<EditText
24.
android:id=@+id/password
25.
android:layout_width=150px
26.
android:layout_height=wrap_content
27.
android:hint=Password
28.
android:password=true
29.
android:gravity=center
30.
android:layout_gravity=center
31.
></EditText>
32.
<Button
33.
android:id=@+id/input
34.
android:layout_width=150px
35.
android:layout_height=wrap_content
36.
android:text=Input
37.
android:layout_gravity=center
38.
></Button>
39.
40.
</LinearLayout>
Setelah kita atur layout, kembali ke Main.java. Seperti biasa, buat variabel untuk setiap widget
yaitu 2 EditText dan 1 Button. Jangan lupa untuk menambahkan setOnClickListener pada
variabel Button.
3.
4.
input.setOnClickListener(this);
Ok, semua widget sudah di buat dan Button telah di implementasi onClickListener. Sekarang
adalah membuat koneksi ke MySQL, yaitu membuat file php dan mengatur sql. Buat tabel baru
dengan nama login, tambahkan field _id (int, Primary Key, Auto_Increment) , username(Text)
dan password(Text).
koneksi.php
1. <?php
2.
$conn = mysql_connect(localhost,username,password);
3.
$db = mysql_select_db(nama_database);
4.
5. ?>
insert.php
1. <?php
2. include_once(koneksi.php);
3. $username = $_REQUEST['username'];
4. $password = $_REQUEST['password'];
7.
mysql_query($string);
8. }
while($object= mysql_fetch_assoc($my_string)){
13.
14.
$output[] = $object;
}
15.
16.
echo json_encode($output);
17. }
18. mysql_close();
19. ?>
Ok, setelah mengatur pengaturan PhP sekarang kembali lagi ke Main.java. Dalam Main.java kita
buat fungsi baru dengan nama insert().
1. public void insert(){
2.
Dalam fungsi insert(), kita akan menggunakan HttpClient untuk menghubungkan ke file PhP di
server anda.
1. String input_data= http://websiteanda.com/insert.php”; //URL website anda
dengan file insert.php yang telah dibuat
2.
3.
4.
5.
6.
7.
8.
9.
try {
10.
httpPost.setEntity(new UrlEncodedFormEntity(param));
11.
12.
13.
InputStream in = httpEntity.getContent();
14.
15.
16.
String isi= ;
17.
String baris= ;
18.
19.
while((baris = read.readLine())!=null){
20.
21.
isi+= baris;
}
22.
23.
24.
25.
26.
//Jika isi tidak sama dengan null maka akan tampil Toast Berhasil sebaliknya
akan tampil Gagal
if(!isi.equals(null)){
Toast.makeText(this, Berhasil, Toast.LENGTH_LONG).show();
}else{
27.
28.
29.
30.
} catch (ClientProtocolException e) {
31.
32.
e.printStackTrace();
33.
} catch (IOException e) {
34.
35.
e.printStackTrace();
36.
switch(v.getId()){
3.
case R.id.input:
4.
insert();
5.
6.
}
}
Jalankan aplikasi, saatnya ujicoba Pada gambar diatas saya input username dan password.
Cek di phpMyAdmin dan data telah di insert. Hal terakhir yang diatur adalah menambahkan
android.permission.INTERNET di AndroidManifest.xml
1. <?xml version=1.0 encoding=utf-8?>
2. <manifest xmlns:android=http://schemas.android.com/apk/res/android”
3.
package=appphp003.app
4.
android:versionCode=1
5.
android:versionName=1.0>
6. <uses-permission android:name=android.permission.INTERNET></uses-permission>
7.
8.
9.
10.
11.
12.
13.
</intent-filter>
14.
</activity>
15.
</application>
16. </manifest>