En aquest tema, aprendrem com gestionar l'entrada de l'usuari en una aplicació Android utilitzant Kotlin. Ens centrarem en els components bàsics d'entrada com EditText, Button, i altres elements interactius. També veurem com validar i processar aquestes dades.

Continguts

Components d'Entrada Bàsics

EditText

EditText és un dels components més utilitzats per capturar text de l'usuari.

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Introdueix el teu nom" />

Button

Button és un component que permet a l'usuari iniciar una acció.

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Enviar" />

Captura d'Esdeveniments

Per capturar esdeveniments com el clic d'un botó, utilitzem listeners.

OnClickListener

val button: Button = findViewById(R.id.button)
button.setOnClickListener {
    val editText: EditText = findViewById(R.id.editText)
    val userInput = editText.text.toString()
    // Processar l'entrada de l'usuari
}

Validació de l'Entrada de l'Usuari

És important validar l'entrada de l'usuari per assegurar-nos que les dades són correctes.

Exemple de Validació

button.setOnClickListener {
    val editText: EditText = findViewById(R.id.editText)
    val userInput = editText.text.toString()

    if (userInput.isEmpty()) {
        editText.error = "Aquest camp no pot estar buit"
    } else {
        // Processar l'entrada de l'usuari
    }
}

Exemples Pràctics

Exemple Complet

import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val editText: EditText = findViewById(R.id.editText)
        val button: Button = findViewById(R.id.button)

        button.setOnClickListener {
            val userInput = editText.text.toString()

            if (userInput.isEmpty()) {
                editText.error = "Aquest camp no pot estar buit"
            } else {
                Toast.makeText(this, "Entrada: $userInput", Toast.LENGTH_SHORT).show()
            }
        }
    }
}

Exercicis Pràctics

Exercici 1: Captura de Text i Validació

  1. Crea una nova activitat amb un EditText i un Button.
  2. Captura el text introduït per l'usuari quan es fa clic al botó.
  3. Valida que el text no estigui buit. Si està buit, mostra un error en el EditText.

Solució

button.setOnClickListener {
    val editText: EditText = findViewById(R.id.editText)
    val userInput = editText.text.toString()

    if (userInput.isEmpty()) {
        editText.error = "Aquest camp no pot estar buit"
    } else {
        // Processar l'entrada de l'usuari
    }
}

Exercici 2: Captura de Diversos Camps

  1. Afegeix dos EditText per capturar el nom i el correu electrònic de l'usuari.
  2. Afegeix un Button per enviar les dades.
  3. Valida que cap dels camps estigui buit i que el correu electrònic tingui un format vàlid.

Solució

button.setOnClickListener {
    val nameEditText: EditText = findViewById(R.id.nameEditText)
    val emailEditText: EditText = findViewById(R.id.emailEditText)

    val name = nameEditText.text.toString()
    val email = emailEditText.text.toString()

    if (name.isEmpty()) {
        nameEditText.error = "El nom no pot estar buit"
    } else if (email.isEmpty()) {
        emailEditText.error = "El correu electrònic no pot estar buit"
    } else if (!android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
        emailEditText.error = "Format de correu electrònic invàlid"
    } else {
        // Processar l'entrada de l'usuari
    }
}

Conclusió

En aquesta secció, hem après com gestionar l'entrada de l'usuari en una aplicació Android utilitzant Kotlin. Hem vist com utilitzar components bàsics com EditText i Button, com capturar esdeveniments i com validar l'entrada de l'usuari. Aquests conceptes són fonamentals per crear aplicacions interactives i robustes. En la següent secció, explorarem com treballar amb xarxes i emmagatzematge de dades.

© Copyright 2024. Tots els drets reservats