Visualizzazione post con etichetta configurazione. Mostra tutti i post
Visualizzazione post con etichetta configurazione. Mostra tutti i post

Android Virtual Devices: cambiare il percorso di destinazione

Quando ho installato Windows 7 sul mio PC ho deciso di creare due partizioni, una per il sistema operativo ed una per i dati.
Purtroppo ho dedicato troppo poco spazio alla partizione di sistema, per cui spesso mi ritrovo a dover spostare file voluminosi tra le due partizioni.

I file che contengono gli AVD sono decisamente "pesanti" (nell'ordine di qualche giga), quindi ho provato a vedere se c'era un modo per trasferirli.

Ed è effettivamente possibile!

Nota: per effettuare lo spostamento, Android Studio dev'essere chiuso.

Procedura

Per prima cosa, bisogna individuare la directory in cui i file sono salvati. Il percorso di default è:

C:\Users\[nomeutente]\.android

Create una directory da qualche parte e spostateci dentro la directory .android.

Poi basta impostare una variabile d'ambiente.

Start Menu
Control Panel
System
Advanced System Settings (nel menu a sinistra)
Environment Variables

A questo punto inserite una nuova variabile utente:
nome variabile: ANDROID_SDK_HOME
valore: la directory di destinazione (escluso il .android)

A questo punto potete salvare ed aprire Android Studio. Ora il sistema caricherà i Virtual Device dalla nuova directory!

Salvare login e password sul dispositivo: SharedPreferences

Nel creare un'app "privata" appoggiata ad un web service online, ho dovuto scontrarmi con la gestione dell'autenticazione.

Una volta ottenuto il riconoscimento, ho deciso che l'app avrebbe dovuto salvare i dati (email e password) per poi presentarli alla successiva richiesta.

Gestione di dati

Android mette a disposizione un sistema per salvare ed utilizzare dati di configurazione all'interno dell'app: lo SharedPreference.

L'oggetto in questione punta ad un file contenente combinazioni chiave-valore e fornisce metodi per la lettura e la scrittura degli stessi. Questi file, gestiti dal framework, possono essere marcati come privati o come condivisi.

Tipologie di dati

Gli oggetti che possono essere salvati e recuperati dallo SharedPreference possono essere di vario tipo:
  • boolean
  • float
  • int
  • long
  • string

Dati immutabili

E' importante capire che gli oggetti ritornati dalle varie funzioni get devono essere trattati come immutabili dall'applicazione.

Creazione di uno SharedPreference

La creazione è abbastanza semplice: si richiama il metodo getSharedPreferences, a cui viene passato il nome del file da leggere e la modalità di operazione.

Questo è il codice:

1
SharedPreferences sp = getSharedPreferences("Login", MODE_PRIVATE);

Modalità di operazione

Queste sono le modalità operative legate agli SharedPreference:
  • MODE_PRIVATE
  • MODE_WORLD_READABLE
  • MODE_WORLD_WRITEABLE
  • MODE_MULTI_PROCESS
Da notare che gli ultimi tre sono stati dichiarati "deprecated", quindi l'unica opzione valida è la modalità "privata".

Salvare nuovi valori o aggiornare i valori presenti

Per mantenere la consistenza dei dati, è necessario utilizzare un editor. Una volta creato l'oggetto, bisogna quindi generare un SharedPreferences.Editor:

1
SharedPreferences.Editor spEd = sp.edit();

A questo punto si può inserire un nuovo valore (o aggiornare un valore già presente) con una delle funzioni put presenti.

Un esempio:

1
2
spEd.putString("email", field_email);
spEd.putString("password", field_password);

Il primo campo indica la chiave per il successivo recupero, il secondo campo invece è il contenuto da salvare / aggiornare.

Per eliminare un valore presente, invece, si richiama la funzione remove:

1
spEd.remove("email");

Applicare le modifiche

Una volta inseriti i nuovi valori o aggiornati quelli presenti, è necessario eseguire un commit per confermare le modifiche:

1
spEd.commit();

Lettura dei valori presenti

La lettura dei valori già salvati è anche più semplice, dato che non occorre generare un editor:

1
2
3
SharedPreferences spGet = this.getSharedPreferences("Login", MODE_PRIVATE);
String mail_recuperata = spGet.getString("email", null);
String pass_recuperata = spGet.getString("password", null);

Il secondo parametro passato a getString è il valore di default restituito nel caso in cui la voce non fosse presente nello SharedPreference.

Generare un colore randomico di tonalità "pastello"

Questo script restituisce il codice di un colore generato a caso nelle tonalità pastello. La generazione viene definita attraverso le 3 ca...