2. Agenda Cos竪 Android Perch辿 studiare Android Predisposizione Ambiente Activity e Intent Risorse View e Layout Gestione file, ContentProvider , Sqlite Multithreading, Servizi e BroadcastReceiver Pubblicare unapplicazione AppInventor
3. Android (1) OS + Strumenti e librerie per realizzare applicazioni mobili Kernel Linux versione 2.6 Possibilit di usare e modificare API e Librerie con cui 竪 realizzato Open Source Apache License 2.0 Piattaforma Aperta e senza Royalties
4. Android (2) Story 2005 : Acquisto Android Inc. 2007 : Costituzione della Open Handset Alliance 1属 versione SDK 2008 : G1 T-Mobile Rilascio sorgente con licenza Apache 2 Annuncio release candidate sdk 1.0 Possibilit di acquisto Dev Phone 1 2009 : Rilascio sdk 1.5 Cupcake >> tastiera virtuale Rilascio sdk 1.6 >>Quick search box Rilascio sdk 2.0 . 2010: Rilascio sdk 2.2 Froyo 2011 : Rilascio sdk 2.3 GingerBread Rilascio sdk 3.0
5. Android (3) Le migliori applicazioni per Android non sono ancora pronte, questo perch辿 sarete voi, insieme ad altri sviluppatori come voi, a crearle. Sergey Brin, Google Inc.
7. Nomenclatura delle versioni di Android Google adotta un particolare sistema di nomenclatura: il nome di ogni versione inizia con una lettera successiva in ordine alfabetico, a quella con cui iniziava la versione precedente! Android 1.5 Cupcake: una piccola torta adatta ad esser consumata da una sola persona, spesso cotta direttamente in un sottile strato di carta, o di alluminio Android 1.6 Donut: 竪 un tipo di pasta fritta che pu嘆 esser dolce o salata, solitamente ha la tipica forma di una ciambella, ed 竪 lalimento principale nella dieta dei poliziotti nel cartone I Simpson Android 2.0/2.1 Eclair: 竪 una pasta lunga e sottile riempita di crema e ricoperta di glassa, limpasto 竪 lo stesso utilizzato per i profiterole Android 2.2 FroYo: diminutivo di Frozen yogurt un dessert a base di gelato e yogurt, ha un sapore leggermente pi湛 aspro del gelato e solitamente 竪 pi湛 magro di esso. Android 2.x Gingerbread: anticipato da Brian Swetland, 竪 un termine usato per descrivere una variet di dolci alimentari, che possono variare da un dolce morbido a qualcosa di simile ad un biscotto allo zenzero
8. Studiare Android (1) IOT: oltre SMARTPHONE Ampia gamma dispositivi > Maggior Numero di copie distribuite/vendute Siamo un JUG : non occorre studiare lennesimo linguaggio
15. Android Application An application consists of one or more components that are defined in the application's manifest file. A component can be one of the following: 1. An Activity 2. A Service 3. A broadcast receiver 4. A content provider
16. Activity Stack Activities in the system are managed as an activity stack When a new activity is started, it is placed on the top of the stack and becomes the running activity --the previous activity always remains below it in the stack, and will not come to the foreground again until the new activity exits. If the user presses the Back Button the next activity on the stack moves up and becomes active.
19. Activity e Intent (1) http://developer.android.com/guide/topics/fundamentals/activities.html http://developer.android.com/guide/topics/intents/intents-filters.html An Activities Android application could include any number of activities. An activity uses the setContentView(...) method to expose (usually) a single UI from which a number of actions could be performed. Activities are independent of each other; however they usually cooperate exchanging data and actions. Typically, one of the activities is designated as the first one ( main) that should be presented to the user when the application is launched. Moving from one activity to another is accomplished by asking the current activity to execute an intent. Activities interact with each other in an asynchronous mode.
39. Multithreading e Servizi Concetto di Main thread/worker thread Handler MessageQueue Message Notification Service Servizi locali(stessa app) e remoti: tipo di interazione da parte di un client>>determina in quali operazioni va fatto loverriding >LocalServiceTest Tecniche di IPC (Inter Process Communication)
41. Pubblicare unapplicazione https://market.android.com/ Obbligo di Firma: il market o il dispositivo deve riuscire ad associare una qualche identit Autocertificazione: nel caso di test>>certificato di debug Scadenza valutata in fase di installazione zipalign per ottimizzare lo spazio in RAM: allineamento in memoria dei dati non compressi, mappa i dati in zone di memoria cos狸 che il Sistema sia in grado di trovarle senza cercare
42. Pubblicare unapplicazione Ogni dispositivo impedisce che unapplicazione possa essere aggiornata da unaltra firmata con un certificato diverso >> Nel dispositivo non ci possono essere pi湛 applicazioni con stesso package e certificati diversi Stesso certificato >> stesso processo >> condivisione componenti in modo pi湛 stretto
43. Firma Keytool JAVA_HOMEin Certificato di debug : keystore Preferences>Android>Build keytool list v keystore debug.keystore Processo di deploy Generazione certificato con keytool c:ndroidest_signatureystore>keytool -genkey -v -keyalg RSA -validity 15000 -keystore c:ndroidest_signatureystorendroid.keystore -alias apoandroid -storepass test12 Firma applicazione con jarsigner Certificato di release: ADT Export Signed Application Package dal Menu Android Tools Coppia chiavi firma Compilazione in release mode Firma con le chiavi zipalign
44. Processo Deploy Export unsigned Application Package dal menu android tools jarsigner keystore ./android.keystore storepass * -keypass * <nomepak>.apk apoandroid zipalign v 4 <nomeapk>.apk <nomeapk>-aligned.apk adb install [-r] <nomeapk>.apk (stesso package e stesso certificato per aggiornamento)
47. GRAZIE www.refacturing.it @ricmancio [email_address] Il materiale presente in queste slides 竪 in parte recuperato da risorse liberamente scaricabili dalla rete, ma se qualcuno dovesse ritenere di avere eventuali diritti di propriet sullo stesso, 竪 pregato di comunicarmelo che provveder嘆 a rimuoverlo