Android: Intents, RecyclerView, Fragments i Room DB

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en catalán con un tamaño de 4,78 KB

Android: Components Essencials per al Desenvolupament

Intents: Són objectes de missatgeria que ens permeten sol·licitar una acció a un altre component de l'aplicació.

Intents Explícits vs. Implícits

  • Intents Explícits: S'utilitzen quan coneixem el nom exacte de l'Activity o servei al qual volem sol·licitar una acció.
  • Intents Implícits: S'utilitzen quan volem sol·licitar una acció general. El sistema Android s'encarrega de seleccionar el component adequat per satisfer la sol·licitud.

Components d'un Intent:

  • Component Name: Nom del component de destinació.
  • Action: L'acció que es desitja realitzar.
  • Data: Les dades implicades en l'acció (normalment un URI).
  • Category: Informació addicional sobre el tipus de component.
  • Extras: Dades addicionals en format clau-valor.
  • Flags: Instruccions per al sistema sobre com iniciar una Activity.

RecyclerView: Visualització Eficient de Llistats

La RecyclerView és un tipus de ViewGroup que ens permet mostrar llistats o quadrícules de manera eficient en Android.

Elements Necessaris per a RecyclerView:

  • RecyclerView.Adapter: Tracta les dades i les mostra a la RecyclerView. Necessita un layout per als elements de la llista (.xml) i un ViewHolder.
  • LayoutManager: Ajuda a posicionar els elements dins del llistat.
  • ItemAnimator: Configura l'animació dels elements durant operacions com afegir o eliminar.

Tipus de LayoutManager:

  • LinearLayoutManager: Mostra els elements en format vertical o horitzontal en una llista amb scroll.
  • GridLayoutManager: Mostra els elements organitzats en una quadrícula.

Com Crear una RecyclerView:

  1. Crear una classe amb les variables que representaran cada objecte del llistat.
  2. A l'Activity, declarar un ArrayList amb els objectes i l'Adapter creat.
  3. Crear una nova classe per a l'Adapter, incloent-hi el ViewHolder.
  4. A l'onCreate del MainActivity, inicialitzar la RecyclerView.

Per gestionar els clics en els elements de la llista i accedir a un detall, implementeu un onItemClickListener a l'Adapter.

Per guardar l'estat de la RecyclerView, utilitzeu els mètodes onSaveInstanceState i onRestoreInstanceState.

Fragments: Modularitat i Reutilització d'Interfícies

Els Fragments representen una part o un comportament d'una interfície d'usuari. Permeten combinar diversos fragments en una Activity per crear interfícies complexes i reutilitzables.

Un fragment és una secció modular d'una pantalla que té el seu propi cicle de vida, lògica i interfície, però sempre està associat a una Activity.

Són especialment útils en aplicacions que necessiten dividir la interfície en parts independents o reutilitzables, facilitant la gestió de diferents mides de pantalla i orientacions.

Room DB: Persistència de Dades Local

Room és una capa d'abstracció sobre SQLite que facilita la gestió de bases de dades locals en Android. Permet emmagatzemar dades de manera persistent i sincronitzar-les quan la connexió es restableix.

Components Clau de Room:

  • Database: La base de dades principal que emmagatzema la persistència de dades.
  • Entity: Representa una taula dins de la base de dades.
  • DAO (Data Access Object): Conté els mètodes per accedir a la base de dades (funcions CRUD).

Altres Components Relacionats amb Room:

  • Room Database: Punt d'accés i capa sobre SQLite per gestionar la base de dades. (SQLite és un motor de base de dades relacional de codi obert molt potent).
  • Repository: Patró per centralitzar l'accés a les dades, ja siguin locals o remotes.
  • ViewModel: Gestiona les dades necessàries per a la UI, conserva les dades durant canvis de configuració (com rotacions) i és independent de la vista. La vista (Activity/Fragment) crida al ViewModel per mostrar les dades.
  • LiveData: Permet crear objectes observables. La funció onChanged s'executa automàticament quan les dades canvien, evitant consultes manuals a la base de dades.
  • Controller: Proporciona independència de la font de dades (local, API REST, fitxers, etc.).

Entradas relacionadas: