Professional Documents
Culture Documents
Android p1
Android p1
Programació
per Android
@jmpinyol
Curs Android
Objectius del curs
Al finalitzar el curs l’alumne hauria de:
www.endepro.com
Curs Android
Part I
• Introducció a Android
• Evolució de Android
• Arquitectura del sistema
•Revisió visual de totes les versions
•Característiques de Android
• Dispositius amb Android
• Evolució de la quota de mercat
• SDK
• Instal·lació i configuració de l’entorn de desenvolupament
• Creació d’un AVD
• Introducció a l’entorn de desenvolupament
• Creació del primer projecte
• Estructura general d’un projecte
• Cicle de vida d’una Activity
www.endepro.com
Introducció a Android
L’evolució de Android
• Google adquireix Android, Inc. al 2005 al detectar un increment important de
cerques mòbils
• Primers rumors al desembre del 2006
• Sol·licitud de patents per part de Google al setembre del 2007
• Novembre del 2007 es crea la Open Handset Alliance (78 empreses)
• Publicació de la versió 1.0 el 23 de setembre del 2008
• Publicació de la última versió (4.0) al 19 d’octubre del 2011
www.endepro.com
Introducció a Android
Arquitectura del sistema
• Core en C
• Llibreries en C/C++
• UI en Java
• Executables Dalvik
www.endepro.com
Introducció a Android
www.endepro.com
Introducció a Android
Revisió visual de totes les versions
1.0 4.0
www.endepro.com
Introducció a Android
Versió 1.0 – 22 Octubre del 2008
www.endepro.com
Introducció a Android
Versió 1.1 – Febrer del 2009
www.endepro.com
Introducció a Android
Versió 1.5 - Cupcake
• Teclat en pantalla
• Widgets extensibles via SDK
• Millores en el funcionament de Clipboard
• Captura de vídeo i reproducció
• Vàries actualitzacions com suport per Youtube,
Picasa, etc
www.endepro.com
Introducció a Android
Versió 1.5 – Cupcake (II)
www.endepro.com
Introducció a Android
Versió 1.6 – Donut
www.endepro.com
Introducció a Android
Versió 2.0/2.1 – Eclair
www.endepro.com
Introducció a Android
Versió 2.0/2.1 – Eclair (II)
• Suport per múltiples comptes
• Google Maps Navigation
• Quick Contact
• Millores en el teclat en pantalla (multitouch)
• Navegador millorat (suport HTML5, etc.)
• Fons de pantalla animats
• Speech-to-text - Apple ho ha aplicat en el iOS5
• Noves pantalles de bloqueig
www.endepro.com
Introducció a Android
Versió 2.2 – Froyo
www.endepro.com
Introducció a Android
Versió 2.3 – Gingerbread
www.endepro.com
Introducció a Android
Versió 2.3 – Gingerbread (II)
• Millor control alhora de copiar i enganxar text
• Millora en les aplicacions i ús de la bateria
• Suport per càmeres frontals
www.endepro.com
Introducció a Android
Versió 3.x – Honeycomb
www.endepro.com
Introducció a Android
Versió 4.0 – Ice Cream Sandwich (II)
www.endepro.com
Introducció a Android
Versió 4.0 – Ice Cream Sandwich (III)
• Utilització de dades
• Noves aplicacions de calendari i
correu
www.endepro.com
Introducció a Android
www.endepro.com
Introducció a Android
Característiques de Android
Característica Descripció
Disseny de la pantalla Plataforma adaptable a pantalles grans, VGA, grafics 2D, 3D
segons OpenGL ES 2.0 i telèfons tradicionals
Emmagatzament SQLite
Connectivitat Suport per GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth,
Wi-Fi, LTE i WiMAX
Missatgeria SMS i MMS, inclosa missatgeria de text i l’actual C2DM com a
servei Push de Android
Multi llenguatge Suport per multillenguatge
Navegador web Basat en WebKit i el motor Javascript de Google Chrome
Suport Java La majoria d’aplicacions estan escrites en Java, però no té una
màquina virtual Java, es compila en un executable Dalvik
Suport multimedia Formats WebM, H.263, H.264 (en 3GP o MP4), MPEG-4 SP, AMR,
AMR-WB (en un contenidor 3GP), AAC, HE-AAC (en contenidors
MP4 o 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF i BMP
www.endepro.com
Introducció a Android
Característiques de Android (II)
Característica Descripció
Suport per streaming RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive
download (HTML5 <video> tag). Adobe Flash Streaming (RTMP) i
el HTTP Dynamic Streaming via el plugin de Flash. Apple HTTP
Live Streaming suportat via RealPlayer Mobile i pel Android 3.0
Suport addicional de Android suporta càmeres de fotos, de vídeo, pantalles tàctils,
hardware GPS, acceleròmetres, giroscopis, magnetòmetres, sensors de
proximitat i de pressió, termòmetre, acceleradora 2D i 3D.
Multitouch Suport natiu però deshabilitat per temes de patents fins la versió
2.0/2.1
Bluetooth Suport per A2DF i AVRCP enviament de fitxers (OPP), exploració
de directoris i marcatge per veu així com enviament de contactes
Videotrucades Suport no natiu però es pot realitzar a través d’aplicacions com
Google Talk, Skype, etc.
www.endepro.com
Introducció a Android
Característiques de Android (III)
Característica Descripció
Multitasca Multitasca real disponible
Característiques per Les cerques a Google a través de veu està disponible a partir a la
veu primera versió del sistema
Tethering Permet que el telèfon sigui utilitzat com a router wifi des de
versió 2.2
Captura de pantalla Permet realitzar captures de pantalla apretant el botó de power i
el de volum des de la versió 4.0
www.endepro.com
Introducció a Android
Dispositius amb Android
• Fabricants de Smartphones
• HTC
• Samsung
• Motorola
• Sony Ericsson
• LG
• Altres
• Fabricants de Tablets
• Samsung
• Motorola
• Acer
• Sony
• Toshiba
• Asus
•Dell
www.endepro.com
Introducció a Android
Dispositius smartphones amb Android
Nom Display Inputs Networks Connectiv CPU Capacities Cameras
ity
HTC 4.3 in Virtual GSM WiFi 1/2 GHz 1 GB Rear: 8.1
Sensation keyboard, 850/900, 802.11b/g/ dual-core storage, Mpx
4G Acceler- 1800/1900, n, WiFi Qualcomm microSD up autofocus,
ometer HSPA/W- HotSpot, MSM8260, to 32 GB, with dual
sensor for CDMA Bluetooth Adreno 220 768 MB LED flash,
auto-rotate, 900/2100 v3.0 with GPU RAM and full HD
proximity A2DP, Snapdragon video
sensor for MicroUSB (1080p
auto turn- v2.0, 3.5mm @30FPS)
off audio jack, Front: VGA
A-GPS Mpx
HTC 4.0 in Virtual GSM/GPRS/ Wi-Fi 1000 1.1 GB Rear: 8.0
Incredible S keyboard; EDGE (802.11b/g) Qualcomm onboard Mpx, dual
A-GPS 850/900, (n with 2.2 MSM8255 flash flash LED
1800/1900 update); Snapdragon memory, 8 Front:
MHz Bluetooth GB microSD 1.3Mpx
HSPA/WCD 2.1 with supplied Fixed Focus
MA A2DP stereo for video
Europe/Asia and EDR; calling
900/AWS/2 FM tuner,
100 MHz Mobile Wi-
Fi
www.endepro.com
Introducció a Android
Dispositius smartphones amb Android
Nom Display Inputs Networks Connectivit CPU Capacities Cameras
y
Samsung 4.65 in A-GPS, Wi-Fi 802.11 1.2 GHz dual- 1 GB RAM, 16 Rear: 5.0 Mpx
Galaxy Nexus capacitive b/g/n, core, GPU or 32 GB with LED
touchscreen Bluetooth PowerVR Flash
v3.0 with SGX540 Front: 1.3
A2DP, MHL Mpx
through
Micro USB 2.0
Motorola 4.3 in CDMA 1 GHz dual- 1 GB RAM, 16 Rear: 8 Mpx,
Droid Bionic 800/1900 core ARM GB ROM, 16 with 1080p
MHz EVDO Cortex-A9 GB SD Card video Front:
Rev. A, 700 SoC (included), 32 VGA
MHz 4G LTE processor; TI GB SD Card
OMAP4430, (possible)
PowerVR
SGX540 @
304 MHz
www.endepro.com
Introducció a Android
Dispositius Tablet amb Android
Nom Display Touch screen style CPU Notes
Acer Iconia Tab A100 7.0 in Capacitive multi-touch 1000, dual-core - NVidia MicroSD reader, USB,
Tegra 2, NVidia GeForce 802.11 a/b/g/n Wi-Fi,
GPU 16 or 32 GB microSD
storage, microphone,
speakers, front-facing
2MP camera, rear 5MP
camera with LED flash,
720p video recording, 1
GB RAM, GPS,
Bluetooth, HDMI port,
1080p HD Video
playback
Acer Iconia Tab A500 10.1 in Capacitive multi-touch 1000, dual-core - NVidia MicroSD reader, USB,
Tegra 2, NVidia GeForce 802.11 a/b/g/n Wi-Fi,
GPU 16 or 32 GB microSD
storage, microphone,
speakers, front-facing
2MP camera, rear 5MP
camera with LED flash,
720p video recording, 1
GB RAM, GPS,
Bluetooth, HDMI port,
1080p HD Video
playback
www.endepro.com
Introducció a Android
Dispositius Tablet amb Android
Nom Display Touch screen style CPU Notes
Samsung Galaxy Tab 10.1 in Capacitive 1000 Tegra 2 dual core 3 MP rear-facing
10.1v camera, 2 MP front-
facing camera, two
surround sound
speakers
Motorola Xoom 10.1 in Capacitive multi-touch 1000, dual core Nvidia 1 GB RAM, 32 GB +
Tegra 2 microSD*, Wi-Fi b/g/n,
5 MP rear camera (720
P), 2 MP front camera,
Bluetooth 2.1, 3-axis
accelerometer,
compass, gyroscope,
barometer
www.endepro.com
Introducció a Android
L’evolució de Android: quota de mercat
www.endepro.com
Introducció a Android
L’evolució de Android: quota de mercat
www.endepro.com
Introducció a Android
L’evolució de Android: quota de mercat
www.endepro.com
Introducció a Android
L’evolució de Android: quota de mercat
www.endepro.com
Introducció a Android
L’evolució de Android: 200 milions d’activacions!
www.endepro.com
Software Development Kit
Instal·lació i configuració de l’entorn de desenvolupament
www.endepro.com
Software Development Kit
Requisits del sistema
Sistema operatiu
• Windows XP (32bits), Vista (32 i 64bits), Windows 7 (32 i 62bits)
• Mac OSX 10.5.8 (32 bits)
• Linux (32 bits)
Requeriments de hardware
• SDK 61Mb en disc + 150Mb mínim per plataforma
http://developer.android.com/sdk/requirements.html
www.endepro.com
Software Development Kit
Preparar l’entorn de desenvolupament
JDK
• Descarregar el JDK (Java SE 7)
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Descarregar el JDK
www.endepro.com
Software Development Kit
Preparar l’entorn de desenvolupament
JDK
• Descarregar el JDK (Java SE 7)
http://www.oracle.com/technetwork/java/javase/downloads/index.html
www.endepro.com
Software Development Kit
Preparar l’entorn de desenvolupament
Eclipse
• Descarregar el Eclipse Classic (3.5 o superior)
http://www.eclipse.org/downloads/
www.endepro.com
Software Development Kit
Preparar l’entorn de desenvolupament
Eclipse
• Descomprimir-ho a la carpeta “eclipse” de la C:
www.endepro.com
Software Development Kit
Preparar l’entorn de desenvolupament
Eclipse
• Iniciar el Eclipse fent doble click a “eclipse.exe”
• Es demanarà on volem el “workspace”, posem “c:\cursandroid”
www.endepro.com
Software Development Kit
Instal·lació de l’entorn de desenvolupament
• Lloc web de google: http://developer.android.com
www.endepro.com
Software Development Kit
Instal·lació de l’entorn de desenvolupament
Installer_XX-windows.exe
www.endepro.com
Software Development Kit
Instal·lació de l’entorn de desenvolupament
www.endepro.com
Software Development Kit
Instal·lació del plugin ADT al Eclipse
• Obrir el Eclipse i anar a Help->Install New Software
www.endepro.com
Software Development Kit
Instal·lació del plugin ADT al Eclipse
• Entrar la URL https://dl-ssl.google.com/android/eclipse/
www.endepro.com
Software Development Kit
Instal·lació del plugin ADT al Eclipse
• Seleccionar tots els paquets i apretar “Next” per instal·lar
www.endepro.com
Software Development Kit
Afegir paquets i plataformes
Apretar botó
Android SDK Manager
www.endepro.com
Software Development Kit
Afegir paquets i plataformes
• Triar els següents paquets per Android 2.3.3 (API 10) i instal·lar
www.endepro.com
Software Development Kit
Estructura de directoris
• Per defecte el SDK està dins de C:\Archivos de programa(x86)\Android
www.endepro.com
Software Development Kit
Creació d’un AVD (Android Virtual Device)
Apretar en “New”
www.endepro.com
Software Development Kit
Creació d’un AVD (Android Virtual Device)
www.endepro.com
Software Development Kit
Iniciar el AVD que hem creat
Apretar “Start…”
www.endepro.com
Software Development Kit
Iniciar el AVD que hem creat
• Ja tenim apunt l’entorn de desenvolupament
www.endepro.com
Introducció a l’entorn de
desenvolupament
www.endepro.com
Introducció a l’entorn de desenvolupament
Recursos
• Google: http://www.google.com/
• Android SDK: http://developer.android.com/sdk/
• StackOverflow: http://stackoverflow.com/ (tag “android”)
www.endepro.com
Introducció a l’entorn de desenvolupament
Creació d’un nou projecte
www.endepro.com
Introducció a l’entorn de desenvolupament
Creació d’un nou projecte
www.endepro.com
Introducció a l’entorn de desenvolupament
Estructura general
strings drawables
www.endepro.com
Introducció a l’entorn de desenvolupament
Estructura de fitxers del projecte
• Estructura del projecte
Fitxers creats
• src/ conté tots els paquets de Java per l’aplicació. Cada paquet conté
els fitxers .java amb les diferents classes
• res/layout/ conté els XML que defineixen la disposió de la pantalla
• res/values/ conté els XML utilitzat com a referència per altres fitxers
• res/drawable-hdpi/, res/drawable-mdpi/, i res/drawable-ldpi/ són
els directoris que contenen les imatges de l’aplicació. Són alta, mitja i
baixa resolució
• assets/ conté fitxers addicionals que no són multimedia
• AndroidManifest.xml configuració del projecte pel sistema operatiu
Android
Fitxers autogenerats
• gen/ conté tot el codi autogenerat, com el R.java
• project.properties conté la configuració del projecte
www.endepro.com
Introducció a l’entorn de desenvolupament
Estructura del projecte
src/com/endepro/exemple_activity_simple/SimpleActivity.java
www.endepro.com
Introducció a l’entorn de desenvolupament
Estructura del projecte
res/layout/main.xml
www.endepro.com
Introducció a l’entorn de desenvolupament
Estructura del projecte
res/values/strings.xml
www.endepro.com
Introducció a l’entorn de desenvolupament
Estructura del projecte
gen/com/endepro/exemple_activity_simple/R.java
www.endepro.com
Introducció a l’entorn de desenvolupament
Estructura del projecte
Com fer referència als recursos mitjançant Java i XML
www.endepro.com
Introducció a l’entorn de desenvolupament
Estructura del projecte
AndroidManifest.xml bàsic
www.endepro.com
Introducció a l’entorn de desenvolupament
Creació d’un nou projecte
• Iniciar l’aplicació d’exemple
www.endepro.com
Cicle de vida d’una Activitat
www.endepro.com
Cicle de vida d’una activitat
Activity LifeCycle
www.endepro.com
Cicle de vida d’una activitat
Projecte 002-ActivityLifeCycle
www.endepro.com
Cicle de vida d’una activitat
Projecte 002-ActivityLifeCycle
www.endepro.com
Cicle de vida d’una activitat
Projecte 002-ActivityLifeCycle
www.endepro.com