Kamis, 11 Juli 2019

CARA MEMBUAT LOGIN DENGAN DATABASE DI ANDROID STUDIO

Salam sahabat semua,kali ini mimin akan memberikan sedikit contoh cara untuk membuat login yang terkoneksi ke database,mimin menggunakan database mysql,cara nya cukup mudah,langsung aja kita buat.

pertama buka xampp nya lalu aktifkan Apache dan MySQL,lalu buka browser nya ketik localhost/phpmyadmin,kita buat database nya terlebih dahulu dengan nama db_tbus,contoh aplikasi tiket bus yang akan kita buat.

lalu buat tabel login nya.



lalu buat tabel pesan.


kemudian buka android studio nya,lalu buat project baru dengan nama apa saja,kemudian buat activity dengan nama login,lalu masukan 2 TextView dan 2 EditText dan 1 button,beri nama TextView dengan nama txtusername dan txtpassword dan button nya dengan nama btnmasuk.


Masukan script pada build.gradle(Module:app)

implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'implementation 'com.android.support.constraint:constraint-layout:1.1.3'testImplementation 'junit:junit:4.12'androidTestImplementation 'com.android.support.test:runner:1.0.2'androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'implementation 'com.android.volley:volley:1.1.0'implementation 'com.android.support:cardview-v7:27.1.1'implementation 'com.android.support:appcompat-v7:27.1.1'implementation 'com.android.support:support-v4:27.1.1'implementation 'com.android.support:design:27.1.1'


buat java class dengan nama AppVar,maksud Ip tersebut adalah Ip jaringan yang sama dengan hp,misal nya anda menggunakan hotspot hp anda,maka cek di command prompt berapa ip nya lalu masukan,tiket_bus maksud nya adalah folder dalam htdocs untuk menaruh script login.php nya.


public class AppVar {
    public static final String URL_LOGIN ="http://192.168.43.219/tiket_bus/login.php";
    public static final String URL ="http://192.168.43.219/tiket_bus/";
    public static final String id_login = "id_login";
    public static final String username = "username";
    public static final String password = "password";
    public static final String LOGIN_SUCCES = "succes";

}

lalu masukan script ini pada login.java

import android.app.ProgressDialog;
import android.content.Context;
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.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;

import java.util.HashMap;
import java.util.Map;

public class login extends AppCompatActivity {

    private EditText ussername;
    private EditText pasword;
    private Button btnmasuk;
    private Context context;
    private ProgressDialog pDialog;

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

        context = login.this;
        pDialog = new ProgressDialog(context);
        ussername = (EditText) findViewById(R.id.txtusername);
        pasword = (EditText) findViewById(R.id.txtpassword);
        btnmasuk =  (Button) findViewById(R.id.btnmasuk);

        btnmasuk.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                login();
            }
        });
    }
    private void login(){
        final String username = ussername.getText().toString().trim();
        final String password = pasword.getText().toString().trim();
        pDialog.setMessage("Login Process...");
        showDialog();

        StringRequest stringRequest = new StringRequest(Request.Method.POST, AppVar.URL_LOGIN, new Response.Listener<String>() {
            @Override            public void onResponse(String response) {
                if (response.contains(AppVar.LOGIN_SUCCES)) {
                    hideDialog();
                    gotoAdminActivity();
                } else {
                    hideDialog();
                    Toast.makeText(context, "Invalid username or password", Toast.LENGTH_LONG).show();
                }
            }
        },
                new Response.ErrorListener() {
                    @Override                    public void onErrorResponse(VolleyError error) {
                        hideDialog();
                        Toast.makeText(context,"The server unreachable",Toast.LENGTH_LONG).show();
                    }
                }) {
            protected Map<String, String>
            getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                params.put(AppVar.username,username);
                params.put(AppVar.password,password);
                return params;
            }
        };

        Volley.newRequestQueue(this).add(stringRequest);

    }

    private void gotoAdminActivity(){
        Intent intent = new Intent(context,beli.class);
        startActivity(intent);
        finish();
    }

    private void showDialog(){
        if(!pDialog.isShowing())
            pDialog.show();
    }

    private void hideDialog(){
        if(!pDialog.isShowing())
            pDialog.dismiss();
    }

}

lalu buat koneksi.php nya.

<?php

//rincian DB

$dbhost = 'localhost';

$dbuser = 'root';

$dbpassword = '';

$dbname = 'db_tbus';

$koneksi = mysqli_connect($dbhost,$dbuser,$dbpassword);

?>

lalu buat login.php

<?php
define('HOST','localhost');
define('USER','root');
define('PASS','');
define('DB','db_tbus');

$koneksi = mysqli_connect(HOST,USER,PASS,DB) or die ('filed');
 
 if($_SERVER['REQUEST_METHOD']=='POST'){
  $username = $_POST['username'];
  $password = $_POST['password'];
  
  $sql = "select * from login where username = '$username' and password = '$password'";
  
  $result = mysqli_query($koneksi,$sql);
  $check = mysqli_fetch_array($result);
  
  if(isset($check)){
   echo 'succes';
  }else{
   echo 'gagal';
  }
 mysqli_close($koneksi);
 }
?>


buat activity beli,masukan 1 radiogroup,2radiobutton 3 edit text,4 textview


lalu masukan script ini pada beli.java

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.RadioButton;
import android.widget.RadioGroup;

public class beli extends AppCompatActivity {
    private EditText jumlah;
    private EditText nama;
    private EditText ktp;
    private RadioGroup rg;
    private RadioButton rb1;
    private RadioButton rb2;
    private String tujuan;
    private int harga;
    private int total;
    private int jumlah2;
    private Button pesan;


    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_beli);
        rb1=(RadioButton) findViewById(R.id.rb1);
        rb2=(RadioButton) findViewById(R.id.rb2);
        rg=(RadioGroup) findViewById(R.id.rg);

        jumlah=(EditText) findViewById(R.id.txtjml);
        ktp=(EditText) findViewById(R.id.txtktp);
        nama=(EditText) findViewById(R.id.txtnama);

        pesan=(Button) findViewById(R.id.btnpesan);
        pesan.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
            final String jml=jumlah.getText().toString();
            final String nm=nama.getText().toString();
            final String ktp2=ktp.getText().toString();

            if(rb1.isChecked()){
                tujuan=rb1.getText().toString();
                harga=100000;
            }else if(rb2.isChecked()){
                tujuan=rb2.getText().toString();
                harga=150000;
            }

                jumlah2 = Integer.parseInt(jumlah.getText().toString());
                total=jumlah2*harga;

                Intent intent;
                intent=new Intent(beli.this,pesan.class);


                intent.putExtra("tujuan", tujuan);
                intent.putExtra("jumlah", jumlah2);
                intent.putExtra("ktp", ktp2);
                intent.putExtra("nama", nm);
                intent.putExtra("total", total);
                startActivity(intent);
            }
        });
    }
}


buat activity pesan,masukan 1 button dan 5 textview untuk nama dan 5 untuk hasil print dari pemesanan.


taruh script ini pada pesan.java

        import android.support.v7.app.AppCompatActivity;
        import android.os.Bundle;
        import android.widget.Button;
        import android.widget.TextView;

public class pesan extends AppCompatActivity {
    private TextView tvtujuan,tvjumlah,tvtotal,tvnama,tvktp;
    private String Sktp,Snama,Stujuan;
    private Integer Iharga,Ijumlah,Itotal;
    private Button btnkembai;
    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pesan);

        tvtujuan = (TextView) findViewById(R.id.tvtujuan);
        tvjumlah = (TextView) findViewById(R.id.tvjumlah);
        tvktp = (TextView) findViewById(R.id.tvktp);
        tvnama = (TextView) findViewById(R.id.tvnama);
        tvtotal = (TextView) findViewById(R.id.tvtotal);
        btnkembai = (Button) findViewById(R.id.btnkembali);

        Bundle bundle = getIntent().getExtras();
        Stujuan = bundle.getString("tujuan");
        Ijumlah = bundle.getInt("jumlah");
        Snama = bundle.getString("nama");
        Sktp = bundle.getString("ktp");
        Itotal = bundle.getInt("total");

        tvtujuan.setText(""+Stujuan);
        tvjumlah.setText(""+Ijumlah);
        tvnama.setText(""+Snama);
        tvktp.setText(""+Sktp);
        tvtotal.setText(""+Itotal);
    }
}


ya cukup sekian semoga bermanfaat

wassalam...

0 komentar:

Posting Komentar