Introduzione

AboutActivity AboutActivity è una utility per tutti gli sviluppatori Android per la gestione della finestra di about dei loro programmi.

Quante volte nel sviluppare una applicazione tralasciamo la sezione about, rendendola povera di contenuti? La maggior parte delle volte viene tralasciata o limitata ad una semplice dialog con il nome dell'applicazione, la versione e il nome dell'autore! Ma questo è uno dei punti di una applicazione che avvicina di più lo sviluppatore ad i suoi utenti, quindi meglio non trascurarla!

Questo tool, rilasciato in licenza GNU Lesser General Public License, quindi opensource e modificabile ma che non costringe le applicazioni che lo usano ad utilizzare la medesima licenza, si occupa di tutte le informazioni di base che normalmente tutte le applicazioni danno ai suoi utenti. Vi basta configurare l'intent da inviare all'attività ed il gioco è fatto!

Installazione

Il progetto AboutActivity è marcato come libreria Android, questo significa che basta aggiungere il progetto nel workspace eclipse per poterlo utilizzare con tutti gli altri progetti.
L'installazione è stata molto semplificata con la versione 1.3. Per utilizzare AboutActivity basta importare il progetto AboutActivityLib nel proprio workspace ed il gioco è fatto!
Se non sai come importare un progetto, segui questi semplici passi:

  1. Scarica il file AboutActivityLib.<version>.jar;
  2. Da Eclipse: File -> Import... -> Exsisting Projects into Workspace -> In "Select archive file" selezionare il jar scaricato -> Finish.

Adesso dovresti avere il progetto libreria all'interno del Workspace. Per utilizzarlo nel tuo progetto basta seguire questi passi:

  1. Pulsante destro sul tuo progetto -> Properties;
  2. Dalla pagina Android, nel riquadro Library premere su Add... e selezionare AboutActivityLib;
  3. Aggiungere nel file AndroidManifest.xml della propria applicazione il collegamento all'activity AboutActivity.

Utilizzo

AboutActivity ha quattro caratteristiche di utilizzo che possono essere combinate tra di loro:

  1. Informazioni inviate tramite Intent;
  2. Informazioni ricavate dai file dentro la cartella assets;
  3. Visualizzazione della Licenza all'avvio;
  4. Visualizzazione del ChangeLog all'avvio.

Un esempio su come tutte e quattro le caratteristiche di AboutActivity lo trovi nel progetto AboutActivityDemo (scaricabile a parte).

Puoi effettuare tutte le modifiche che desideri al codice, ma ti prego di lasciare intatto e visibile il "Powered by AboutActivity" ed il relativo link al sito http://android.marcoduff.com/ per rispettare il mio lavoro ed il mio Copyright.
Grazie!

Informazioni inviate tramite Intent

Quando fai partire AboutActivity dalla tua Activity, comunemente richiamando la funzione startActivity(), dovrai passare un Intent. Il modo più semplice per creare un Intent adatto per AboutActivity è farlo tramite la funzione statica AboutActivity.getAboutActivityIntent().
La funzione statica getAboutActivityIntent di AboutActivity accetta i seguenti parametri:

  • Il contesto della tua applicazione (ad esempio: this);
  • Nome dell'autore dell'applicazione (ad esempio: "Marco Palermo");
  • Indirizzo del sito dell'autore dell'applicazione (ad esempio: "http://android.marcoduff.com/");
  • Email dell'autore dell'applicazione (ad esempio: "test@mytest.com");
  • Username Twitter (ad esempio: "MarcoDuff");
  • Indirizzo per le donazioni (ad esempio: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FNWLVFH2XJBAQ")
  • Se l'applicazione sta sul market di android (ad esempio: true);
  • Il nome dell'autore registrato sul market di android (ad esempio: MarcoDuff);
  • Indirizzo per segnalare i bug (ad esempio: "http://aboutactivity.googlecode.com/")

Se non vuoi inserire delle informazioni, passa null come parametro!
Ottenuto l'Intent desiderato, passalo direttamente alla funzione startActivity() che visualizzarà AboutActivity

Informazioni ricavate dai file dentro la cartella /res/raw

Al suo avvio, AboutActivity, controllerà la presenza o meno di alcuni file nella cartella /res/raw. Se li trova li visualizza nella lista in automatico!
In particolare, i file ricercati sono:

  • readme: descrizione dell'applicazione;
  • faq: le faq dell'applicazione;
  • changelog: i cambi di versione dell'applicazione;
  • eula: la licenza dell'applicazione;
  • privacy: la privacy policy dell'applicazione;
  • todo: le cose ancora da fare.

Puoi anche non inserirli (tutti o qualcuno). Solo se esistono verranno visualizzati. Puoi suddividere i file nelle varie cartelle localizzate come /res/raw-it o res/raw-de!
Tutti i file letti devono essere formattati in linguaggio HTML ed utilizzare la codifica UTF-8. Per maggiore compatibilità con tutti i dispositivi, ti consiglio di evitare di scrivere caratteri accentati ed utilizzare la corrispondente codifica con il carattere & (ad esempio, per scrivere la e accentata scrivere &egrave;).

Visualizzazione della Licenza all'avvio

Se lo desideri puoi utilizzare il metodo statico showStartupEula. Questo visualizzera la licenza del programma con i tipici tasti Accetto e Rifiuto.
La licenza visualizzata è quella contenuta nel file raw eula.
Se l'utente accetta l'Activity la dialog verrà chiusa e non verrà più presentata all'utente.
Se l'utente rifiuta l'Activity verrà terminata e la licenza verrà visualizzata nuovamente se l'utente accede di nuovo all'applicazione.
E' possibile utilizzare la funzione di callback OnStartupEulaListener.onEulaAction per monitorare dall'activity la scelta dell'utente.

Visualizzazione del ChangeLog all'avvio

Se lo desideri puoi utilizzare il metodo statico showStartupChangeLog. Questo visualizzera il changelog del programma.
Il ChangeLog visualizzato è quello contenuto nel file raw changelog.
E' possibile utilizzare la funzione di callback OnStartupChangeLogListener.onVersionChanged per monitorare dall'activity il cambio di versione (solo se si tenta di visualizzare la dialog).

Principali caratteristiche

  • Versione;
  • Autore;
  • Sito dell'autore;
  • Email all'autore;
  • Twitter;
  • Readme;
  • Faq;
  • ChangeLog;
  • Licenza;
  • Privacy policy;
  • Donazioni;
  • Market;
  • Market autore;
  • Bug.

Ringraziamenti

Un ringraziamento particolare a Roberto Leinardi (amministratore del sito AndDev.it) che con il suo Kitchen Timer mi ha ispirato nella creazione di questa utility!

Il programma viene distribuito nella speranza che sia utile a qualcuno, ma senza alcuna garanzia.

Informazioni versione

  • Versione: 1.4
  • Compatibilità: Android 1.6 (Donut)
  • Lingua: en, it, es
  • Licenza: GNU Lesser General Public License v3.
  • Icone: LazyCrazy

Screenshot

AboutActivity AboutActivity AboutActivity AboutActivity AboutActivity AboutActivity

ChangeLog

  • v1.4 - 18/11/2010
    • Aggiunta pagina twitter (thanks to blackgin);
    • Aggiunta lingua Spagnola.
  • v1.3 - 03/11/2010
    • Modificata la tipologia di progetto in Libreria Android;
    • Sostituzione della cartella assets con raw;
    • Migliorata la visualizzazione sul market;
    • Modificate alcune etichette.
  • v1.2 - 19/10/2010
    • Pubblicata sul market.
  • v1.1 - 14/10/2010
    • Aggiunta l'interfaccia per il cambio di versione.
  • v1.0 - 11/10/2010
    • Primo rilascio.