Sviluppare su android -02 : http://www.sciax2.it/forum/java/sviluppare-android-02-a-673868.html
Oggi parleremo di come iniziare a sviluppare su android. Vediamo gli strumenti che ci servono :
Sdk Android : Per le API di android e per creare l'avd.
Android Studio: L'ide di google , ancora in versione beta ( ver attuale 0.8.14).
Una volta scaricate le varie api di android (consiglio di scaricare le API 8,14,19,20) potremmo creare il nostro primo progetto usando l'ide di google.
Apriamo android studio contenuto nella cartella : /bin/studio o /bin/studio64 (per os a 64bit).
selezionando nuovo progetto vi troverete difronte a questa schermata:
Application Name : indica il nome da assegnare alla vostra applicazione.
CompanyDomain : Nome della compagnia che produce l'app
Package : Per standard java e concetto ulteriormente rinforzato da google , il Package assume il nome della compagnia letto al contrario.
Esempio
Company name:: Sciax2.it
Package : it.Sciax2.NomeApp
Cliccando su next ci troveremo di fronte a questa schermata.
Notiamo per quale dispositivo intendiamo sviluppare , infatti possiamo sviluppare sia per Smart Watch (Wear) Tv e applicazioni per i Google Glass, al momento la piattaforma d'interesse è Tablet e smartphone. Fattore importante è anche l'sdk che utilizziamo , la scelta non deve essere dettata dal caso infatti selezionando Api di livello estremamente basso come Android Eclair, siamo limitati a funzioni basilari e soprattutto limitati nell'uso dei servizi offerti da google , ma d'altra parte la nostra applicazione può girare su tutti i dispositivi android. Quindi orientativamente selezioniamo api comprese tra 12 a 18, dato che si compensano sia il numero di dispositivi e il numero di funzionalità. In questo caso selezioniamo la v. 4.0 ,inoltre lo stesso ide ci comunica (in % , il valore è estremamente approssimato) su quanti dispositivi sarà eseguibile la nostra applicazione.
Cliccando su next ci troveremo difronte a questa schermata
Bene , l'activity per ora la definiamo come una finestra con il quale l'user può interagire. Clicchiamo su next e proseguiamo.
Ci interessano principalmente i tre primi tre campi:
ActivityName: Nome della classe Java (che rappresenta la prima finestra)
LayoutName : File Xml che si occuperà della grafica e dell'aspetto della finestra
Title : Il titolo dell'applicazione che assumerà nel task android e sul menu.
Fatto ciò clicchiamo su Finish.
Analisi dei file creati
Notiamo che senza aver scritto nemmeno una riga di codice sono usciti fuori moltissimi file. Iniziamo da Grandle Script , quest'ultimi si occupano della compilazione e generazione del file .apk in genere non devono subire alcuna modifica dal programmatore.
Il file:
local.properties= contiene specificato esplicitamente il percorso del sdk.
Settings.gradle = contiene impostazioni riguardo al progetto
build.gradle = ci sono varie informazioni relative all'applicazione
all'interno di android vengono definite con quale sdk verrà compilato, in default config è definito l'id , importante se viene pubblicata sul play store in quanto tale valore deve essere univoco , viene anche specificata la versione minima per l'utilizzo di questa applicazione e per quali dispositivi è ottimizzata, sono presenti anche altre informazioni come versione e nome della versione.
Un altro fattore importante è BuildTypes dove viene specificato se usare Proguard di standard è false , quest'ultimo è un offuscatore del codice onde evitare decompilazioni da parte di mal'intenzionati. Per approfondire sull'argomento
Infine ci sono le dipendenze , viene specificata la directory dove sono presenti e vengono inclusi tutti i file jar presenti in /lib, è presente anche un'altro Build.gradle ma è relativo esclusivamente a dettagli sul applicazione.
Passiamo invece ad analizzare il contenuto della directory .idea ,ci sono due sottocartelle Copyright e scopes che per il momento non tratteremo concentriamo sui file xml.
.name = contiene il nome dell'applicazione
compiler.xml = Opzioni riguardo al compilatore e al tipo di risorse usate
encodings.xml= Parametri relativi alla codifica di testo usata. Standard Utf 8
misc.xml= File relativi al jdk usato e viene specificata anche la directory di output
sugli altri file non mi soffermo dato che sono specifiche dell'ide.
Ora concentriamoci sui file di maggiore interesse app/build/main ci sono due directory res e java.
Res : risorse relative al layout dell'applicazione qui ci sono tutti i file relativi all'aspetto grafico
java : Classi Java.
In questa prima parte ci dedicheremo "principalmente" alla struttura grafica iniziamo analizzando AndroidManifest.xml
iniziamo vedendo la sintassi xml
@tipo risorsa/nomefile
bene a questo punto uno si chiede ma le risorse di tipo drawable dove le posso vedere ? nella directory drawable.
Ci sono anche altri tipi di risorse ma le vedremo piano piano.
Vediamo le risorse di tipo drawable notiamo 4 directory.
drawable-hdpi
drawable-mdpi
drawable-xhdpi
drawable-xxhdpi
contiene tutte risorse di tipo grafiche di standard ci sta l'icona.
quel hdpi mdpi etc... indica un qualificatore, che non è altro un identificativo caratteristico del dispositivo, in questo caso si riferisce alla densità per pixel , sono un unità di misura per valutare un tipo di display, l'acronimo h indica high , m medium etc. Uno dei punti di forza dello sviluppo android è rappresentato sicuramente dal fatto che la risoluzione dei problemi relativi ai formati dell'immagini non vanno trattati da codice java ma si possono risolvere mediante dei qualificatori. Per esempio un schermo a bassa risoluzione creiamo risorse(di tipo drawable) a bassa risoluzione senza occupare la stessa memoria di un dispositivo ad alta o altissima risoluzione.
Occupiamoci delle altre risorse : string,dimen,style. Contenuti nei corrispettivi file xml strings,dimens,styles nella cartella values, quando siamo in assenza di qualificatori vuol dire che questi sono i valori predefiniti.
In questa guida ci soffermeremo esclusivamente sulle risorse di tipo string , in quanto creeremo un app che si occupa di visualizzare in italiano o inglese la scritta hello world in base alla lingua impostata e modificare l'icona dell'app sempre in base alla lingua, il tutto sfruttando i qualificatori.
Per vedere l'anteprima dello smatphone o tablet e vedere l'output grafico senza eseguire nulla basta andare in layout/Nome_file.xml (nel nostro caso abbiamo impostato activity_main.xml)
Questa sarà quello che vedremo
notiamo in alto a destra i componenti inseriti e in basso le proprietà che si possono settare sia da codice xml o dal menù delle proprietà.Sulla sinistra invece i vari Layout e i widget che possiamo aggiungere sulla nostra activity semplicemente trascinando. Nel nostro caso è presente una textview. che presenta le seguenti caratteristiche
android:text ha specificato una risorsa di tipo string di nome hello world ... quindi deduciamo che si trova in values/strings.xml
Contenuto di strings.xml
Notiamo che c'è una risorsa identificata dal nome hello_world che contiene il testo Hello world!. Quindi eseguendo l'activity nell'attuale stato uscirebbe scritto Hello world!
Quindi per ottenere la scritta ciao mondo ,nel caso fosse stata selezionata la lingua italiana basta creare una cartella di risorse di tipo values-it contenente strings.xml. Quel trattino -it è un qualificatore che android riconosce e quindi fa automaticamente riferimento alle risorse di strings.xml della cartella values-it.
notiamo che android studio aggiunge automaticamente alla risorsa un identificativo visivo(la bandiera italiana).
Il contenuto di strings è il seguente:
Ora non ci rimane che lavorare con l'icona, risorsa di tipo drawable.Dato che l'applicazione è solo a puro scopo dimostrativo non teniamo conto delle qualità dei display e usiamo solo il qualificatore per identificare la lingua.
Nell' AndroidManifest , modifichiamo android:icon=@drawable/flag
Ultimo passo è testare l'applicazione con un emulatore android
Ed ecco i risultati:
Lingua Inglese - Menù
Esecuzione applicazione
Lingua Italiana Menù
Esecuzione applicazione
I qualificatori sono molti , per approfondire su di essi :
Oggi parleremo di come iniziare a sviluppare su android. Vediamo gli strumenti che ci servono :
Sdk Android : Per le API di android e per creare l'avd.
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Android Studio: L'ide di google , ancora in versione beta ( ver attuale 0.8.14).
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Una volta scaricate le varie api di android (consiglio di scaricare le API 8,14,19,20) potremmo creare il nostro primo progetto usando l'ide di google.
Apriamo android studio contenuto nella cartella : /bin/studio o /bin/studio64 (per os a 64bit).
selezionando nuovo progetto vi troverete difronte a questa schermata:
Application Name : indica il nome da assegnare alla vostra applicazione.
CompanyDomain : Nome della compagnia che produce l'app
Package : Per standard java e concetto ulteriormente rinforzato da google , il Package assume il nome della compagnia letto al contrario.
Esempio
Company name:: Sciax2.it
Package : it.Sciax2.NomeApp
Cliccando su next ci troveremo di fronte a questa schermata.
Notiamo per quale dispositivo intendiamo sviluppare , infatti possiamo sviluppare sia per Smart Watch (Wear) Tv e applicazioni per i Google Glass, al momento la piattaforma d'interesse è Tablet e smartphone. Fattore importante è anche l'sdk che utilizziamo , la scelta non deve essere dettata dal caso infatti selezionando Api di livello estremamente basso come Android Eclair, siamo limitati a funzioni basilari e soprattutto limitati nell'uso dei servizi offerti da google , ma d'altra parte la nostra applicazione può girare su tutti i dispositivi android. Quindi orientativamente selezioniamo api comprese tra 12 a 18, dato che si compensano sia il numero di dispositivi e il numero di funzionalità. In questo caso selezioniamo la v. 4.0 ,inoltre lo stesso ide ci comunica (in % , il valore è estremamente approssimato) su quanti dispositivi sarà eseguibile la nostra applicazione.
Cliccando su next ci troveremo difronte a questa schermata
Bene , l'activity per ora la definiamo come una finestra con il quale l'user può interagire. Clicchiamo su next e proseguiamo.
Ci interessano principalmente i tre primi tre campi:
ActivityName: Nome della classe Java (che rappresenta la prima finestra)
LayoutName : File Xml che si occuperà della grafica e dell'aspetto della finestra
Title : Il titolo dell'applicazione che assumerà nel task android e sul menu.
Fatto ciò clicchiamo su Finish.
Analisi dei file creati
Notiamo che senza aver scritto nemmeno una riga di codice sono usciti fuori moltissimi file. Iniziamo da Grandle Script , quest'ultimi si occupano della compilazione e generazione del file .apk in genere non devono subire alcuna modifica dal programmatore.
Il file:
local.properties= contiene specificato esplicitamente il percorso del sdk.
Settings.gradle = contiene impostazioni riguardo al progetto
build.gradle = ci sono varie informazioni relative all'applicazione
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
all'interno di android vengono definite con quale sdk verrà compilato, in default config è definito l'id , importante se viene pubblicata sul play store in quanto tale valore deve essere univoco , viene anche specificata la versione minima per l'utilizzo di questa applicazione e per quali dispositivi è ottimizzata, sono presenti anche altre informazioni come versione e nome della versione.
Un altro fattore importante è BuildTypes dove viene specificato se usare Proguard di standard è false , quest'ultimo è un offuscatore del codice onde evitare decompilazioni da parte di mal'intenzionati. Per approfondire sull'argomento
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
.Infine ci sono le dipendenze , viene specificata la directory dove sono presenti e vengono inclusi tutti i file jar presenti in /lib, è presente anche un'altro Build.gradle ma è relativo esclusivamente a dettagli sul applicazione.
Passiamo invece ad analizzare il contenuto della directory .idea ,ci sono due sottocartelle Copyright e scopes che per il momento non tratteremo concentriamo sui file xml.
.name = contiene il nome dell'applicazione
compiler.xml = Opzioni riguardo al compilatore e al tipo di risorse usate
encodings.xml= Parametri relativi alla codifica di testo usata. Standard Utf 8
misc.xml= File relativi al jdk usato e viene specificata anche la directory di output
sugli altri file non mi soffermo dato che sono specifiche dell'ide.
Ora concentriamoci sui file di maggiore interesse app/build/main ci sono due directory res e java.
Res : risorse relative al layout dell'applicazione qui ci sono tutti i file relativi all'aspetto grafico
java : Classi Java.
In questa prima parte ci dedicheremo "principalmente" alla struttura grafica iniziamo analizzando AndroidManifest.xml
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
iniziamo vedendo la sintassi xml
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
@tipo risorsa/nomefile
bene a questo punto uno si chiede ma le risorse di tipo drawable dove le posso vedere ? nella directory drawable.
Ci sono anche altri tipi di risorse ma le vedremo piano piano.
Vediamo le risorse di tipo drawable notiamo 4 directory.
drawable-hdpi
drawable-mdpi
drawable-xhdpi
drawable-xxhdpi
contiene tutte risorse di tipo grafiche di standard ci sta l'icona.
quel hdpi mdpi etc... indica un qualificatore, che non è altro un identificativo caratteristico del dispositivo, in questo caso si riferisce alla densità per pixel , sono un unità di misura per valutare un tipo di display, l'acronimo h indica high , m medium etc. Uno dei punti di forza dello sviluppo android è rappresentato sicuramente dal fatto che la risoluzione dei problemi relativi ai formati dell'immagini non vanno trattati da codice java ma si possono risolvere mediante dei qualificatori. Per esempio un schermo a bassa risoluzione creiamo risorse(di tipo drawable) a bassa risoluzione senza occupare la stessa memoria di un dispositivo ad alta o altissima risoluzione.
Occupiamoci delle altre risorse : string,dimen,style. Contenuti nei corrispettivi file xml strings,dimens,styles nella cartella values, quando siamo in assenza di qualificatori vuol dire che questi sono i valori predefiniti.
In questa guida ci soffermeremo esclusivamente sulle risorse di tipo string , in quanto creeremo un app che si occupa di visualizzare in italiano o inglese la scritta hello world in base alla lingua impostata e modificare l'icona dell'app sempre in base alla lingua, il tutto sfruttando i qualificatori.
Per vedere l'anteprima dello smatphone o tablet e vedere l'output grafico senza eseguire nulla basta andare in layout/Nome_file.xml (nel nostro caso abbiamo impostato activity_main.xml)
Questa sarà quello che vedremo
notiamo in alto a destra i componenti inseriti e in basso le proprietà che si possono settare sia da codice xml o dal menù delle proprietà.Sulla sinistra invece i vari Layout e i widget che possiamo aggiungere sulla nostra activity semplicemente trascinando. Nel nostro caso è presente una textview. che presenta le seguenti caratteristiche
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
android:text ha specificato una risorsa di tipo string di nome hello world ... quindi deduciamo che si trova in values/strings.xml
Contenuto di strings.xml
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Quindi per ottenere la scritta ciao mondo ,nel caso fosse stata selezionata la lingua italiana basta creare una cartella di risorse di tipo values-it contenente strings.xml. Quel trattino -it è un qualificatore che android riconosce e quindi fa automaticamente riferimento alle risorse di strings.xml della cartella values-it.
notiamo che android studio aggiunge automaticamente alla risorsa un identificativo visivo(la bandiera italiana).
Il contenuto di strings è il seguente:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ora non ci rimane che lavorare con l'icona, risorsa di tipo drawable.Dato che l'applicazione è solo a puro scopo dimostrativo non teniamo conto delle qualità dei display e usiamo solo il qualificatore per identificare la lingua.
Nell' AndroidManifest , modifichiamo android:icon=@drawable/flag
Ultimo passo è testare l'applicazione con un emulatore android
Ed ecco i risultati:
Lingua Inglese - Menù
Esecuzione applicazione
Lingua Italiana Menù
Esecuzione applicazione
I qualificatori sono molti , per approfondire su di essi :
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Ultima modifica: