Panoramica ADT (Android Development Tools) plugin per Eclipse versione 11

Da qualche giorno è stata rilasciata la nuova versione (siamo arrivati alla 11) del plugin di Android per Eclipse. Le novità sono quelle che sono state annunciate al google I/O di maggio, vediamo le principali nel dettaglio.

Per aggiornare un plugin di Eclipse (non solo quello per Android) basta andare nel menu Help e selezionare Check for updates. La configurazione guidata che compare è simile a quella per l’installazione, chiede di accettare la licenza del plugin e alla fine di riavviare Eclipse per apportare le modifiche.

Editing grafico dei layout

I miglioramenti più importanti sono stati apportati nell’editor grafico delle interfacce. Per provare il nuovo editor creiamo un nuovo layout cliccando con il tasto destro su un Android project di Eclipse e scegliamo New e poi Android Xml File. Nel dialog che compare scegliamo di creare un layout e decidiamo il nome da dare al file xml:

Una volta aperto il file xml con l’editor non si notano grosse differenze a prima vista, ma dopo un po’ di utilizzo i miglioramenti apportati si sentono:

Per esempio sopra il riquadro con l’anteprima grafica ci sono dei button (abilitati quando si seleziona una view) che permettono di impostare gli attributi della view relativi al layout (per esempio i classici layout_width e layout_height). Questi button sono diversi a seconda del layout in cui la view è contenuta.

Oltre a questo il drag and drop delle view è stato migliorato, una view può essere creata trascinandola dalla palette oppure è possibile spostare una view trascinandola dall’anteprima grafica o dalla outline.

Quick fix

Il quick fix è una delle mie feature preferite di Eclipse, secondo me a volte riesce a leggere nel pensiero dello sviluppatore e suggerisce la cosa giusta da fare! La shortcut per attivare il quick fix è Ctrl + 1 (cmd + 1 su Mac), è utile sia quando c’è un errore da correggere sia quando si vuole fare modifiche al codice (in pratica i comandi disponibili nei menu source e refactor). In questa versione del plugin di Eclipse sono stati aggiunti comandi al quick fix dei file xml: per esempio è possibile aggiungere una traduzione al file strings.xml usando il comando Extract Android String:

In questo esempio avevamo scritto la stringa Giallo direttamente nel file xml, dopo aver eseguito il refactoring avremo nel file xml il riferimento alla stringa android:text=”@string/giallo” e nel file strings.xml la riga:

1
<string name="giallo">Giallo</string>

Un altro refactoring introdotto molto utile è Extract style, è molto utile quando abbiamo più view all’interno dello stesso progetto con alcuni attributi in comune. Per capirsi uno style su Android è l’equivalente di una classe css per un tag html.
Vediamo un esempio pratico partendo dal seguente layout che contiene due TextView con lo stesso sfondo e colore del testo:

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:layout_width="wrap_content"
		android:background="#FFF" android:textColor="#F00"
		android:layout_height="wrap_content" android:text="label1" />
 
	<TextView android:layout_width="wrap_content"
		android:background="#FFF" android:textColor="#F00"
		android:layout_height="wrap_content" android:text="label2" />
</LinearLayout>

Selezioniamo il primo TextView e premiamo Ctrl + 1 e poi Extract style e creiamo grazie allo wizard che appare lo style che contiene gli attributi della view. Nel nostro caso viene creato nella directory res/values il file styles.xml contenente il seguente codice:

1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="textViewStyle" parent="android:Widget.TextView">
        <item name="android:background">#FFF</item>
        <item name="android:textColor">#F00</item>
    </style>
</resources>

A questo punto possiamo modificare manualmente il layout per usare lo style creato anche nel secondo TextView:

1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView style="@style/textViewStyle" android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="label1" />
 
	<TextView style="@style/textViewStyle" android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="label2" />
</LinearLayout>

Usare gli style è utile per evitare il copia incolla: nell’esempio visto se vogliamo aggiungere altre proprietà possiamo modificare lo stile invece di cambiare manualmente tutte le view che lo utilizzano. In questo caso lo style è utilizzato in soli due posti ma lo stesso discorso vale anche nel caso in cui sia usato in n view all’interno di uno o più layout diversi.

Conclusioni

Le novità introdotte in questa nuova versione del plugin sono molte, in questo post abbiamo visto solo le principali. Sul sito ufficiale di Android è disponibile una breve descrizione delle novità mentre sul sito del plugin ADT è disponibile un change log più approfondito.

Se non conoscevate la shortcut ctrl + 1 e vi ha incuriosito l’argomento vi consiglio di leggere questo post sulle shortcut di Eclipse (ok, sarò sincero, il consiglio è di parte visto che l’autore sono sempre io! :)).

By Fabio Collini

Da agosto 2009 sono un freelance android developer, ho rilasciato due applicazioni nell'Android Market: Apps Organizer e Folder Organizer. Presso OmniaGroup ricopro il ruolo di Tech Leader nell'ambito di un progetto di rich internet application che utilizza JSF, JPA(EclipseLink) ed EJB3.

1 comment

  1. Grazie ragazzi, ho sviluppato qualcosina su iPhone ed ora mi sto affacciando su Android, mi state aiutando parecchio. Grazie ancora !

Comments are closed.