Created on 07 Feb 2020 ;    Modified on 18 Feb 2020

Provare una app Android su smartphone

Ho fatto un primo (traballante) passo nello sviluppo di app per Android. Ogni attività elementare è una scoperta. Fino a far girare l'applicazione su un dispositivo hardware ...

Andiamo per gradi.

Premessa

Il primo quesito è: con cosa sviluppo? La risposta, quasi obbigatoria, si chiama Android Studio. Che puoi scaricare liberamente da questo link.

Esistono altri ambienti di sviluppo, ma questa IDE è l'unica attualmente supportata da Google.

In questo articolo non mi addentro nei meandri dell'installazione e dello sviluppo di una app. Esistono tonnellate di documentazione a questo riguardo (quasi tutte in inglese ...). A cominciare da qui.

La seconda domanda è: quale linguaggio uso? La risposta di Google poco tempo fa era: Java. Sia pure in versione modificata per girare su una java virtual machine (JVM) di Google e non quella standard di Oracle [1].

Oggi (anno domini 2020), la risposta all'uso del linguaggio è diventata: Kotlin. Una evoluzione di Java, sviluppata da Google, che oltre a girare in JVM può essere compilata direttamente in codice nativo del processore target.

Però, essendo alle prime armi, ho deciso di non mettere troppa carne al fuoco. Per me è già un problema l'utilizzo di Java [2]. Figuriamoci l'uso di Kotlin. Quindi personalmente mi sono attenuto al vecchio ordine di scuderia: se Java dev'essere, ... che Java sia.

Terza domanda. Sviluppata una (banale) app. E provata l'app su una macchina virtuale messa a disposizione da Android Studio, come faccio a provarla su un vero smartphone?.

La risposta a questa domanda è lo scopo di questo articolo. Quindi, veniamo al dunque.

Come provo la mia app giocattolo su un vero smartphone?

Avrò necessità di:

  • il PC di sviluppo, su cui gira Android Studio;
  • un cavo USB per collegare il PC allo smartphone di test;
  • lo smartphone di test predetto.

Cominciamo con il primo aspetto. Assolutamente da non trascurare. Il cavo USB deve assicurare tutti i contatti!

Ho passato non poco tempo ad arrovellarmi per cercare di capire il motivo per cui il PC non vedeva lo smartphone. Per comprendere, alla fine, che il problema era proprio il cavo di collegamento USB. In commercio esistono molti cavi che assicurano la ricarica del device, ma non il trasferimento dei dati.

Se si usa un cavo USB corretto, quando si connette lo smartphone al PC Windows, quest'ultimo sarà in grado di visualizzare in Esplora Risorse il nome dello smartphone collegato.

Seconda considerazione. Lo smartphone deve avere attive le opzioni sviluppatori.

Queste si visualizzano selezionando sette volte [3] la voce impostazioni/informazioni sul tablet/numero modello. Nel device che ho utilizzato [4] stiamo parlando della voce indicata nella seguente figura:

impostazioni per la visualizzazione delle opzioni sviluppatore

Quindi, nelle impostazioni, verifichiamo siano attive le opzioni sviluppatore, come indicato qui sotto.

le opzioni sviluppatore: 1 di 2

Infine, sempre nelle opzioni sviluppatore, se vogliamo usare il debugger, lo dobbiamo attivare, come indicato qui di seguito.

le opzioni sviluppatore: 2 di 2

Ora lo smartphone (o, come in questo caso, il tablet) è pronto per ricevere la app. Passiamo al PC di sviluppo.

In Android studio usiamo la toolbar per:

  • selezionare la app da far girare:
selezionare il device fisico da utilizzare

.

  • selezionare il device da utilizzare per far girare l'app:
selezionare la app da avviare

.

  • infine avviare l'app:
selezionare avviare l'app

.

L'ultima azione provoca l'installazione, tramite il cavo USB, dell'app nel device fisico di test e il suo avvio.

Un'ultima nota. Il fatto che il nostro giocattolo sia in grado di girare nello smartphone di test non significa che sia pronta per essere rilasciata definitivamente. Per fare in modo che sia installabile senza il supporto di Android studio sarà necessario compilarla con il formato APK. Questo è un archivio che contiene, oltre il codice dell'app, tutte le risorse necessarie per farla girare: icone, stringhe, immagini, musica, ...


[1]Il motivo ufficiale di questa scelta è stato: "la java virtual machine standard è troppo impegnativa per i piccoli processori utilizzati negli smartphone". E può darsi che un nucleo di verità in questa affermazione vi sia. Ma la maggior parte della verità consiste nella necessità di Google di rendersi indipendente da Oracle.
[2]Preferisco Python e C language. Nell'ordine indicato.
[3]Non scherzo: sette volte. Parola di Google.
[4]Un tablet Huawei BTV-D09.