Your SlideShare is downloading. ×
0
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Androidsdk appinventor
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Androidsdk appinventor

1,370

Published on

Presentazione architettura ed ambiente di sviluppo per dispositivi mobile dotati di SO Android. Verrà mostrata la struttura di un'applicazione creata con l'IDE Eclipse.

Presentazione architettura ed ambiente di sviluppo per dispositivi mobile dotati di SO Android. Verrà mostrata la struttura di un'applicazione creata con l'IDE Eclipse.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,370
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Android SDK Google App Inventor Fabio Di Zazzo
  • 2. Cos’è Android? Android è un insieme di software per dispositivi mobile che comprende sistema operativo, middleware ed applicazioni. Per lo sviluppatore… Dalvik virtual machine: JVM ottimizzata per dispositivi mobile Application framework: semplifica riutilizzo e sostituzione di componenti
  • 3. Dalvik Virtual Machine JVM Open Source sviluppata ex-novo per Android • Register-based – Ottimizzazione cicli CPU • Class Library diversa rispetto a Java SE o Java ME Write once, run everywhere? • Sicurezza – Consentita la condivisione del codice tra processi ma non la modifica del codice condiviso
  • 4. Dalvik Virtual Machine • Eseguibili in formato proprietario – File class riorganizzati in uno o più eseguibili Dalvik (.dex) – Riutilizzo del codice riduce le dimensioni del 50%
  • 5. • Fornisce agli sviluppatori l’accesso alle API. • L’architettura è progettata per favorire il riutilizzo delle componenti: un applicazione può rendere disponibili le proprie funzionalità ed altre applicazioni possono farne uso. • Ogni componente può essere sostituita dall’utente. Application Framework
  • 6. Un applicazione Android è basata su alcune componenti fondamentali fornite dal Framework • Un insieme di View quali liste, campi testuali e bottoni utilizzabili per comporre l’interfaccia di un’applicazione; • Content Providers che consentono all’applicazione di recuperare dati da altre applicazioni; • Un manager delle Risorse che permette di accedere a risorse non codificabili quali immagini e file di layout; • Un manager delle Notifiche contenente metodi per visualizzare notifiche personalizzate nella barra di stato del dispositivo; • Un Activity Manager che gestisce il ciclo di vita dell’applicazione. Application Framework
  • 7. L’applicazione Android • Scritta in Java, compilata in formato proprietario. • Codice compilato, dati ed altre risorse (immagini etc.) vengono accorpati in un Android Package (.apk): – Ogni file .apk è da considerarsi un applicazione a sé stante • Ogni applicazione viene eseguita separatamente dalle altre: – Ad ogni applicazione è associato un processo univoco in Linux; – Ogni processo è eseguito in un’istanza separata della Virtual Machine; – Ad ogni applicazione è associato un User ID unico: i dati sono visibili soltanto all’utente e all’applicazione stessa.
  • 8. Un applicazione Android non include le funzioni importate da altre applicazioni. Il sistema deve quindi essere in grado di avviare un applicazione in qualunque momento ed istanziare gli oggetti Java necessari. A questo scopo un applicazione non dispone di un singolo punto d’accesso (niente main() ) ma è composta da componenti che possono essere istanziati ed avviati qualora se ne presenti la necessità. Elementi di un applicazione
  • 9. • Activity: – Fornisce un interfaccia visuale all’utente – Contiene oggetti View – In esecuzione finché mantiene il focus – Es. interfaccia lettore multimediale • Service: – Non fornisce interfaccia visuale – In esecuzione in background per tempo indefinito – Accetta richieste da altre applicazioni – Es. player MP3 Elementi di un applicazione
  • 10. Metodi della classe Activity gestiscono il passaggio tra stati: Tempo totale: Operazioni tra la creazione (onCreate() ) e la distruzione (onDestroy() ) di un applicazione. Inizializzazione di variabili e connessione a servizi. Tempo in visibilità: Tra onStart() e onStop(). L’applicazione è visibile ma non interagisce con l’utente. Tempo in evidenza: Tra onResume() e onPause(). L’applicazione è visibile ed interagisce con l’utente. Lifecycle di un componente: Activity
  • 11. Due modi di utilizzare un servizio: • Esecuzione in background fino all’invocazione di un metodo di terminazione da parte di un applicazione o dal processo stesso. – Creazione con Context.startService(); – Terminazione con Context.stopService() o Service.stopSelf(). Lifecycle di un componente: Service
  • 12. • Esecuzione in attesa di connessioni da altre applicazioni – Connessione al servizio con Context.bindService(); opzionale il lancio di un servizio non ancora avviato. – Disconnessione con Context.unbindService(). Lifecycle di un componente: Service
  • 13. Le due modalità non sono del tutto separate: • Possibile la connessione ad un servizio già in esecuzione in background; • Necessario un singolo stopService() indipendentemente dal numero di chiamate a startService(). Lifecycle di un componente: Service
  • 14. Ogni applicazione è dotata di un file AndroidManifest.xml salvato nella root dell’applicazione. Esso fornisce informazioni fondamentali sull’applicazione tra cui: • Il Package Java dell’applicazione; • Descrizione dei componenti, classi che li implementano, condizioni di esecuzione, processi; • Permessi di esecuzione per sezioni protette delle API; • La versione minima necessaria delle API; • Librerie da importare per assicurare il funzionamento dell’applicazione. Android Manifest
  • 15. Android Manifest
  • 16. Classi dell’applicazione Resource Manager Risorse Manifest Costruire un applicazione
  • 17. Creare il layout con XML
  • 18. Accesso alle risorse
  • 19. Gestione degli eventi View contengono metodi per impostare Listener. Vengono specificate classi che estendono il Listener appropriato al tipo di evento da gestire.
  • 20. Android Market Requisiti per lo sviluppatore: • Account Google; • Chiave privata (anche autocertificata) con cui firmare le applicazioni. Valida almeno fino al 22/10/2033; • 25$, che le applicazioni siano gratuite o a pagamento
  • 21. Android Market Requisiti per l’applicazione: Si sconsiglia di caricare applicazioni… • Con contenuto illegale; • Che violano la privacy; • Che interferiscono con app/servizi di terzi; • Che promuovono odio e/o violenza; • Che violano la proprietà intellettuale; • Con contenuto VM18. Applicazioni che violano le linee guida possono essere rimosse dal market.
  • 22. App Inventor
  • 23. App Inventor
  • 24. App Inventor
  • 25. App Inventor Scaricare sorgenti dell’applicazione? No. In passato… Componenti personalizzati? No. In futuro… forse.

×