lo sbarco di google nel pianeta mobile internet: primo impatto ed esempi pratici

42
Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG Sardegna Javaday Roma III Edizione – 24 gennaio 2009 Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pratici. Riccardo Solimena (Java Italian Portal) Stefano Sanna (JUG Sardegna Onlus)

Upload: riccardo-solimena

Post on 18-Jan-2017

20 views

Category:

Mobile


0 download

TRANSCRIPT

Page 1: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pratici.

Riccardo Solimena(Java Italian Portal)

Stefano Sanna (JUG Sardegna Onlus)

Page 2: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Outline

● Who we are● Android: brevissima introduzione● Code, please!

DEMO!

● Architecture, library, tools● Android vs Java ME vs iPhone● Conclusioni

Page 3: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Riccardo Solimena

● Java Experienced Consultant @ Capgemini– Past: Java Tech Lead @ Links M&T

● Technical Writer @ – Java Italian Portal

– Java Journal, Keep in tech, Programmazione.it

– http://www.google-phone-android.com

● Musician @– http://www.youtube.com/riccardosolimena

– http://www.sevenotes.com

Page 4: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Stefano Sanna

● Java ME Tech Lead @ beeweeb technologies

● Professional developer @ JME, iPhone, Android

● Technical writer @– Book “Java Micro Edition” (Hoepli, 2007)

– DEV, Java Journal, Computer Programming

● Blogger @ http://www.gerdavax.it

Page 5: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Android

● Android è una piattaforma open source per la telefonia mobile basata su Linux e Java

● Dal blog ufficiale:

“Android is the first truly open and comprehensive platform for mobile devices. It includes an operating system, user-interface and applications -- all of the software to run a mobile phone, but without the proprietary obstacles that have hindered mobile innovation”

Page 6: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Non solo Google...

Page 7: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Caratteristiche principali

● Android è una piattaforma ricca e moderna:– Componenti di sistema riusabili e sostituibili

– Dalvik virtual machine

– Browser integrato (basato sul motore WebKit)

– Grafica avanzata 2D e 3D (OpenGL ES 1.0)

– Database SQLite

– Ricco supporto ai formati multimediali: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF

– GSM, EDGE, 3G; Bluetooth e WiFi

– Fotocamera, GPS, bussola e accelerometro

Page 8: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Principali caratteristiche

● Linguaggio: Java● Libreria: Java SE (Apache Harmony, esclusa la

parte visual) + Apache Http + Android libraries ● Dalvik Virtual Machine: ottimizzata per device

mobili; totalmente indipendente dalla JVM Sun (e non compatibile con il bytecode standard di Java)

● Kernel Linux: sistema operativo robusto, efficiente, portabile

● OPEN SOURCE!

Page 9: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

HTC G1: il primo!

● 528Mhz Qualcomm 7201 processor● 64MB RAM, 128MB ROM, 1GB MicroSD card● 3.1MP camera (no flash) 2048 x 1536● Quad Band, UMTS, HSDPA● Bluetooth, 802.11b/g● Display 3.17"

HVGA (480 x 320)● GPS + compass

Page 10: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

HTC G1: per gli utenti

● WebKit browser● Supporto SMS e MMS● Audio: MP3, AAC, AAC+, WMA

MPEG4, WAV, MIDI, REAL AUDIO, OGG● Video: H.264, streaming, 3GPP, MPEG4, 3GP● Email: POP, IMAP, SMTP, AOL e GMail● IM: AIM, MSN, Yahoo!, GTalk● Android Market + OTA application delivery

Page 11: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Cominciamo dai link!

● SDK e documentazione:– http://code.google.com/android

● Sorgente della piattaforma:– http://source.android.com/

● Open Handset Alliance:– http://www.openhandsetalliance.com

● Android Market:– http://www.android.com/market/

Page 12: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Code, please!

● Anziché partire dalla teoria, dall'architettura, dalla documentazione, dalle classi...

PARTIAMO DAL CODICE

● Vogliamo realizzare una applicazione di supporto al Java Day, con la lista dei talk, i dettagli di ciascun intervento e la mappa di Roma centrata sulla sede dell'evento

Page 13: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

DEMO

Page 14: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Struttura dell'applicazione

ListaTalk(Activity)

JavaDayMap(Activity)

Geocoder

MapController

MapView

ListView

ItemAdapter

SQLiteDatabase

Page 15: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Progetto Android

Delizioso sorgente Java!

Descrittore dell'applicazione

File di supporto

Immagini

XML di layout della UI

Stringhe, vettori...

Page 16: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Modelliamo il talk

public class Talk { // getter e setter omessi per brevità...

private int keyId;private String talkName;private int numRoom;private String abstractTalk;private String speech;private String time;

public Talk(int keyId, String talkName, int numRoom, String abstractTalk, String speech, String time) {

super();this.keyId = keyId;this.talkName = talkName;this.numRoom = numRoom;this.abstractTalk = abstractTalk;this.speech = speech;this.time = time;

}

Page 17: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Tutto inizia con un'Activity...

public class ListaTalk extends Activity {private ArrayList<Talk> talkItems;private ListView talkList; private TalkItemAdapter adapter; private TalkDAO talkDAO; private Cursor talkCursor;

public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);talkList = (ListView)findViewById(R.id.talkList);talkItems = new ArrayList<Talk>();

int resID = R.layout.talk_item;adapter = new TalkItemAdapter(this, resID, talkItems);talkList.setAdapter(adapter);

// inizializzazione popup (next slide)

talkDAO = new TalkDAO(this);talkDAO.open();populateTodoList();

}

Page 18: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Creiamo la popup

final Builder builder = new AlertDialog.Builder(this);

talkList.setOnItemClickListener(new OnItemClickListener() {//@Overridepublic void onItemClick(AdapterView<?> a, View v, int pos,

long arg3) {

Talk talkSelected = (Talk)talkList.getItemAtPosition(pos);

builder.setTitle( ... ); builder.setMessage( ... );

builder..setPositiveButton("Chiudi", new android.content.DialogInterface.OnClickListener() {

public void onClick(final DialogInterface dialog, final int arg1) { }

}).show();}

});

Page 19: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Riempire l'elemento della lista

public class TalkItemAdapter extends ArrayAdapter<Talk> {int layoutID;

public TalkItemAdapter(Context _context, int _resource, List<Talk> _talkItems) {

super(_context, _resource, _talkItems);layoutID = _resource;

}

@Overridepublic View getView(int position, View convertView, ViewGroup

parent) {LinearLayout todoView;

Talk item = getItem(position);

String talkName = item.getTalkName();String time = item.getTime();

Page 20: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Riempire l'elemento della lista

if (convertView == null) {todoView = new LinearLayout(getContext());String inflater = Context.LAYOUT_INFLATER_SERVICE;LayoutInflater vi = (LayoutInflater)

getContext().getSystemService(inflater);vi.inflate(layoutID, todoView, true);

} else {todoView = (LinearLayout) convertView;

}

TextView talkNameView = (TextView) todoView.findViewById(R.id.row);

TextView talkTimeView = (TextView) todoView.findViewById(R.id.rowTime);

talkNameView.setText(talkName);talkTimeView.setText(time);

return todoView;}

}

Page 21: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Dov'è l'interfaccia grafica?

● Android consente di definire i componenti grafici e il loro layout sulla UI attraverso file XML

● Ad ogni componente è associato un riferimento univoco attraverso la classe R (resources)

● Nel codice è possibile:– caricare layout e componenti XML e assegnarli

alla vista corrente

– modificarne i parametri

– create nuove viste programmaticamente

Page 22: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

ListaTalk

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" >

<ListView android:id="@+id/talkList" android:layout_width="fill_parent" android:layout_height="fill_parent" />

</LinearLayout>

Page 23: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

TalkItem

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/notepad_paper"> <TextView android:id="@+id/rowTime" android:layout_width="wrap_content" android:layout_height="fill_parent" android:padding="10dp" android:scrollbars="vertical" android:fadingEdge="vertical" android:textColor="@color/notepad_text" android:layout_alignParentRight="true" /> <TextView android:id="@+id/row" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:scrollbars="vertical" android:fadingEdge="vertical" android:textColor="@color/notepad_text" android:layout_alignParentLeft="@+id/rowTime" /></LinearLayout>

Page 24: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Piccola rivoluzione

● Una applicazione può:– estendere Activity di libreria (ad esempio, la

MapActivity)

– invocare Activity di sistema (ad esempio, per avviare il browser o effettuare una chiamata)

– esportare le proprie activity rendendole disponibili ad altre applicazioni (ad esempio, per l'accesso ad un servizio o una procedura proprietaria)

● Le Activity e i messaggi (Intent) per attivarle sono definite nel Manifest dell'applicazione

Page 25: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Manifest

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="it.javaday.android.roma2009" android:versionCode="1" android:versionName="1.0.0">

<application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".ListaTalk" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

....

</manifest>

Page 26: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Richiamare le mappe

@Overridepublic boolean onCreateOptionsMenu(Menu menu) {

menu.add("Map");return super.onCreateOptionsMenu(menu);

}

@Overridepublic boolean onOptionsItemSelected(MenuItem item) {

startActivity(new Intent("it.javaday.android.roma2009.MAP"));return super.onOptionsItemSelected(item);

}

Page 27: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Location-based Service

● Android è equipaggiato con una ricca libreria per la realizzazione di applicazioni georeferenziate integrate con i servizi di Google:

– LocationManager: per determinare la posizione corrente con GPS o sistemi alternativi

– Geocoder: per la trasformazione di indirizzi in coordinate geografiche e viceversa

– MapView: per la visualizzazione di mappe, complete di controlli di zoom, scrolling e sovrapposizione di layer personalizzati e interattivi

Page 28: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Visualizzare una mappa

● Per visualizzare una mappa (centrata su un indirizzo noto) all'interno di una applicazione occorre:

– includere la libreria com.google.android.maps e richiedere la user-permission INTERNET

– scrivere una nuova Activity che estenda MapView

– ottenere le Android Maps API Key associate ai propri certificati di sviluppo e di pubblicazione (maggiori dettagli sul sitohttp://code.google.com/android)

Page 29: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Mappe nell'applicazione

● Nel Manifest occorre specificare l'uso della libreria e ottenere i permessi per la localizzazione (se si usa il GPS) e la connettività:

<application ...> <uses-library android:name="com.google.android.maps" /> <activity android:name=".JavaDayMap" android:label="@string/app_name"> <intent-filter> <action android:name="it.javaday.android.roma2009.MAP" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity></application>

<uses-permission android:name="android.permission.INTERNET"/>

Page 30: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Estendiamo MapActivity

public class JavaDayMap extends MapActivity {private MapView mapView;private MapController mapController;

public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);

// map code here!!!!!!}

@Overrideprotected boolean isRouteDisplayed() {

return false;}

}

Slide successive

Page 31: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Usiamo il Geocoder

try {Geocoder coder = new Geocoder(getApplicationContext());

List<Address> result = coder.getFromLocationName("Roma, Via Vasca Navale", 1);

Double lat = result.get(0).getLatitude() * 1E6;Double lon = result.get(0).getLongitude() * 1E6;

GeoPoint geopoint = new GeoPoint(lat.intValue(), lon.intValue());

}

Il Geocoder trasforma l'indirizzo testuale in latitudine/longitudine

Page 32: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Mostriamo la mappa

mapView = (MapView) findViewById(R.id.mapview);

MapView.LayoutParams lp = new MapView.LayoutParams(MapView.LayoutParams.WRAP_CONTENT, MapView.LayoutParams.WRAP_CONTENT, 160, 430, MapView.LayoutParams.BOTTOM_CENTER);

View zoomControls = mapView.getZoomControls();mapView.addView(zoomControls, lp);mapView.displayZoomControls(true);

mapController = mapView.getController();mapController.setCenter(geopoint);mapController.setZoom(17);

Page 33: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Architettura di Android

Page 34: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Quattro entità fondamentali

● Activity: moduli applicativi visuali e componibili con cui interagisce l'utente (una mappa, una lista di messaggi...)

● Service: logiche applicative prive di UI, invocabili da Activity ed eseguibili in background

● Broadcast Intent Receiver: consente l'interazione dell'applicazione con gli eventi del telefono, ricevendo e inviando notifiche

● Content Provider: consentono salvataggio, ricerca e condivisione dati tra applicazioni

Page 35: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

View e widget

● Android dispone di una ricca libreria di viste e widget, altamente configurabili e personalizzabili

Page 36: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Ambiente di sviluppo

● SDK dedicato che comprende compilatore per il formato .dex (Dalvik Executable) ed emulatore

● Plug-in per Eclipse che consente la gestione di progetti Android all'interno dell'ambiente di sviluppo

Page 37: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Android Market

● Sulla scia dell'App Store dell'iPhone, Android dispone di un sistema integrato di distribuzione delle applicazioni: l'Android Market

● Attualmente dispone di poco meno di 1000 applicazioni (contro le 15000 dell'App Store) ed è limitato a software gratuito

● Attivo in USA e UK, in primavera arriverà in altre nazioni (Italia inclusa!) e consentirà la vendita di applicazioni.

Page 38: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Android vs Java ME

● Java ME è la tecnologia di mobile computing più diffusa in assoluto, ma soffre di alcuni problemi:

– il disegno originale è del 2001: la retrocompatibilità comincia a pesare

– la frammentarietà delle implementazioni rende difficoltoso il porting e precaria la compatibilità

● Android è stato progettato per dispositivi moderni: un confronto con Java ME è quasi fuori luogo. D'altro canto, però, Android gira su un solo telefono: probabilmente tra 1-2 anni la situazione cambierà...

Page 39: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Android vs iPhone OS

● Android e iPhone OS hanno caratteristiche simili, anche se:

– Android sembra pensato per i programmatori: l'architettura modulare di Android consente mash-up tra applicazioni; è possibile interazione a basso livello e esecuzione in background;

– iPhone OS è evidentemente pensato per gli utenti: il look & feel di CocoaTouch, l'interfaccia multitouch e le guideline di iPhone OS sono estremamente innovativi e hanno segnato un punto di svolta per il mondo della telefonia mobile

Page 40: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

G1 o iPhone?

● Questo è ciò che si chiedono tutti: Google o Apple? iPhone o anti-iPhone?

● Il presente è certamente iPhone: oltre 10M di terminali, 15K applicazioni, 500M download

● Android sarà protagonista (?) del 2009, con la commercializzazione di nuovi dispositivi e l'allargamento a nuovi mercati

Page 41: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

Conclusioni

● Android è una piattaforma di sviluppo potente, flessibile e innovativa: il futuro della telefonia mobile passerà certamente per questa strada

● L'architettura modulare e l'integrazione con i servizi di Google consente lo sviluppo di applicazioni Mobile Internet avanzate

● L'Android Market potrà essere una buona opportunità per gli sviluppatori indipendenti

Page 42: Lo sbarco di Google nel pianeta Mobile Internet:  primo impatto ed esempi pratici

Riccardo Solimena, Java Italian Portal - Stefano Sanna, JUG SardegnaJavaday Roma III Edizione – 24 gennaio 2009

GRAZIE!

● Riccardo Solimena– web: http://www.riccardosolimena.com

– Skype: riccardo.solimena

– email: [email protected]

● Stefano Sanna– web: http://www.gerdavax.it

– Skype: gerdavax

– email: [email protected]