Selamat pagi/siang/malam para programmer dan developer android. Pada kesempatan kali ini saya akan sharing tentang tutorial membuat aplikasi login di android dengan Volley Sebagai android librarynya dan PHP MYSQL untuk servernya. Oke langsung aja, pertama yang harus disiapkan adalah :
- Android Studio. Bisa di download di sini
- XAMPP untuk PHP & MYSQL nya.
- HP android / Android Emulator untuk run projectnya.
- Kopi, diperlukan jika kalian pusing ngoding. heheheh
Setelah semua perlengkapan siap, langkah pertama adalah install android studio dan xampp nya.
Kalo semua sudah terinstall, buat folder "server" di c:/xampp/htdocs.
Sekarang kalian buat database dengan nama "android" lalu buat tabel "user" dengan field seperti di gambar :
lalu save tabelnya.
Sekarang kita isi record di di tabel usernya
id : 1
username : admin
password : 21232f297a57a5a743894a0e4a801fc3
21232f297a57a5a743894a0e4a801fc3 adalah admin yang sudah di encrypt menjadi MD5.
Berikut gambarnya :
Database sudah selesai, sekarang kita lanjut ke codingan PHP nya.
Buat file login.php di folder server yang sudah kita buat tadi.
Lalu masukan code berikut.
Sekarang kita isi record di di tabel usernya
id : 1
username : admin
password : 21232f297a57a5a743894a0e4a801fc3
21232f297a57a5a743894a0e4a801fc3 adalah admin yang sudah di encrypt menjadi MD5.
Berikut gambarnya :
Database sudah selesai, sekarang kita lanjut ke codingan PHP nya.
Buat file login.php di folder server yang sudah kita buat tadi.
Lalu masukan code berikut.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "android";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM user WHERE username = ".$_POST['username']."
AND ".md5($_POST['password']);
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo json_encode(Array('status' => 'success'));
}
} else {
echo json_encode(Array('status' => 'failed'));
}
$conn->close();
?>
Oke server sudah siap. sekarang waktunya kita ke aplikasi androidnya. Sebelum melanjutkan kalo pusing silakan diminum dulu kopinya yang tadi udah disiapin heheheheh.
Kalo udah minum kita lanjut, sekarang buka aplikasi android studionya.
Berikut Adalah Step nya :
Setting Nama Aplikasi Dan Package
Set minimum SDK
Pilih Main Activity
Setting Nama Activity Main
Tunggu Sampai Build Selesai
Setelah Build Selesai.
Selanjutnya buka build.gradle untuk memasukan dependencies, berikut adalah dependenciesnya :
compile 'com.android.volley:volley:1.0.0' => Untuk volley library
Sekarang kita setting permission INTERNET pada AndroidManifest.XML
Settingan awal sudah complete sekarang kita ke inti programnya. Simak terus ya.
Sebelum masuk kedalam intinya kita buat sebuah activity baru untuk handle request ketika sukses login.
Berikut Caranya :
Seletalh sudah membuat activity baru kita buka folder res/layout/activity_main.xml disini kita akan membuat tampilan login dari aplikasi kita.
Berikut codingannya :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.panduseptian.aplikasilogin.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:padding="20dp"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/txt_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:inputType="text"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/txt_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:background="@color/colorPrimary"
android:textColor="#fff"
android:text="Login"/>
</LinearLayout>
</RelativeLayout>
Sekarang kita menuju ke file javanya, buka folder java/com.namapackage/MainActivity . Masukan codingannya :
package com.panduseptian.aplikasilogin;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
// Parameter sesuai dengan tipe data
EditText username;
EditText password;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Deklarasi komponen view
username = (EditText) findViewById(R.id.txt_username);
password = (EditText) findViewById(R.id.txt_password);
button = (Button) findViewById(R.id.btn_login);
// Setting button ketika di klik
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Panggil void sendLogin()
sendLogin();
}
});
}
private void sendLogin() {
// Setting POST request ke server
StringRequest loginRequest = new StringRequest(Request.Method.POST, "http://192.168.56.1/server/login.php",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// Handle response dari server ketika sukses dengan mengkonvert menjadi JSON
try {
JSONObject json = new JSONObject(response);
// Mengambil variable status pada response
String status = json.getString("status");
if(status.equals("success")){
// Jika Login Sukses Maka pindah ke activity lain.
Intent intent = new Intent(MainActivity.this, HomeActivity.class);
startActivity(intent);
finish();
}else{
// Jika Login Gagal Maka mengeluarkan Toast dengan message.
Toast.makeText(getApplicationContext(), "Username & Password Salah", Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Handle response dari server ketika gagal
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
}
}
){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> params = new HashMap<>();
params.put("username", username.getText().toString());
params.put("password", password.getText().toString());
return params;
}
};
// Buat antrian request pada cache android
RequestQueue requestQueue = Volley.newRequestQueue(this);
// Tambahkan Request pada antrian request
requestQueue.add(loginRequest);
}
}
Untuk url nya diubah menjadi url local kalian masing-masing. dan pastikan android teman-temang dengan server local dalam satu jaringan. agar bisa terkoneksi dengan baik.
Setelah semua sudah selesai run/build program :
Run program ke android/emulator via usb debugging
Build aplikasi menjadi APK
Show explorer, lalu copy ke android kalian
Sekian tutorial yang bisa saya bagikan ke teman-teman. semoga bermanfaat.
Jika ada pertanyaan silakan comment di bawah. Terima Kasih.
Post a Comment