DevCorner620

DevCorner: lo Storage Access Framework di Android 4.4

Giuseppe Tripodi -

Come certamente saprete, le novità per gli sviluppatori introdotte con  KitKat sono diverse e, dopo aver visto come effettuare una stampa direttamente dal nostro dispositivo, torniamo anche questa settimana con una funzionalità di questo nuovo Android 4.4: lo Storage Access Framework.

Sicuramente ricorderete tutti la vecchia schermata per selezionare un documento, che aveva il seguente aspetto

Android 4.3 selezioneIl tutto ha ricevuto una bella svecchiata ed è stato sostituito dallo Storage Access Framework, che ci consente di prelevare un file non solo dal nostro dispositivo (Download inclusi) ma anche da vari servizi di cloud storage quali Google Drive e Box, il tutto tramite un comodo slider menu.

Per avviare questa nuova selezione dei file è sufficiente lanciare un semplicissimo intent all’ACTION_OPEN_DOCUMENT, come nel codice di seguito:

	public void performFileSearch() {

	    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
	    intent.addCategory(Intent.CATEGORY_OPENABLE);
	    intent.setType("image/*");
	    startActivityForResult(intent, READ_REQUEST_CODE);
	}

Android 4.4 selezione

Una volta ricevuto il file di risposta, sarà necessario gestirlo tramite un OnActivityResult, nel quale specificheremo cosa fare con l’immagine (in questo caso) ricevuta:

@Override
	public void onActivityResult(int requestCode, int resultCode,
	        Intent resultData) {
	    if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
	        if (resultData != null) {
	        	Log.e("Do something", "Codice di risposta ricevuto");
	        }
	    }
	}

Per completare la nostra prova abbiamo eseguito un semplicissimo Log di una stringa, ma ovviamente è possibile effettuare qualsiasi operazione con il file ricevuto.

Per questa semplice guida è tutto: abbiamo voluto gettare qualche base per la programmazione con Android KitKat, se avete ulteriori dubbi potete seguire il video di YouTube linkato di seguito, consultare la documentazione ufficiale nonché, ovviamente, chiedere sul nostro forum.

Via: DevCorner
video