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 :

  1. Android Studio. Bisa di download di sini
  2. XAMPP untuk PHP & MYSQL nya.
  3. HP android / Android Emulator untuk run projectnya.
  4. 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.


 <?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.support:design:24.2.1' => untuk material design
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

Pandu Septian Gumilar

{picture#http://kekirian.com/wp-content/uploads/2015/12/10419440_814838468537519_2081836625630750537_n-150x150.jpg} YOUR_PROFILE_DESCRIPTION {facebook#YOUR_SOCIAL_PROFILE_URL} {twitter#YOUR_SOCIAL_PROFILE_URL} {google#YOUR_SOCIAL_PROFILE_URL} {pinterest#YOUR_SOCIAL_PROFILE_URL} {youtube#YOUR_SOCIAL_PROFILE_URL} {instagram#YOUR_SOCIAL_PROFILE_URL}
Powered by Blogger.