Android Archivi - BTF Traduzioni SEO Sviluppo Web
Come programmare davvero in Android: gli strumenti
come programmare app android da zero

Come programmare in Android: perché Android ?

Il sistema operativo Android negli anni ha avuto un’ampia diffusione. E non soltanto su smartphone o tablet. Ha avuto la più veloce diffusione per un sistema operativo mobile. Ma quale sono le motivazioni per la sua diffusione ?

Le ragioni sono molteplici ma quella più evidente è che Android è figlio di Linux. Quindi appartiene al mondo open source. Essendo open souirce ha attirato l’interesse di molti sviluppatori. Che per molti anni hanno riversato il oro impegno nel software libero.

Inoltre, questo sistema operativo abbraccia tutto quello che è stato sviluppato per il supporto allo sviluppo web, desktop e mobile. Sia nello sviluppo di pattern progettuali e di librerie software.

Ma non è sufficiente dire che esperti del settore hanno decretato il successo di Android. Questo non sarebbe stato possibile se non ci fosse stato stato un ampio riscontro dal pubblico. Per di più, Android è stato installato su diversi device mobili e con fascia di prezzo di versa. Questo ne ha consentito un grande diffusione differenziata trasversalmente nelle diverse categorie sociali. Questa nuova organizzazione ha obbligato gli sviluppatori a curare in modo particolare ogni aspetto di adattamento alle caratteristiche dei diversi dispositivi mobili nel creare applicazioni Android sempre più performanti.

SDK e l’ambiente di sviluppo

Per poter programmare con Android è necessario avere ha portata di mano tutti gli strumenti di sviluppo di questo linguaggio di programmazione. Essi si trovano con molta facilità online e sono gratuiti. Ecco gli strumenti necessari per sviluppare la tua prima applicazione Android:

  • JDK (Java Development Kit): è l’ambiente di sviluppo per la programmazione in Java. Esso è necessario per la programmazione delle App. Lo puoi scaricare dal sito della Oracle.
  • IDE (ambiente di sviluppo integrato): in questoambiente sono presenti gli strumenti necessari per il programmatore. Per la programmazione Android puoi usare Eclipse o Android Studio; entrambe queste soluzioni sono valide.

Ma non possiamo sviluppare in Android se non abbiamo l’Android SDK. Questo è il pacchetto che consente di vedere realizzati tutti in nostri programmi Android. Esso viene scaricato attraverso il download di Eclipse o Android Studio. E’ necessario un componente aggiuntivo per programmare in Android ?

Sul computer deve essere installato l’ambiente di sviluppo JDK di Java. Adesso passiamo in rassegna gli strumenti di sviluppo nativi e non nativi. In modo da farti capire le diverse metodologie di sviliuppo.

Come installare Eclipse

Eclipse è un strumento gratis e consente di configurare il tool con varie estensioni. Questo rende Eclipse uno stru,mento molto flessibile per gli svariati usi nella programmazione.Infatti, è posisible adoperare Eclipse anche per altri linguaggi di programmazione come:

  • C/C++,
  • Java,
  • PHP,
  • ed altri.

Per la programmazione Android installare il plugin chiamato strong-ADT (Android Development Tools). Come si installa Eclipse per Android ?

È sufficiente seguire questi passaggi:

  1. Scarica Eclipse: per usare questo strumento per la programmazione Android è necessario usare la versione di Eclipse pari o superiore alla 3.7.2 (chiamata Indigo); in questa versione per Java Developer andrà più che bene. Verifica sempre che l’IDE ha già installato il plugin ADT. Mentre nelle versione successive il controllo è superfluo dato che il plugin ADT è già installato.
  2. Installazione del plugin ADT: se il plugin non è presente ti fornisco i passaggi per installarlo. Eclipse viene fornito in versione stand-alone. Questo significa che non è necessario installarlo ma il pacchetto deve essere decompresso ed poi eseguito. Quando Eclipse è stato avviato per installare il plugin ADT seleziona la voce Install New Sofwtare dal menù Help. Il software apre una finestra in cui si trova il pulsante ADD (aggiungi). Grazie a questo pulsante è possibile fornire ad Eclipse l’indirizzo url per poter scarica il plugin ADT. Dopo la connessione al database di Eclipse nella finestra appare la scritta Available Software (software disponibile) in cui apparire il componente richiesto Developer Tools. Adesso è necessario spuntare la checkbox relativa all’estensione da in stallare. Fatto questo per proseguire l’installazione si preme il pulsante Next (successivamente) per scaricare il componente. Finito il download devi accettare la licenza per poter usare il plugin.
  3. Download dell’Android SDK: il plugin che è stato installato in precedenza consente di avere disponibili tutte le voci di menù relative allo sviluppo in ambiente Android all’interno di Eclipse.
  4. Collegare IDE con Android SDK: scaricato il pacchetto dell’ambiente Android deve essere scompattato nel nostro file system. Ad esempio può essere scompattato nella direttory di Eclipse. Comunque, nello scompattamento deve essere sempre indicato il path (percorso) della cartella nelle Preferences di Eclipse. Come è possibile indicare la preferenza ? Seleziona da Eclipse la voce di menù Window Preferences. Mentre nella sezione Android dell’interfaccia che viene mostrata inserire il path del Android SDK nella casella di testo SDK Location.

Android Studio

Andiamo più in profondità nella spiegazione dell’ambiente Android SDK. Come ho già detto è già installato in Android Studio o in Eclipse è importante sottolineare che questo strumento è composto da molti tool, programmi, emulatori (si può creare anche un’emulatone personalizzato), piattaforme per ogni versione Android e tanto altro.

La sua struttura non è immutabile e viene sempre gestita attraverso il programma Android SDK Manager. Ed è avviabile da Eclipse e da Android Studio. Questo Manager permette al programmatore di scegliere le piattaforme e gli strumenti presenti nel SDK più adatti per il progetto in fase di sviluppo.

E tutto questo con un paio di download e qualche clic per installare e scompattare il pacchetto. Tutto ciò indipendentemente dal sistema operativo Windows, Mac, distro Linux. Per di più l’ambiente di sviluppo Android non ha bisogno di molte operazione per essere subito operativo e allo sviluppo della prima app.

Android SDK

Andiamo più in profondità nella spiegazione dell’ambiente Android SDK. Come ho già detto è già installato in Android Studio o in Eclipse è importante sottolineare che questo strumento è composto da molti tool, programmi, emulatori (si può creare anche un’emulatone personalizzato), piattaforme per ogni versione Android e tanto altro.

La sua struttura non è immutabile e viene sempre gestita attraverso il programma Android SDK Manager. Ed è avviabile da Eclipse e da Android Studio. Questo Manager permette al programmatore di scegliere le piattaforme e gli strumenti presenti nel SDK più adatti per il progetto in fase di sviluppo.

E tutto questo con un paio di download e qualche clic per installare e scompattare il pacchetto. Tutto ciò indipendentemente dal sistema operativo Windows, Mac, distro Linux. Per di più l’ambiente di sviluppo Android non ha bisogno di molte operazione per essere subito operativo e allo sviluppo della prima app.

Alternative allo sviluppo nativo

La programmazione Android è semplificata grazie a questi due aspetti:

  1. strumenti gratuiti,
  2. e creazione dell’ambiente di lavoro con pochi clic.

Di solito, chi si appresta a programmare con un nuovo linguaggio di programmazione si scoraggia facilmente. Naturalmente è necessario avere le competenze di base per poter approcciare un progetto di programmazione seppur minimo. Questo è ancor più vero nel linguaggio di Android in cui è necessario avere delle competenze ben radicate del linguaggio di programmazione Java.

Infatti, con il linguaggio Java programmiamo le pagine dell’applicazione. Mentre con il markup xml programmiamo la parte grafica della pagine delle applicazioni. Questo ci porta ad una conclusione semplice.

Per poter usufruire di tutte le potenzialità del framework è necessario essere degli ottimi programmatori. Infatti, questo è l’unico modo per essere consapevoli delle problematiche della programmazione e come risolverle in tempi celeri.

Questo molto spesso può scoraggiare i neofiti all’approccio con la programmazione Android nativa. Ma questo non significa che si deve rinunciare a produrre la propria App con Android.

Ci sono altre metodologia per creare app Android validi attraverso lo sviluppo non nativo. Questo tipo di metodologia ha un approccio più visuale e ancora più familiare per coloro che provengono dal mondo del web deisign. Questa è la lista degli strumenti per lo sviluppo non nativo:

  • Apache Cordova e Steroids provengono dal know-how nello sviluppo per Internet. I fogli di stile, il cosidetto CSS hanno permesso di rendere le applicazioni web eleganti e gradevoli agli occhi. Cosa che prima non poteva accadere con il puro HTML. Inoltre, il Javascript ha dato movimento e l’HTML5 ha rivoluzionato tutto il mondo web. Grazie a tutte queste funzionalità perché non riproporre il tutto anche in chiave mobile. Cordova è la versione open source del progetto PhoneGap. Ed ha come obbiettivo di sviluppare le cosiddette app ibride con un interfaccia sviluppata in modalità web. Queste applicazioni sono in grado di interfacciarsi con il sistema operativo mobile grazie a numerose API. Steroids è stato pensato per superare alcuni limiti individuati in PhoneGap. Ma non c’è stato bisogno di reinventare la ruota. Infatti, si fonda su Cordova. Ma è stato approfondito il legame con lo strato nativo.
  • Corona SDK è un’ambiente pensato per gestire le interazioni come per esempio i videogiochi. È stato sviluppato dai Corona Labs è non ha bisogno di nessuna conoscenza del linguaggio Java. Inoltre, propone come alternativa lo scripting in Lua. Lua è un formalismo con un approccio molto semplice. E consente di personalizzare ancora di puniù le proprie applicazione;
  • Unity è il più conosciuto motore per videogiochi di tutto il mondo. Questo primato è ampiamente meritato perché combina un editor visuale di altissimo livello è la programmazione ad oggetti avanzate come il C#. per di più gestisce tutti gli altri aspetti fondamentali per i videogiochi come grafica, animazione e fisica;
  • App Inventor è di sicuro lo strumento più adatto per coloro che sono degli appassionati di tecnologia amatoriali. Anche per coloro che sono praticamente a digiuno di programmazione possono ottenere dei risultati in breve tempo. È stato sviluppato dai Google Labs come strumento per una veloce modellazione di App Android. E solo successivamente è stato dato al M.I.T. (Mechanical Institute of Technology). Le sue caratteristiche principali sono di essere molto semplice da usare e con un interfaccia molto intuitiva.

Adesso sorge una domanda. E’ meglio la programmazione nativa o non nativa. Posso dire per certo che entrambe le due tecnologie hanno i loro pro e contro.

Il processo di sviluppo nativo offre la possibilità di gestire totalmente il dispositivo senza la preoccupazione di trovare dei limiti. Ma dall’altro lato richiede una programmazione molto professionale. E si focalizza solo su una piattaforma di programmazione impedendo la portabilità sui altri mercati del mobile.

Lo sviluppo non nativo richiede una minore necessità di programmazione. Inoltre, è possibile creare delle applicazioni cross-platform che sono distribuibili in diversi sistemi operatvi.


    Hai bisogno di aiuto ?









    (richiesto) GDPR: Ho preso visione della Privacy Policy e do il consenso al trattamento dei dati personali.

    Desideri iscriverti alla newsletter ? (non richiesto)SI Newsletter

    btftraduzioniseoweb andrea barbieri
    BTF Traduzioni SEO Sviluppo Web
    Via Santa Caterijna ,30
    Poggibonsi, Siena, 53036 Italia
    +393296664935
    traduzione, traduttore, programmatore, blogger, realizzazione siti web, Web Marketing, lezioni private di lingua,

    Creare applicazioni Android: elementi ed funzionamento di base di un’applicazione
    creare applicaioni android

    Nel precedente articolo come programmare in Android abbiamo fatto conoscenza con gli strumenti necessari per creare App con Android. Adesso è il momento di conoscere più da vicino il funzionamento della piattaforma Android. Qualsiasi applicazione Android si divide in questi 4 componenti:

    • Activity,
    • Service,
    • Content Provider,
    • Broadcast Receveir.

    Questi elementi consentono all’applicazione di integrarsi in maniera perfetta nell’ambiente Android. Prima di spiegare questi elementi è bene sottolineare i principi che stanno alla base della programmazione Android. Questi 2 principi stanno alla base di molte scelte tecniche e progettuali fatte dai progettisti di Android.

    Ricordarli e tenerli a mente ci aiuta a comprendere l’ambiente Android. Vediamo adesso questi due concetti ispiratori:

    • salvaguardia delle risorse: Android è stato sviluppato per i sistemi embedded. Questo tipo di sistema storicamente è poche risorse di memoria. Android fin dai suoi esordi è stato molto parsimonioso con la memoria. Infatti, le applicazione Android non perdeono user experience e rimangono sempre fluide. Android è molto abile nel distruggere e ricreare parti dell’applicazione senza farlo notare agli utenti. Naturalmente sarà il programmatore a gestire questo aspetto. Fortunatamente non ci sarà bisogno di un’enorme impegno. Ma sarà necessario prendere in considerazione degli accorgimenti da applicare in maniera consapevole.
    • Sicurezza: Android è figlio di Linux, e quindi ha nel suo DNA la ricerca della stabilità. Ogni applicazione è un’utente a sé stante e vive in un processo in cui viene allocata una nuova istanza della virtual machine. Questo per evitare futuri crash delle applicazioni si propaghino in altre app del dispositivo creando cosi un’instabilità. Questo modo di “isolarsi” si riflette anche nella gestione della memoria di massa. Infatti, le applicazioni hanno un loro spazio in cui posso gestire ed elaborare i dati. Per questo motivo è assolutamente sconsigliata, per non dire vieta ogni pratica che conduca un’app ad invadere lo spazio riservata ad un’altra. Ma questo non significa che le applicazioni non possano comunicare tra di loro. Ma Android preferisce un dialogo utile tra di loro creando dei meccanismi per condividere contenuti e funzioni tra le componenti del sistema.

    Sviluppare App Android: le fondamenta

    Android è composto da 5 elementi che regolano il flusso delle informazioni e che servono al programmatore a sviluppare l’app. Vediamo:

    • Activity: è l’interfaccia utente. Ogni volta che si pare un’app per usarla di solito si creare un’interazione con una o più pagine di essa. Con le quali si consultano i dati di interesse o si immettono informazioni di input. Si deve sottolineare subito che la realizzazione dell’Activity è il punto iniziare di un qualunque corso di programmazione Android. Infatti, questo, è l’elemento in cui l’utente ha il contatto principale.
    • Service: questo componente svolge un ruolo opposto all’Activity. È un lavoro che viene svolo in background in cui non è necessari l’interazione con gli utenti. I Service hanno un’importanza fondamentale nella programmazione. Essi devono predisporre i dati che le Activity devono mostrare all’utente. Consentendo una velocità maggiore al momento della visualizzazione.
    • Content Provider: nasce con l’obbiettivo di condividere dati tra le applicazioni. Il suo scopo richiama il principio di sicurezza dell’applicazione trattato un un precedente paragrafo. I Content Provider permettono nell’ambito del sistema di suddividere contenuti custoditi in un database, su file o reperibili attraverso l’accesso ad Internet. Questi contenuti possono essere adoperati da altre applicazioni senza però, invadere lo spazio di memoria di altre applicazioni. Invocando quel dialogo “sano” che è già stato spiegato in precedenza.
    • Broadcast Receiver: è un componente che reagisce all’invio di messaggio al livello di sistema. Questa reazione viene chiamata tecnicamente broadcast. Tramite il broadcast Android notifica un determinato evento come per esempi l’arrivo di un SMS, di un chiamata oppure sollecita l’esecuzione di azione. Questi componente sono estremamente utili per gestire in modo istantaneo eventi di circostanze speciali.
    • Intent: è bene ricordare che una componente può attivarne altri grazie ad apposite invocazioni di sistema. Questo processo è un’intenzione e viene codificata attraverso l’Intent. L’Intent è usabile come un normale classe Java. Inoltre, è un potente strumento .

    Creare un App Android: Ciclo di vita

    Il parametro fondamentale per la sopravvivenza di un sistema mobile è la corretta gestione delle risorse. Il sistema Android conosce bene questo parametro. Basti pensare al funzionamento di uno smartphone. Questo dispositivo si occupa di gestire diverse funzioni, come le chiamate, gli sms, la gestione di pagine web, la gestione dei socil e per molte ore al giorno. Per di più, alcuni non lo spengono. Bloccando in questo modo un processo che è comune nella vita di qualunque PC. Infatti, lo spegnimento ed il conseguente arresto del sistema libera la memoria e pulisce le risorse temporaneamente assegnate alle applicazioni. Ma qual’è il comportamento di Android ?

    Android cercherà di tenere in vita ogni processo il più a lungo possibile. Naturalmente è possibile che in alcune condizioni ed in base alle risorse hardware a disposizione il sistema operativo è obbligato a liberare della memoria uccidendo i processi. Ma quale processo uccidere ?

    Quest’azione di fonda in base a quanto quel processo sia importante per la user experience. Maggiore sarà l’importanza riconosciuta dal sistema minori saranno le possibilità che venga bloccata.

    I processi possono essere classificati, in ordine di importanza decrescente:

    • Processi in foreground: sono tutti quei processi che interagiscono in modo diretto o indiretto con l’utente. Parliamo di quelle applicazioni, che ad esempio, contengono l’Activity attualmente in uso oppure i Service ad essa collegata. Questi sono processi che Android proverà a preservare in modo maggiore. Va sottolineate che anche le applicazioni in Foreground non sono del tutto al sicuro. Infatti, se il sistema non avesse più risorse sufficienti per mantenerli in vita sarebbe costretto a bloccarne qualcuno;
    • Processi visibili: non sono processi importanti come quelli in foreground ma anche loro altamente salvaguardati da Android. Hanno dei componenti ancora visibili agli utenti anche se in quel momento non vi interagiscono più. Ma svolgono un ruolo estremamente importante. Anche in questo caso abbiamo un’insieme di Activity visibili e Service ad esse collegati;
    • Prcessi Service: questi processi hanno dei service in esecuzione. Di solito, eseguono lavori molto utili all’utente. Anche se non sono collegati direttamente con quello che egli vede nel display. Il livello di priorità di questi processi è medio. Sono processi importanti ma non tanto quanto i processi presentati nei punti precedenti;
    • Processi in background: comprendono le Activity non più visibili agli utenti. Questi processi comprendono una categoria molto popolata. Essa è una categoria molto affollata. E comprende un grande numero di applicazioni che l’utente ha usato e poi messo in disparte, ad esempio premendo il tasto Home. Questi processi non sono considerati molti importanti. Infatti, sono degli ottimi candidati alla distruzione nel caso le risorse scarseggiassero;
    • Processi empty: questi sono processi vuoti che non hanno nessuna componente attiva nel sistema. Essi sono conservati soltanto per motivi di cache, per incrementare la velocità di riattivazione; ogni volta si rendesse necessaria. Come è facile comprendere sono i migliori candidati per essere uccisi dal sistema operativo.

    Nei prossimi articoli faremo la conoscenza di altre componenti di Android. Per poi speigare come si installano gli strumenti per programmare in questo ambiente. Non perdere i prossimi articoli.


      Hai bisogno di aiuto ?









      (richiesto) GDPR: Ho preso visione della Privacy Policy e do il consenso al trattamento dei dati personali.

      Desideri iscriverti alla newsletter ? (non richiesto)SI Newsletter

      btftraduzioniseoweb andrea barbieri
      BTF Traduzioni SEO Sviluppo Web
      Via Santa Caterijna ,30
      Poggibonsi, Siena, 53036 Italia
      +393296664935
      traduzione, traduttore, programmatore, blogger, realizzazione siti web, Web Marketing, lezioni private di lingua,