Aplikasi Sederhana Dengan 

Menu Login dan ListView 

Menggunakan Android Studio

berikut ini saya akan memberikan contoh pembuatan aplikasi menggunakan android studio, dimana di dalamnya terdapat menu Login dan ListView.
tanpa perlu berlama-lama, berikut ini adalah tutorialnya:
  pertama-tama, buat lah project baru dengan pilih create new>empety activity>berinama project>finish.


setelah selesai lalu kita tambahkan beberapa empety activity lagi.
di sini saya menambahkan 4 empety activity, dengan cara clik app>java>clik kanan pada com.e.uas(tergantung nama project)>new>activity>empety activity. lakukan sebanyak 4 kali atau sesuai kebutuhan

setelah selesai kemudian buat 1 java class lagi untuk Adapter.
caranya clik kanan pada com.e.uas>new>java class.

setelah selesai kita masukan code nya, mulai dari login:

 <?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="16dp"
    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/colorPrimary"
        tools:ignore="ExtraText">

        <Button
            android:text="LOGIN"
            android:textColor="#FFF"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:background="?android:attr/selectableItemBackground"
            android:id="@+id/button2"
            android:onClick="loginMasuk"
            android:textStyle="normal|bold"
            tools:ignore="HardcodedText,ObsoleteLayoutParam"/>
    </LinearLayout>

    <EditText
        android:id="@+id/edittext_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Password"
        android:inputType="textCapWords"
        style="@style/AppTheme"
        android:layout_centerVertical="true"
        android:textSize="30sp"
        android:fontFamily="monospace"
        tools:ignore="Autofill,HardcodedText,TextFields" />

    <EditText
        android:id="@+id/edittext_username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Username"
        android:inputType="textCapWords"
        android:layout_marginBottom="16dp"
        android:textSize="30sp"
        android:layout_above="@+id/edittext_password"
        tools:ignore="Autofill,HardcodedText" />

    <TextView
        android:text="User Login"
        android:textColor="#fff"
        android:background="#0091EA"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView2"
        android:textStyle="normal|bold"
        android:textSize="36sp"
        android:textAlignment="center"
        android:layout_alignParentTop="true"
        android:layout_marginTop="42dp"
        tools:ignore="HardcodedText" />

</RelativeLayout>

lalu akan tampil seperti ini
kemudian masukan code berikut pada class nya

package com.e.uas;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    EditText editText1 ,editText2; //Deklarasi object dari class EdiText
    String text1 ,text2; //Deklarasi object string

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getSupportActionBar().setTitle("User Login");
        getSupportActionBar().setSubtitle("Mr.Bee.com");
    }
    public void loginMasuk(View view) {
        //Method onClick pada Button

        editText1 = (EditText) findViewById(R.id.edittext_username);
        editText2 = (EditText) findViewById(R.id.edittext_password);
        text1 = editText1.getText().toString();
        text2 = editText2.getText().toString();

        //Kondisi jika username dan password benar maka akan menampilkan pesan text toast
        //Login sukses dan masuk ke activity 2
        if ((text1.contains("Reno Wahyudin")) && ((text2.contains("123456")))) {
            Toast.makeText(this, "Login Sukses", Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(MainActivity.this, Menu.class);
            startActivity(intent);
        } else if ((text1.matches("") || text2.matches("")))
          /*
          Atau jika input text 1 dan text 2 kosong
           */ {
            //Maka akan menampilkan pesan text toast
            Toast.makeText(this, "Isikan Username dan Password", Toast.LENGTH_SHORT).show();

        } else {
            //jika kedua kondisi diatas tidak memenuhi

            Toast.makeText(this, "Login Gagal /Username Password Salah", Toast.LENGTH_SHORT).show();
        }


    }
}
 
   Setelah selesai lanjut pada menu untuk listview
berikut adalah codenya:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".Menu">

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>


</androidx.constraintlayout.widget.ConstraintLayout>

terlihat sama saja pada design karena bagian pentingnya ada pada class berikut.

package com.e.uas;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import java.util.ArrayList;

public class Menu extends AppCompatActivity {

    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);
        listView = findViewById(R.id.list);

        //data untuk di tampil
        String[] values = new String[] { "Baju", "Jaket", "Celana",};

        // buat list data
        final ArrayList<String> list = new ArrayList<String>();
        for (int i = 0; i < values.length; ++i) {
            list.add(values[i]);
        }


        // masukin data ke adapter
        final Adapter adapter = new Adapter(this,
                android.R.layout.simple_list_item_1, list);
        listView.setAdapter(adapter);


        //set action listview
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                //nentuin targer action

                Intent intent;
                if (position == 0) {
                    intent = new Intent(Menu.this, Baju.class);
                } else if (position == 1) {
                    intent = new Intent(Menu.this, Jaket.class);
                } else {
                    intent = new Intent(Menu.this, Celana.class);
                }
                startActivity(intent);

            }
        });

    }
}
 setelah selesai maka hasilnya akan seperti berikut 

dengan Username"Reno Wahyudin", dan Password "123456" lalu clik Login dan akan langsung muncul di menu Listview
setelah selesai kita tinggal melanjutkan ke 3 activity lainnya, tapi sebelumnya silahkan masukan code berikut ke dalam class Adapter.

package com.e.uas;

import android.content.Context;
import android.widget.ArrayAdapter;

import java.util.HashMap;
import java.util.List;

public class Adapter extends ArrayAdapter<String> {

    HashMap<String, Integer> mIdMap = new HashMap<String, Integer>();

    public Adapter(Context context, int textViewResourceId,
                              List<String> objects) {
        super(context, textViewResourceId, objects);
        for (int i = 0; i < objects.size(); ++i) {
            mIdMap.put(objects.get(i), i);
        }
    }

    @Override
    public long getItemId(int position) {
        String item = getItem(position);
        return mIdMap.get(item);
    }

    @Override
    public boolean hasStableIds() {
        return true;
    }

}

jika sudah selesai maka tinggal lanjut ke activity selanjutnya.
dengan code sebagai berikut

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.example.android.justjava.MainActivity">
        <EditText
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:hint="Masukan nama anda"
            android:id="@+id/edt_name"
            android:inputType="text"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Jenis Baju"
            android:textSize="25dp"/>
        <CheckBox
            android:id="@+id/Kemeja_checkbox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Kemeja"
            android:paddingLeft="16dp"
            android:textSize="15sp"/>
        <CheckBox
            android:id="@+id/Kaos_checkbox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Kaos Oblong"
            android:paddingLeft="16dp"
            android:textSize="15sp"/>
        <CheckBox
            android:id="@+id/Batik_checkbox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Baju Batik"
            android:paddingLeft="16dp"
            android:textSize="15sp"/>



        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="jumlah"
            android:textSize="25dp"
            android:textAllCaps="true"
            android:layout_marginBottom="16dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <Button
                android:layout_width="48dp"
                android:onClick="increment"
                android:text="+"

                android:layout_height="48dp" />
            <TextView
                android:textColor="#212121"
                android:layout_gravity="center"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:paddingRight="8dp"
                android:paddingLeft="8dp"
                android:id="@+id/quantity_textview"
                android:textSize="25dp"/>
            <Button
                android:layout_width="48dp"
                android:onClick="decrement"
                android:text="-"

                android:layout_height="48dp" />
        </LinearLayout>


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Harga"
            android:textSize="30dp"
            android:textAllCaps="true"
            android:layout_marginBottom="16dp"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="0"
            android:textColor="#212121"
            android:id="@+id/price_textview"
            android:textSize="25dp"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_marginBottom="16dp"
            android:onClick="Submitorder"
            android:layout_height="wrap_content"
            android:text="Order"/>


    </LinearLayout>
</ScrollView>

 lalu akan tampil sebagai berikut

kemudian tinggal masukan code untuk classnya

package com.e.uas;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.text.NumberFormat;

public class Baju extends AppCompatActivity {

    int quantity=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_baju);
    }
    public void increment(View view){//perintah tombol tambah
        if(quantity==100){
            Toast.makeText(this,"pesanan maximal 100",Toast.LENGTH_SHORT).show();
            return;
        }
        quantity = quantity+1 ;
        display(quantity);
    }
    public void decrement(View view){//perintah tombol tambah
        if (quantity==1){
            Toast.makeText(this,"pesanan minimal 1",Toast.LENGTH_SHORT).show();
            return;
        }
        quantity = quantity -1;
        display(quantity);
    }


    public void Submitorder(View view) {
        EditText nameEditText=(EditText)findViewById(R.id.edt_name);
        String name=nameEditText.getText().toString();
        Log.v("MainActivity","Nama:"+name);

        CheckBox KemejaChekBox= (CheckBox) findViewById(R.id.Kemeja_checkbox);
        boolean Kemeja=KemejaChekBox.isChecked();//mengidentifikasi check
        Log.v("MainActivity","has whippedcream:"+Kemeja);

        CheckBox KaosChekBox= (CheckBox) findViewById(R.id.Kaos_checkbox);
        boolean Kaos=KaosChekBox.isChecked();//mengidentifikasi check
        Log.v("MainActivity","has whippedcream:"+Kaos);

        CheckBox BatikChekBox= (CheckBox) findViewById(R.id.Batik_checkbox);
        boolean Batik=BatikChekBox.isChecked();//mengidentifikasi check
        Log.v("MainActivity","has whippedcream:"+Batik);

        int price=calculateprice(Kemeja,Kaos,Batik);//memanggil method jumlah harga
        String pricemessage=createOrderSummary(price,name,Kemeja,Kaos,Batik);


        displayMessage(pricemessage);

    }
    private int calculateprice(boolean Kemeja,boolean Kaos, boolean Batik){//jumlah pesanan * harga
        int harga=5000;

        if(Kemeja){
            harga=harga+120000;//harga tambahan toping
        }

        if (Kaos){
            harga=harga+25000;
        }

        if (Batik){
            harga=harga+220000;
        }

        return quantity * harga;
    }
    private String createOrderSummary(int price, String name, boolean addKemeja, boolean addKaos, boolean addBatik) {//hasil pemesanan
        String pricemessage=" Nama ="+name;
        pricemessage+="\n Kemeja? "+addKemeja;
        pricemessage+="\n Kaos? "+addKaos;
        pricemessage+="\n Batik? "+addBatik;
        pricemessage+="\n quantity"+quantity;
        pricemessage+="\n Total Rp"+price;
        pricemessage+="\n Thankyou";
        return  pricemessage;
    }

    //method ini untuk mencetak hasil perintah yang di tampilkan dengan inisial quantity_textview di textview 0
    private void displayMessage(String message) {
        TextView priceTextView = (TextView) findViewById(R.id.price_textview);
        priceTextView.setText(message);
    }
    private void display(int number) {
        TextView quantityTextView = (TextView) findViewById(R.id.quantity_textview);
        quantityTextView.setText("" + number);
    }
    private void displayPrice(int number) {
        TextView priceTextView = (TextView) findViewById(R.id.price_textview);
        priceTextView.setText(NumberFormat.getCurrencyInstance().format(number));
    }

}

setelah selesai dan tidak ada eror, silahkan di coba di run kemudian Login>Baju(pada menu Lisview) makanakan tampil seperti di bawah.
untuk 2 activity lainnya silahkan lanjutkan seperti activity "Baju" di atas.

sekian tutorial dari saya
Terimakasih


Komentar

Postingan populer dari blog ini