Tips & Tricks: come realizzare grandi app

by Giuseppe Lanzi on 5 novembre 2013

Uno dei cambiamenti più evidenti che i dispositivi mobile hanno portato nella vita di tutti i giorni riguarda i servizi multimediali. Sono molte le app nate appositamente per la distribuzione di contenuti audio/video: l’audio guida del Louvre e la vita e le opere di Picasso in HD sono solo due degli esempi possibili. Oggi voglio parlare con voi dell’elemento che accomuna queste due app: la necessità di trasferire sul dispositivo file di grosse dimensioni, per poterli mostrare all’utente anche in assenza di rete. Ma come fare per ottenere questo risultato con Instant Developer?

La prima strada percorribile è quella di aggiungere al filelist.txt l’elenco dei file da copiare sul device, per fare in modo che vengano trasferiti automaticamente durante la normale installazione. È una soluzione semplice ma che può risultare scomoda per l’utente se le dimensioni del pacchetto di installazione crescono troppo, ad esempio l’app su Picasso è grande 427MB. E se le dimensioni complessive dei contenuti arrivassero a diversi GB? È chiaro che ci vuole un metodo alternativo.

La soluzione al problema è quella adottata dal Louvre: gestire via codice il download dei contenuti, integrando nell’app una vera e propria videata di installazione da mostrare all’utente fino a che non è stato scaricato tutto l’indispensabile. Ho scritto un progetto di esempio su come avere questo comportamento con Instant Developer, in particolare ho:

  • aggiunto alla cartella custom il file di testo list.txt, contenente l’elenco degli url a cui sono reperibili i contenuti da installare;
  • creato una videata di installazione da mostrare all’utente fino a che l’applicazione non ha scaricato tutti i file indispensabili;
  • gestito l’eventuale download successivo di contenuti non indispensabili;
  • permesso all’utente di cancellare quello che non vuole più, per risparmiare spazio.

I principali vantaggi di questo metodo sono tre: è possibile parzializzare l’installazione scaricando solo i contenuti desiderati dall’utente, è possibile utilizzare l’app anche durante il download utilizzando la modalità asincrona e non è necessario aggiornare il pacchetto di installazione dell’app quando si rilasciano nuovi contenuti.

Realizzare app di grandi dimensioni non sarà mai più un problema.

Leave a Comment

Previous post:

Next post: