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
EditTexti 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
EditTextper capturar el nom i el correu electrònic de l'usuari. - Afegeix un
Buttonper 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ó
