Membuat aplikasi Login dan Listview di android studio
MEMBUAT APLIKASI LOGIN
DAN LIST VIEW DI ANDROID STUDIO
Nama : Tommy
Hardiansyah Koswara
NIM :
161021450554
Kelas :
06TPLE003
Assalamualaikum
wr .wb
Saya akan
menjelaskan cara membuat aplikasi login dan list view di android studio.
Langkah pertamanya yaitu membuka android studio, setelah itu klik new
project> empty activity> dan beri nama di projectnya.
Disini saya
membuat 3 aplikasi:
-Aplikasi
pesan kue
-Aplikasi
Luas Segitiga
-Laptop
Setelah
dikasih nama projectnya barulah kita masukin source codenya dan berikut source
codenya dibawah ini:
Untuk source
code Activity Login seperti dibawah ini:
package com.example.codinglogin;
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText username, password;
Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
btnLogin = (Button)findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String usernameKey = username.getText().toString();
String passwordKey = password.getText().toString();
if (usernameKey.equals("admin") && passwordKey.equals("123")){
//jika login berhasil
Toast.makeText(getApplicationContext(), "LOGIN SUKSES",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this, ListActivity.class);
MainActivity.this.startActivity(intent);
finish();
}else {
//jika login gagal
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("Username atau Password Anda salah!")
.setNegativeButton("Retry", null).create().show();
}
}
});
}
}
import androidx.appcompat.app.AppCompatActivity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText username, password;
Button btnLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
btnLogin = (Button)findViewById(R.id.btnLogin);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String usernameKey = username.getText().toString();
String passwordKey = password.getText().toString();
if (usernameKey.equals("admin") && passwordKey.equals("123")){
//jika login berhasil
Toast.makeText(getApplicationContext(), "LOGIN SUKSES",
Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this, ListActivity.class);
MainActivity.this.startActivity(intent);
finish();
}else {
//jika login gagal
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("Username atau Password Anda salah!")
.setNegativeButton("Retry", null).create().show();
}
}
});
}
}
Selanjutnya
masukan source code xmlnya untuk mendesain aplikasi loginnya:
<?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="32dp" > <TextView android:text="Login Form" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:id="@+id/textView" android:textAlignment="center" android:textSize="30sp" android:textStyle="normal|bold" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" android:ems="10" android:id="@+id/username" android:hint="Username" android:layout_below="@+id/textView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginTop="37dp" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:ems="10" android:layout_below="@+id/username" android:layout_alignParentLeft="true" android:id="@+id/password" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:hint="Password" /> <Button android:text="Log In" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/password" android:layout_centerHorizontal="true" android:id="@+id/btnLogin" /> </RelativeLayout>
package com.example.codinglogin; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class Welcome extends AppCompatActivity { Button btnExit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); btnExit = (Button) findViewById(R.id.btnExit); btnExit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //perintah untuk mengakhiri aplikasi finish(); } }); } }
<?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_welcome" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="Welcome" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:id="@+id/textView2" android:textAlignment="center" android:textSize="30sp" android:textStyle="normal|bold" /> <TextView android:text="Hai Bro!" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/textView2" android:layout_centerHorizontal="true" android:layout_marginTop="69dp" android:id="@+id/textView3" android:textSize="18sp" android:textStyle="normal|bold" /> <TextView android:text="Selamat datang, kamu telah berhasil login ke aplikasi sederhana ini." android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView4" android:layout_below="@+id/textView3" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_marginTop="10dp" android:textSize="18sp" /> <Button android:text="Keluar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:id="@+id/btnExit" /> </RelativeLayout>
Selanjutnya
kita akan membuat List viewnya, dan berikut source codenya:
Untuk
Activitynya:
package com.example.codinglogin; 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 ListActivity extends AppCompatActivity { ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); listView = findViewById(R.id.list); //data untuk di tampil String[] values = new String[] { "Pesan Kue", "Luas Segitiga", "Laptop"}; // 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(ListActivity.this, PesanKueActivity.class); } else if (position == 1) { intent = new Intent(ListActivity.this, LuasSegitigaActivity.class); } else { intent = new Intent(ListActivity.this, LaptopActivity.class); } startActivity(intent); } }); } }
Untuk xmlnya:
<?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=".ListActivity"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent"/> </androidx.constraintlayout.widget.ConstraintLayout>
Selanjutnya
kita akan membuat aplikasi pesan kue, dan berikut source codenya:
Untuk
Activitynya:
package com.example.codinglogin; 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 androidx.appcompat.app.AppCompatActivity; import java.text.NumberFormat; /** * This app displays an order form to order coffee. */ public class PesanKueActivity extends AppCompatActivity { int quantity=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_pesankue); } 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 whippedcreamChekBox= (CheckBox) findViewById(R.id.WhippedCream_checkbox); boolean haswhippedcream=whippedcreamChekBox.isChecked();//mengidentifikasi check Log.v("MainActivity","has whippedcream:"+haswhippedcream); CheckBox chocolateChekBox= (CheckBox) findViewById(R.id.Chocolate_checkbox); boolean haschocolate=chocolateChekBox.isChecked();//mengidentifikasi check Log.v("MainActivity","has whippedcream:"+haschocolate); int price=calculateprice(haswhippedcream,haschocolate);//memanggil method jumlah harga String pricemessage=createOrderSummary(price,name,haswhippedcream,haschocolate); displayMessage(pricemessage); } private int calculateprice(boolean addChoclate,boolean addKeju){//jumlah pesanan * harga int harga=10000; if(addChoclate){ harga=harga+1000;//harga tambahan toping } if (addKeju){ harga=harga+5000; } return quantity * harga; } private String createOrderSummary(int price, String name, boolean addKeju, boolean addChoclate) {//hasil pemesanan String pricemessage=" Nama = "+name; pricemessage+="\n Tambahkan Coklat =" +addChoclate; pricemessage+="\n Tambahkan Keju =" +addKeju; pricemessage+="\n Jumlah Pemesanan =" +quantity; pricemessage+="\n Total = Rp " +price; pricemessage+="\n Terimakasih"; 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)); } }
Untuk
Xmlnya:
<?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" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="30dp" tools:context=".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="Tambahkan Topping" android:textSize="25dp"/> <CheckBox android:id="@+id/WhippedCream_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Coklat" android:paddingLeft="16dp" android:textSize="15sp"/> <CheckBox android:id="@+id/Chocolate_checkbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Keju" android:paddingLeft="16dp" android:textSize="15sp"/> <View android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="2dp" android:background="@color/colorAccent"/> <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> <View android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="2dp" android:background="@color/colorAccent"/> <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="Pesan Sekarang"/> </LinearLayout> </ScrollView>
Selanjutnya
kita akan membuat aplikasi luas segitiga, berikut source codenya:
Untuk Activitnya:
package com.example.codinglogin; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; public class LuasSegitigaActivity extends AppCompatActivity { EditText a,t; Button hitung; TextView hasil; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_luas_segitiga); a = (EditText)findViewById(R.id.alas); t = (EditText)findViewById(R.id.tinggi); hitung = (Button) findViewById(R.id.button); hasil = (TextView)findViewById(R.id.txt_hasil); hitung.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ //jika tidak mengisi panjang dan lebar sekaligus maka akan tampil notifikasi if(a.length()==0 && t.length()==0){ Toast.makeText(getApplication(),"Alas dan Tinggi tidak boleh Kosong",Toast.LENGTH_LONG).show(); } //notifikasi ini akan muncul jika panjangnya tidak diisi else if (a.length()==0){ Toast.makeText(getApplication(),"Alas tidak boleh kososng", Toast.LENGTH_LONG).show(); } //notifikasi jika lebar tidak diisi else if (t.length()==0){ Toast.makeText(getApplication(),"Tinggi tidak boleh kosong",Toast.LENGTH_LONG).show(); } else{ String isialas = a.getText().toString(); String isitinggi = t.getText().toString(); double a = Double.parseDouble(isialas); double t = Double.parseDouble(isitinggi); double hs = LuasSegitiga(a,t); String output = String.valueOf(hs); hasil.setText(output.toString()); } } }); } public double LuasSegitiga(double a, double t){return a*t/2;} }
Untuk Xml:
<?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" > <TextView android:text="Luas Segitiga" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="23dp" android:id="@+id/txt_judul" android:textColor="@android:color/holo_blue_light" android:textSize="18sp" /> <TextView android:text="Rumus = 1/2 X a X t" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:id="@+id/txt_rumus" android:layout_below="@+id/txt_judul" android:layout_alignLeft="@+id/txt_alas" android:layout_alignStart="@+id/txt_alas" android:textColor="@android:color/background_dark" /> <TextView android:text="Alas" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="14dp" android:layout_marginStart="14dp" android:id="@+id/txt_alas" android:layout_alignBaseline="@+id/alas" android:layout_alignBottom="@+id/alas" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:textColor="@android:color/holo_blue_light" /> <TextView android:text="Tinggi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txt_tinggi" android:layout_alignBaseline="@+id/tinggi" android:layout_alignBottom="@+id/tinggi" android:layout_alignLeft="@+id/txt_alas" android:layout_alignStart="@+id/txt_alas" android:textColor="@android:color/holo_blue_light" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:hint="Masukkan Alas" android:ems="10" android:layout_below="@+id/txt_rumus" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_marginRight="22dp" android:layout_marginEnd="22dp" android:layout_marginTop="22dp" android:id="@+id/alas" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:hint="Massukkan Tinggi" android:ems="10" android:layout_below="@+id/alas" android:layout_alignLeft="@+id/alas" android:layout_alignStart="@+id/alas" android:layout_marginTop="10dp" android:id="@+id/tinggi" /> <Button android:text="HITUNG" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tinggi" android:layout_centerHorizontal="true" android:layout_marginTop="35dp" android:id="@+id/button" /> <TextView android:text="Luas Segitiga Adalah :" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="59dp" android:id="@+id/txt_hasil" android:layout_below="@+id/button" android:textColor="@android:color/holo_red_dark" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:textAlignment="center" android:textSize="18sp" /> </RelativeLayout>
Selanjutnya
yang terakhir kita bikin aplikasi laptop dan berikut source codenya:
Untuk
Activitynya:
package com.example.codinglogin; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class LaptopActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_screen3); } }
Untuk
Xmlnya:
<?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=".LaptopActivity"> <TextView android:text="Laptop adalah komputer bergerak (bisa dipindahkan dengan mudah) yang berukuran relatif kecil dan ringan, beratnya berkisar dari 1-6 kg, tergantung ukuran, bahan, dari spesifikasi laptop tersebut, laptop dapat digunakan dalam lingkungan yang berbeda dari komputer." android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:textSize="30dp"/> </androidx.constraintlayout.widget.ConstraintLayout>
Dan hasilnya
seperti gambar dibawah ini:
Komentar
Posting Komentar