Articoli con tag Programmazione

Google: consigli e minor update per Android Studio

DoctorDroidV2

Probabilmente, chi ha tra le proprie cerchie Android Developers, si sarà accorto dei due post pubblicati ieri sera da questo account: il primo riguarda una bella lista di consigli che tutti gli sviluppatori dovrebbero seguire, mentre il secondo si occupa in particolar modo di Android Studio, per il quale è stato rilasciato un aggiornamento minore che lo porta alla versione 0.13. Nulla di eclatante, ma un update è sempre un update.

Tornando ai consigli dati agli sviluppatori, uno in particolare dei quali ci ha colpiti: nel primo paragrafo, Google indica di non usare il nostro account personale, ma crearne uno apposito. Tutto questo sarebbe anche giusto, se a Mountain View non chiedessero altri 25$ per cambiare questo parametro: infatti, se vogliamo trasferire tutte le nostre app su un altro account, ci sarà richiesto di iscriverci al Play Store anche con il secondo indirizzo e-mail, inviare un messaggio di posta al supporto da entrambi gli account e farci quindi trasferire tutti i nostri dati. Google: vuoi dire che non puoi cambiare un indirizzo a chi contribuisce a tenere in vita il tuo robottino senza un ulteriore pagamento?

Polemiche a parte, vi consigliamo di dare una lettura all’interessante articolopubblicato sul blog degli sviluppatori perché, come di consueto, contiene molte indicazioni utili che potrebbero farci guadagnare qualche download.

Roman Nurik, le progress bar e i consigli su Google+

psa

Come sappiamo, Roman Nurik non è esattamente l’ultimo arrivato quando si parla di sviluppo su Android e, oltre a fornirci piacevoli anticipazioni circa il suo ormai celebre DashClock, condivide con noi sul suo profilo Google+ degli utili consigli sulla programmazione per l’amato robottino.

Precedentemente, ci aveva segnalato la possibilità di usare le costanti START eEND al posto di LEFT e RIGHT per posizionare meglio i componenti nei nostrilayout e oggi fa invece il punto della situazione sulle progress bar le quali smorzano un pochino l’entusiasmo dell’utente quando se le trova davanti ad esempio ogni volta che cambia tab o non si possono annullare tramite il tastoback.

La soluzione che propone è quindi di evitare di inserire del testo nelle progress bar e, dove possibile, utilizzare le apposite animazioni fornite dal Software Development Kit di Android o, qualora fosse necessario utilizzare questi componenti, di esaminare le linee guida dettate da Google in merito.

Voi cosa ne pensate? Siete anche voi contro le progress bar o vi lasciano indifferenti?

Backup e cambio di tema con le API di Android

Programmare Android

Come tutti sappiamo Android è caratterizzato, almeno da Ice Cream Sandwich in poi, dal tema Holo, che i ragazzi di Mountain View ci hanno rilasciato in diverse varianti, spingendoci ad utilizzarle per creare i nostri software. Ma come possiamo fare per scegliere tra i temi al momento del lancio dell’applicazione?

Il modo più semplice è senz’altro quello di salvarci il tema scelto nelleSharedPreferences e richiamarlo attraverso il metodo setTheme() di Context, ma questo ha alcune regole cui dobbiamo, necessariamente, sottostare:

  • il metodo va assolutamente chiamato prima di setContentView(), altrimenti non avrà effetto (va eseguito prima che venga disegnata l’Activity, altrimenti viene fermato dal runtime di Android)
  • per ogni nuova Activity che lanciamo, va richiamato, se vogliamo una continuità, altrimenti setContentView applicherà il tema specificato nel layout della singola Activity
  • dobbiamo ricaricare la prima Activity, se vogliamo che il tema venga applicato subito.

L’utilizzo di questo metodo è immediato e comporta solamente l’inserzione del tema come parametro:

setTheme(android.R.style.Theme_Holo);

E se volessimo invece salvare i nostri dati, in modo che l’utente possa ripristinarli quando installa l’applicazione su un altro dispositivo? Per questa specifica situazione, Google ci mette a disposizione un piccolo spazio, dove la nostra applicazione potrà effettuare un backup di file o preferenze: prima di iniziare a scrivere codice, dobbiamo quindi registrare la nostra applicazione sull’apposita pagina del portale per sviluppatori di Google, in modo da ottenere la chiave, che dovremo poi inserire nel nostro Manifest, nel tag relativo all’applicazione:

<application>
<meta-data android:name=”com.google.android.backup.api_key”
android:value=”AEdPqrEAAAAIXCOFOMfvAC8FViyU6A2NvyZPBwjp3xCxcHGdKw” />
</application>

 

A questo punto, iniziamo a creare il backup manager, che si occuperà di richiedere il salvataggio dei dati: per fare ciò, dobbiamo estendere la classeBackupAgentHelper e aggiungere al gruppo di preferenze (o al file) che vogliamo salvare un helper, che ci garantirà una richiesta di backup ogni volta che, attraverso il metodo dataChanged(), notifichiamo al servizio che abbiamo modificato i dati.

public class SimpleBackup extends BackupAgentHelper{
public void onCreate() {
SharedPreferencesBackupHelper helper = new SharedPreferencesBackupHelper(this, C.prefName);
addHelper(C.prefBackupName,helper);
}
}

Ora che il nostro backup manager è finito, dobbiamo scriverci un metodo per notificare al nostro applicativo che vogliamo effettuare una richiesta di backup:

public static final void requestBackup(Context mContext){
BackupManager b = new BackupManager(mContext);
b.dataChanged();
Toast.makeText(mContext, “Backup richiesto”, Toast.LENGTH_SHORT).show();
}

A questo punto, richiamando il metodo requestBackup() appena scritto, otterremo la nostra richiesta, ma ci manca ancora un tassello: la richiesta e il backup manager non sono ancora collegati in nessun modo e, per connetterli, dobbiamo nuovamente mettere mano al nostro file Manifest, precisamente nel tag su cui abbiamo già agito, application, inserendo il nome del nostro helper del backup:

<application
android:allowBackup=”true”

android:backupAgent=”SimpleBackup”>

Per quanto riguarda il ripristino dei nostri dati, Google dice che, normalmente, non si ha bisogno di chiamare il metodo requestRestore(), in quanto viene automaticamente chiamato dal sistema operativo al momento dell’installazione del software ma se, mentre l’utente non aveva il software installato, ci fosse stato anche solo un singolo avanzamento di versione, i dati non verrebbero ripristinati, perché il sistema dà per scontato che abbiamo apportato modifiche tali da impedire il corretto funzionamento del backup; per evitare questo comportamento, dobbiamo inserire nel nostro Manifest (nel tag application, tanto per cambiare), la dicitura:

android:restoreAnyVersion=”true”

per far sì che il servizio ignori la versione del nostro backup e lasci gestire a noi come ripristinare i dati a seconda della versione del nostro software, magari ricorrendo alle API del Package Manager, come suggerito dalla guida per gli sviluppatori.

Come di consueto, trovate i sorgenti e l’APK di prova sull’apposito thread , e buona programmazione a tutti!

Apre le porte la XDA-University

xda university

Ne avevamo parlato un paio di mesi fa, perdendo poi di vista il progetto nell’attesa di ricevere una mail che ci avvisasse della sua apertura. La nostra casella di posta sta ancora aspettando, ma a quanto pare la XDA-University ha già aperto i battenti.

Si tratta di un sito che riunisce molte informazioni diverse legate allo sviluppo Android e non solo (anche se per lo più), ma che non deve essere considerato esaustivo, nel senso che i suoi contenuti sono destinati a crescere con il passare del tempo, anche in base al feedback degli utenti.

Lo scopo è sia quello di presentare la comunità di XDA, quello che ha da offrire, e le sue “regole”, sia di educare chi, sviluppatore o semplice utente, voglia imparare qualcosa di nuovo. Non a caso il video introduttivo è completamente incentrato su XDA più che sullo sviluppo per Android.

Diciamo che ora come ora la XDA-University non ha ancora moltissimo materiale, ma è comunque un ottimo punto di partenza per iniziare a destreggiarsi con tutta la terminologia che accompagna il modding e che trovate regolarmente anche sulle nostre pagine: alla fin fine c’è sempre qualcosa da imparare.

  • Categorie

  • Pubblicità

  • Top Categorie

    • Selezione categoria
Torna all'inizio