seminario android - politecnico di milanohome.deib.polimi.it/dubois/provafinale/android.pdfseminario...
TRANSCRIPT
![Page 2: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/2.jpg)
Android
●OS per Mobile device
●Linux Kernel
●Dalvik virtual machine
●Supporto reti mobili e sensori hw
●Piattaforma di sviluppo aperta
![Page 3: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/3.jpg)
Storia
● Ott 2003 Fondata Android Inc.
● Ago 2005 Google acquisisce Android Inc.
● Nov 2007
● Nasce consorsio Open Handset Alliance● Rilascio della prima versione del SDK
● Ott 2008 Primo cellulare Android
● Feb 2011 Primo tablet Android
● Set 2011 Android nel 50% degli smartphone
● Dic 2011 10 milioni di applicazioni installate
![Page 4: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/4.jpg)
Device
low medium high extra high
small 1.9% 2.5%
normal 0.7% 19.6% 64.6% 2.4%
large 0.2% 2.3%
xlarge 5.8%
![Page 5: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/5.jpg)
Versioni
Ver. Rilascio
1.x Set 2009 1.0 %
2.1 Gen 2010 6.0 %
2.2 Mag 2010 23.1 %
2.3.x Dic 2010 63.7 %
3.x Feb 2011 3.3 %
4.0.x Nov 2011 2.9 %
![Page 6: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/6.jpg)
Software App
● Distribuite come singolo android package (file apk)
● Installazione libera via package
●
450.000 applicazioni presenti nel market
![Page 7: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/7.jpg)
Apps
● Isolamento delle app tramite sandbox● Utente App● Privilegi filesystem● Virtual machine
● Permessi espliciti alle risorse● Dati condivisi● Rete● Sensori
![Page 8: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/8.jpg)
Struttura App
● Struttura a componenti
● Activity● Service● Component Provider● Broadcast Receiver
● Risorse
● Layout● Contenuti multimediali● I18N
![Page 9: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/9.jpg)
Struttura Progetto● src
● bin
● resource
● drawable● layout● values
● gen
● AndroidManifest.xml
● project.properties
![Page 10: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/10.jpg)
Activity
● Singola schermata utente
● Riutilizzo di componenti
● Interazione tra Activity di diverse App
● Navigazione tramite stack delle chiamate● Dichiarazione delle capability
![Page 11: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/11.jpg)
Activity Lifecycle
![Page 12: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/12.jpg)
Real lifecycle
● Activity dopo onPause può essere terminato
fino alla versione Honeycomb (3.0)
● Cambio di orientamento monitor può creare un nuovo Activity
android:configChanges="keyboardHidden|orientation"
![Page 13: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/13.jpg)
Activity objectpublic class LifecycleActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
protected void onStart() { }
protected void onRestart() { }
protected void onResume() { }
protected void onPause() { }
protected void onStop() { }
protected void onDestroy() { }
}
![Page 14: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/14.jpg)
Service
● Started vs Bound
● Usare i thread se il servizio è time consuming
● Specifica il modello di funzionamento
![Page 15: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/15.jpg)
Lifecycle Bound Service
![Page 16: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/16.jpg)
Manifest.xml
Indica:● componenti Software e hardware usati● Piattaforma di rifermiento
<?xml version="1.0" encoding="utf-8"?><manifest ... > <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/app_icon.png" ... > <activity android:name=".ExampleActivity" ... > </activity> ... </application> <uses-permission android:name="android.permission.INTERNET"/></manifest>
![Page 17: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/17.jpg)
Resouces● resource
● drawable-hdpi ● drawable-mdpi ● drawable-ldpi● Layout
– rubrica.xml – contatto.xml– storico.xml
● values-it
– strings.xml● values-us
– Strings.xml
![Page 19: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/19.jpg)
Layout events
<Button android:text=”Modify” android:id=”@+id/modify”
android:onClick=”onModifyEvents”></Button>
((TextView) dialog.findViewById(R.id.modify))
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) { }
});
● Events via xml file
● Listener
![Page 20: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/20.jpg)
Storage
● Shared preferences
● External Storage
● Internal Storage
● Databases
`
![Page 21: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/21.jpg)
Android SDK
● Open source suite
● Virtual device manager
● ADT per eclipse
● Android Debugging Bridge tool
![Page 23: Seminario Android - Politecnico di Milanohome.deib.polimi.it/dubois/provafinale/android.pdfSeminario Android Andrea Ciancone 17 Aprile 2012](https://reader033.vdocuments.mx/reader033/viewer/2022042605/5f3c29c5a65bc954a62e0994/html5/thumbnails/23.jpg)
ADT plugin for Eclipse
● Installazione plugin via Eclipse
https://dl-ssl.google.com/android/eclipse/