Skip to main content

Login - Android

 

Nama: Richard Ryan

NRP: 5025211141

Kelas: PPB (G)

Tema: Halaman Login


Link Github :  Github

Penjelasan Kode

Pertama diperlukan beberapa variabel untuk menyimpan data yang ada di halaman login. Variabel email dan password digunakan untuk menyimpan teks yang akan ditulis di textfield. Variabel passwordVisible merupakan variabel yang menyatakan apakah password dapat terlihat karakternya ataukah ter-encrypt

var email by remember { mutableStateOf("") }
var password by remember { mutableStateOf("") }
var passwordVisible by remember { mutableStateOf(false) }

Kemudian, untuk textbox email buat sebagai berikut.

OutlinedTextField(
            value = email,
            onValueChange = { email = it },
            label = { Text("Masukkan Email") },
            singleLine = true,
            modifier = Modifier
                .fillMaxWidth()
                .padding(top = 4.dp)
        )

Untuk textbox password agak sedikit berbeda untuk mengakomodir penggantian status terlihat dan tidak
OutlinedTextField(
            value = password,
            onValueChange = { password = it },
            label = { Text("Masukkan Password") },
            singleLine = true,
            visualTransformation = if (passwordVisible) VisualTransformation.None 
                                   else PasswordVisualTransformation(),
            trailingIcon = {
                val icon = if (passwordVisible) "🙈" else "👁"
                Text(
                    text = icon,
                    fontSize = 18.sp,
                    modifier = Modifier
                        .clickable { passwordVisible = !passwordVisible }
                        .padding(end = 8.dp)
                )
            },
            modifier = Modifier
                .fillMaxWidth()
                .padding(top = 4.dp)
        )


Opsional

Sebagai tambahan, juga dapat langsung dicek apakah input valid (user ada) atau tidak

Pertama, buat terlebih dahulu data class User yang menyimpan bentuk entity User sebagai berikut
data class User(
    val username: String,
    val email: String,
    val password: String
)

Kemudian, buat daftar user yang terdaftar di sistem, misalkan sebagai berikut
val Users = listOf(
    User("user 1", "user1@gmail.com", "password1"),
    User("user 2", "user2@gmail.com", "password2")
)

Setelah itu, ubah kode tombol login sebagai berikut. Pertama akan dicari apakah ada entity User dari list dengan email dan password yang sesuai dengan input di halaman login, apabila ada maka dapat berpindah ke halaman selanjutnya dengan mempassing pula username serta emailnya. Apabila data tidak ditemukan, maka buat teks yang menyatakan gagal login di bawah tombol
var loginError by remember { mutableStateOf(false) }

Button(
    onClick = {
        val matchedUser = Users.find { it.email == email && it.password == password }

        if (matchedUser != null) {
            val intent = Intent(context, HelloActivity::class.java).apply {
                putExtra("email", matchedUser.email)
                putExtra("username", matchedUser.username)
            }
            context.startActivity(intent)
            (context as? ComponentActivity)?.finish()
        } else {
            loginError = true
        }
    },
    modifier = Modifier.fillMaxWidth()
) {
    Text("Login")
}

if (loginError) {
    Spacer(modifier = Modifier.height(16.dp))
    Text(
        text = "Email atau password salah",
        color = MaterialTheme.colorScheme.error
    )
}

Hasil

Comments

Popular posts from this blog

Starbucks Clone - Android

  Nama: Richard Ryan NRP: 5025211141 Kelas: PPB (G) Tema: Aplikasi Starbucks Link Github :  Github Hasil

Evolusi Perangkat Bergerak

Nama: Richard Ryan NRP: 5025211141 Kelas; PPB G 1. Sejarah Ponsel - Ponsel pertama kali diciptakan pada April 1973 oleh Motorola yang kemudian dinamakan DynaTAC 8000X. Ponsel ini cukup berat, mencapai 1.1 kg dan memiliki daya yang boros dimana baterinya hanya memungkinkan komunikasi selama 30 menit sebelum harus diisi ulang selama 10 jam - Ponsel mulai populer pada tahun 1990an, pada masa tersebut jumlah pengguna hanyalah sekitar 10 juta orang sedangkan 10 tahun kemudian, pada tahun 2000, angka tersebut telah naik mencapai 2.5 milyar pengguna 2. Perkembangan teknologi ponsel - 1973: Ponsel pertama diciptakan oleh Motorola - 1985: Ponsel Siemens Mobiletelefon C1 berbentuk tas dirilis - 1987: Nokia meluncurkan ponsel pertama mereka, Mobira Cityman 900. Ponsel ini memiliki berat total 800 gram. Ponsel ini tergolong sebagai ponsel dengan harga yang cukup mahal dan hanya kalangan tertentu yang bisa membelinya - 1988: Samsung merilis ponsel pertama mereka, SH-100. Ponsel ini juga menjadi pon...

Trash2Cash

  Trash2Cash Aplikasi Manajemen Bank Sampah