Cara Membuat Form Login dengan MySQL Database di Android Studio - STK Blogs

0

Cara Membuat Form Login dengan MySQL Database di Android Studio

Cara Membuat Form Login dengan MySQL Database di Android Studio - STK Blogs



Hallo semua kali ini saya ingin berbagi artikel tentang Cara Membuat Form Login dengan MySQL Database di Android Studio. Dalam pembuatan form login ini kita akan berkolaborasi dengan bahasa pemograman PHP untuk membuat proses penyimpanan data ke MySQL Database, jadi saya sarankan kalian sudah memahami dengan bahasa pemograman PHP.

Untuk proses PHP kali ini saya menggunakan PHP Native, Untuk pembuatannya sangatlah simple ada beberapa langkah yang harus kalian lakukan dalam pembuatan form login dengan MySQL database, Dan dibawah ini langkah-langkah yang harus kalian lakukan.

Create Table di MySQL Database & Proses Form Login

Dilangkah pertama ini yang harus kalian lakukan adalah membuat table pada mysql database dan membuat proses form login yang mana nantinya proses ini akan bekerja untuk mevalidasi data yang dikirim dari aplikasi andorid kita ke database.

Untuk langkah pertama ini ada beberapa tahapan yang harus kalian lakukan.

1. Membuat Database & Table pada MySQL Database

Ditahab pertama ini kalian akan membuat database yang mana nantinya akan menyimpan data user login. Buatlah database dengan nama db_android dan didalam database db_android silahkan kalian create atau buat table dengan nama table_login yang mana table tersebut mempunyai field username dan password.

Cara Membuat Form Login pada Android Studio dengan MySQL Database - STK Blogs

2. Membuat API Proses Login

Ditahab kedua ini kita akan membuat API proses login yang dimana proses ini akan memvalidasi data yang dikirim dari aplikasi android ke database MySQL. Untuk proses ini kalian bisa membuatnya pada local server seperti xampp, wampp, dan lain-lain,  atau bisa kalian taruh pada hosting kalian, 

Disini dalam pembuata API proses login saya menggunakan local server (Xampp) untuk menampung proses dari loginnya tersebut dan saya kasih nama folder proses_android.

Cara Membuat Form Login pada Android Studio dengan MySQL Database - STK Blogs

Setelah kita membuat tempat untuk API proses login disini ada beberapa yang harus kalian buat dalam membuat API proses login antara lain.
  • Membuat Koneksi ke Databse MySQL

    Sebelum kita memvalidasi data dari database kita akan membuat koneksi ke database yang sudah kita buat tadi, Untuk membuat koneksi kedatabase silahkan kalian buat file baru dengan nama koneksi.php dan taruh file ini kedalam folder proses_android, Masukkan code koneksi ini kedalam file koneksi.php dibawah ini.

    <?php
     $server = "localhost";
     $username = "root";
     $password = "";
     $name_db = "db_android";
     $conn = mysqli_connect($server, $username, $password, $name_db);
    ?>


  • Membuat Proses Login

    Setelah kalian membuat koneksi kedatabase, proses ini kalian akan membuat API proses login, Untuk pembuatan proses login silahkan kalian buat file baru dengan nama proses_login.php dan taruh file tersebut didalam folder proses_android. Untuk proses login silahkan kalian bisa memasukkan source code yang saya buat dibawah ini.

    Source Code :
    <?php
        $nama = $_POST['username'];
        $pass = $_POST['password'];

        require "koneksi.php";

        $query = "SELECT * from table_login where username = '$nama' AND password = '$pass';";
        $result = mysqli_query($conn, $query);
        $row = mysqli_fetch_array($result);

        if (mysqli_num_rows($result) > 0) {
          $response = array();
          $code = "login_true";
          $message = "Welcome to Apps My Application.";
          array_push($response, array("code"=>$code, "pesan"=>$message));
          echo json_encode(array("Server"=>$response));
        }
        else
        {                 
          $response = array();
          $code = "login_false";
          $message = "Maaf data anda belum terdaftar..!";
          array_push($response, array("code"=>$code, "pesan"=>$message));
          echo json_encode(array("Server"=>$response));
        }
    ?>


Membuat Tampilan Form Login di Android Studio

Dilangkah kedua ini kita kalian akan membuat design tampilan pada form loginnya pada aplikasi android studio, Untuk designnya kalian bisa membuat tampilan sesuai dengan keinginan kalian dan disini saya akan memberi contoh tampilan sederhana, Untuk source code kalian bisa melihatnya dibawah ini.

Source Code :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.lenovo.myapplication.WelcomeActivity">
    
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Form Login"
        android:textSize="20dp"
        android:textStyle="bold"
        android:textAlignment="center"
        android:textColor="@color/colorPrimary"
        android:id="@+id/textView4"
        android:layout_below="@+id/imageView2"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="18dp" />

    <EditText
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="19dp"
        android:hint="Username"
        android:textSize="15dp"
        android:textColor="@color/colorPrimary"
        android:textColorHint="@color/colorPrimary"
        android:layout_below="@+id/textView4"
        android:layout_centerHorizontal="true"
        android:id="@+id/editText" />

    <EditText
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:hint="Password"
        android:textSize="15dp"
        android:textColor="@color/colorPrimary"
        android:textColorHint="@color/colorPrimary"
        android:layout_below="@+id/editText"
        android:layout_alignStart="@+id/editText"
        android:layout_marginTop="10dp"
        android:id="@+id/editText2" />

    <Button
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="14dp"
        android:hint="Sign In"
        android:background="@color/colorPrimary"
        android:textColorHint="#fff"
        android:textStyle="bold"
        android:layout_below="@+id/editText2"
        android:layout_alignStart="@+id/editText2"
        android:id="@+id/button" />

</RelativeLayout>

Membuat Proses Login di Android Studio

Dilangkah ketiga ini kalian akan membuat proses login pada aplikasi android studio kalian, Dalam pembuatan proses login ini ada beberapa yang harus kalian lakukan. Dibawah ini hal-hal yang harus kalian lakukan dalam membuat proses login di Android studio

1. Membuat Activity Proses Login

Silahkan kalian buat activity baru dan kasih nama proses_login.java, Diactivity ini kalian akan membuat proses login yang mana proses tersebut akan memanggil API proses login yang sudah kalian buat tadi diawal proses.

Untuk pembuatan proses login kalian bisa melihat source code dibawah ini yang sudah saya buatkan untuk kalian.


Proses_login.java :
public class proses_login extends AsyncTask<String,Void, String> {

    private String url_proses_login = "http://ip atau domain-kalian/proses_android/proses_login.php"; // link proses login di php

    Context context;
    ProgressDialog progressDialog;
    Activity activity;
    AlertDialog.Builder builder;

    public proses_crud(Context context) {
        this.context = context;
        activity = (Activity) context;
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        builder = new AlertDialog.Builder(activity);
        progressDialog = new ProgressDialog(context);
        progressDialog.setMessage("Koneksi ke server...");
        progressDialog.setIndeterminate(true);
        progressDialog.setCancelable(false);
        progressDialog.show();
    }

    @Override
    protected String doInBackground(String... params) {
        String method = params[0];
        if (method.equals("Login")){
            try {
                URL url = new URL(url_proses_login);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("POST");
                connection.setDoOutput(true);
                connection.setDoInput(true);
                OutputStream outputStream = connection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String username, password;
                username = params[1];
                password = params[2];
                String data_login = URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode(username, "UTF-8") + "&" +                        URLEncoder.encode("password", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8");
                bufferedWriter.write(data_login);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();
                InputStream inputStream = connection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
                StringBuilder stringBuilder = new StringBuilder();
                String line = "";
                while ((line = bufferedReader.readLine()) != null){
                    stringBuilder.append(line + "\n");
                }

                connection.disconnect();
                Thread.sleep(10000);
                return stringBuilder.toString().trim();

            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        return null;
    }

    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        try {
            JSONObject jsonObject = new JSONObject(s);
            JSONArray jsonArray = jsonObject.getJSONArray("Server");
            JSONObject JO = jsonArray.getJSONObject(0);
            String code = JO.getString("code");
            String message = JO.getString("pesan");
            if (code.equals("login_true")){
                builder.setMessage(message);
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        progressDialog.dismiss();
                        context.startActivity(new Intent(context, HomeActivity.class));
                    }
                });
                AlertDialog alertDialog = builder.create();
                alertDialog.show();
            }else if (code.equals("login_false")){
                builder.setMessage(message);
                builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        progressDialog.dismiss();
                    }
                });
                AlertDialog alertDialog = builder.create();
                alertDialog.show();
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

2. Memanggil Proses Login Pada Activity Form Login

Setelah kalian membuat proses login silahkan kalian masuk kedalam activity form login, Untuk memanggil proses login ada beberapa validasi yang harus kalian berikan misal username dan password kosong maka tidak bisa langsung mengakses ke api proses login, Jadi disini saya sudah membuatkan cara memanggil proses login dan memberikan validasi pada form login, Silahkan kalian bisa pahami source code yang sudah saya bagikan dibawah ini.

Source Code :
public class WelcomeActivity extends AppCompatActivity {
    EditText username, password;
    Button btn_login;
    AlertDialog.Builder builder;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_welcome);

        username = (EditText) findViewById(R.id.editText);
        password = (EditText) findViewById(R.id.editText2);
        btn_login = (Button) findViewById(R.id.button);
        btn_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (username.getText().toString().equals("")||password.getText().toString().equals(""){
                    builder = new AlertDialog.Builder(WelcomeActivity.this);
                    builder.setTitle("Warning..!");
                    builder.setMessage("Your fill not input..!!");
                    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            dialogInterface.dismiss();
                        }
                    });
                    AlertDialog alertDialog = builder.create();
                    alertDialog.show();
                }
                else {
                  //memanggil activity proses login 
                    proses_login ProsesLogin = new proses_login(WelcomeActivity.this);
                    ProsesLogin.execute("Login", username.getText().toString(),password.getText().toString());
                }
            }
        });
    }
}

Jalankan Aplikasi Android Studio

Untuk langkah terakhir setelah kalian selesai membuat proses form login silahkan kalian bisa menjalankan aplikasi kalian pada device kalian masing-masing, Jika ada pertanyaan silahkan kalian bisa komen dibawah ini

Nah itu lah beberapa langkah yang harus kalian lakukan untuk membuat form login pada android studio dengan menggunakan MySQL database, semoga artikel ini bisa membantu anda dalam membuat proses login di android studio, dan bisa bermanfaat serta menambah ilmu kalian, Terimakasih sudah berkunjung jangan lupa baca artikel lainnya .

Posting Komentar

0Komentar
Posting Komentar (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !