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ó
- Crea una nova activitat amb un
EditText
i unButton
. - Captura el text introduït per l'usuari quan es fa clic al botó.
- 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
- Afegeix dos
EditText
per capturar el nom i el correu electrònic de l'usuari. - Afegeix un
Button
per enviar les dades. - 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.
Curs de Programació en Kotlin
Mòdul 1: Introducció a Kotlin
- Introducció a Kotlin
- Configuració de l'Entorn de Desenvolupament
- Conceptes Bàsics de Kotlin: Variables i Tipus de Dades
- Flux de Control: Condicionals i Bucles
- Funcions i Lambdas
Mòdul 2: Programació Orientada a Objectes en Kotlin
- Classes i Objectes
- Herència i Interfícies
- Modificadors de Visibilitat
- Classes de Dades i Classes Segellades
- Declaracions d'Objectes i Objectes Companys
Mòdul 3: Funcions Avançades de Kotlin
- Col·leccions i Genèrics
- Funcions d'Extensió
- Funcions d'Ordre Superior i Programació Funcional
- Coroutines i Programació Asíncrona
- DSL (Llenguatge Específic de Domini) en Kotlin
Mòdul 4: Kotlin per al Desenvolupament d'Android
- Introducció al Desenvolupament d'Android amb Kotlin
- Construcció d'Interfícies d'Usuari
- Gestió de l'Entrada de l'Usuari
- Xarxes i Emmagatzematge de Dades
- Proves i Depuració