La dichiarazione delle Attività – Lezione 13 di Android

Come dichiarare un’attività nel manifesto e come usare gli intent filter

Per poter creare una nuova attività in Java occorre estendere la classe Activity fornita da Android. In XML invece, bisogna comunicare al sistema la presenza di una nuova attività e per poterlo fare bisogna inserirla all’interno dell’AndroidManifest.xml. Un esempio di registrazione di attività all’interno del manifesto di un’applicazione è il seguente:

  <?xml version="1.0" encoding="utf-8"?>
  <manifest xmlns:android="http://schemas.
   android.com/apk/res/android"
   package="com.example.helloworlddatrevo" ... >

    <application ... >
      <activity android:name="NuovaAttivitàDatrevo" ... >...
      </activity>

      //...
    </application>

  </manifest>

Il tag XML <activity> viene utilizzato all’interno del tag <application>. Il tag activity può avere moltissimi attributi, dall’esempio si può vedere che uno di questi è android:name che viene utilizzato per indicare il nome dell’attività (se è esterna al package in cui ci troviamo bisogna specificare l’intero path). Ecco alcuni degli attributti di <activity>:

  1. label. Si tratta di uno degli attributi fondamentali di un’attività, label viene utilizzato dal sistema come riferimento all’attività e viene mostrato all’utente. Essendo di tipo stringa, è consigliabile inserire il suo valore all’interno del file strings.xml ed inserire nell’attributo il riferimento alla stringa. Un piccolo esempio:
      <activity
       android:label="@string/NuovaAttivitàDatrevo_label">

  2. icon. Questo attributo consente di specificare un’icona per l’attività appena creata. Come per label, anche in questo caso è preferibile separare i valori dal codice, inseriremo quindi l’icona nella cartella res/drawable ed inseriremo in icon un suo riferimento:
      <activity
       android:icon="@drawable/NuovaAttivitàDatrevo_icon">

    Se l’utente decide di non specificare nessuna icona, l’attività erediterà l’icona definita nel tag <application>.

  3. excludeFromRecents. Utilizzando questo attributo l’attività non apparirà nell’elenco della attività utilizzate di recente.
      <activity
       android:excludeFromRecents>

  4. screen. Consente di scegliere e forzare un determinato orientamento dello schermo (verticale, orizzontale, ecc.).
      <activity
       android:screenOrientation>

  5. theme. Quest’attributo di activity permette di cambiare il tema grafico dell’attività.
      <activity
       android:theme>

Per conoscere tutti gli attributi del tag <activity> si può fare riferimento alla documentazione ufficiale di Android.

Diversi tipi di intent-filter: Action, Category e Data

All’interno del tag <activity></activity> possono essere inseriti nuovi tag come l’intent-filter che abbiamo visto nella lezione 9:

  <activity . . .>
    <intent-filter> . . .</intent-filter>
  </activity>

Gli intent rappresentano le operazioni che un’applicazione deve seguire quando vengono richieste. In XML, un intent-filter accetta tre tipi di figli:

  1. Action, consente di individuare gli intent che richiedono una determinata azione.
      <action android:name="nome-azione">

  2. Category, individua gli intent che appartengono ad una determinata categoria:
      <category android:name="nome-categoria">

  3. Data, questo attributo individua gli intent che contengono dati di un determinato tipo:
      <data android:mimeType="nome-tipo-mime">
      <data android:scheme="nome-schema-url">

Due intent-filter molti utilizzati in Android sono l’azione android.intent.action.MAIN e la categoria android.intent.category.LAUNCHER che consentono di identificare l’azione come possibile attività principale (main) dell’applicazione. Per fissare meglio il concetto, ecco un esempio di attività definita come main:

  <activity android:name=".NuovaAttivitàDatrevo" . . .>
    <intent-filter>
      <action android:name="android.intent.action.MAIN"/>
      <category
       android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>

Indice Lezione PrecedenteLezione Successiva

Pubblicato in Android, Android, Guide, Informatica, Programmazione Taggato con: , , , ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*