Upload
jorge-jimenez
View
214
Download
0
Embed Size (px)
Citation preview
7/21/2019 Android T01-Introduccion e Instalacion
1/31
InstalacindelEntornodeprogramacin
7/21/2019 Android T01-Introduccion e Instalacion
2/31
ParalainstalacindeAndroidenelEntornoEclipsedebemosseguirvariospasos.
InstalarelJDKdeJava
InstalarEclipse
InstalarelSDKdeandroid
ConfigurarlavariablePATH
ConfigurarEclipseinstalandolasversionesdeAndroidnecesariasyvarios
extras.Instalarlosdriversdenuestrodispositivoandroidparapoderejecutarsobreel.
Instalarunemuladorintegrado
Instalarunemuladordeterceros(GennyMotion)
Enhttp://hownet.es/umhandroid/eclipseyandroidsdk/teneisunagiadeloquehayqueirhaciendo.
7/21/2019 Android T01-Introduccion e Instalacion
3/31
Introduccion
7/21/2019 Android T01-Introduccion e Instalacion
4/31
Plataformadedesarrollolibreycodigoabierto.
BasadoenLinux.
Gran
cantidad
de
servicios
disponibles.ServiciosGPS
Lectorescdigosbarras
Basededatos
Sensores(posicionamiento,
cmara,
)
Aplicacioneshechasdecomponentes
Aplicacionestipopuzzle.
Cadapieza(componente)puedereutilizarse.
7/21/2019 Android T01-Introduccion e Instalacion
5/31
Multimedia:
MejorcalidadvisualydesonidoencadanuevaversindeAndroid.
Filtros
antialiasing
para
2D Grficos3DconOpenGLacelerado,etc...
Seguridad:
Aldesarrollarunprogramaindicamosquserviciosusarnuestraaplicacin,paraquealinstalarse,avisealusuariodedichos
permisos.
Datosindependientesentreaplicaciones.
Gestionciclovidaautomtico:
Pensadoparadispositivosconpocosrecursos.
ElS.O.
se
encarga
de
liberar
memoria
cuando
pasamos
de
unaappaotra.
7/21/2019 Android T01-Introduccion e Instalacion
6/31
Multiplehardware:
Pensadoparamultiplesplataformas,tiposdepantalla,tamaos
pantalla.
Desdetelefonosamicroondaspasandoportelevisoresde46
pulgadashastaautomviles
LenguajesdeProgramacin:
DesarrolloenJavac/c++usandoNDK(Nativedevelopment
kit).
7/21/2019 Android T01-Introduccion e Instalacion
7/31
C/
C+
+
7/21/2019 Android T01-Introduccion e Instalacion
8/31
Encargadadetraducirelbytecodedelasaplicacionesjava
encdigonativoentendibleporeldispositivo.
Cuandose
compila
aplicacin
android
se
generan
archivos
.dex(Dalvikexecutables).Eselresultadodecompilar
cdigojavaunidoalaslibrerasnecesariasdevarios
archivos.dex
(mediante
la
herramienta
dx).
Sereducetamaoarchivos.dexreutilizandorecursosy
clasesyconviertejuegoinstruccionesjavaenjuego
instruccionesdelamaquina.El.dexsincomprimires
menorque
.jar
comprimido
7/21/2019 Android T01-Introduccion e Instalacion
9/31
Las aplicaciones Android estn compuestas por un conjunto de componentesvinculados por el archivoAndroidManifest.xmlque indica cmo interactan.
Contiene metainformacin acerca de la aplicacin, como por ejemplo los
requerimientos que debe cumplir la plataforma sobre la que se ejecuta.
Una
aplicacin
Android
estar
compuesta
por
los
siguientes
componentes
(no
necesariamentetodosellos):
Activity(actividad)
BroadcastIntentReceiver(receptordeemisionesdeintents)
Service(servicio)Content
Provider
(proveedordecontenido)
Fragment(fragmentos)
Widgets
Notifications(notificaciones)
7/21/2019 Android T01-Introduccion e Instalacion
10/31
Las Activities son la capa de presentacin de la aplicacin, cadapantalla de nuestra aplicacin ser una subclase de la claseActivity
En una activity haremos uso de elementos de la clase View (vistas)
para generar interfaz de usuario y seremos capaces de responder a
eventos que se realicen sobre ellas.
Puedehaberactivitiessininterfazdeusuario.
Aunque las Activities son independientes, se pueden llamar
entre ellas pasndose parmetros.
7/21/2019 Android T01-Introduccion e Instalacion
11/31
Broadcast Intent Receivers o receptor de mensajes es un componenteque se encarga de recibir y reaccionar frente a ciertos mensajes
emitidos por el sistema (solicitados mediante intents)
Los receptores iniciarn automticamente la aplicacin para
responder a un intent que se haya recibido, haciendo que seanideales para la creacin de aplicaciones guiadas por eventos.
Una aplicacin puede tener tantos receivers como necesite.
Todos extienden la claseBroadCastReceiver
7/21/2019 Android T01-Introduccion e Instalacion
12/31
Los servicios estn diseados para mantenerse ejecutndose sindepender de ninguna activity.
Extienden la claseService.
Seutilizanparallevaracaboprocesamientoquedebeser
realizadode
manera
regular,
incluso
en
el
caso
en
el
que
nuestrasactividadesnoseanvisiblesonisiquieraestnactivas.
Por ejemplo servicios que se conectan a un servidor para ver si ha cambiado alguna
informacin o un reproductor de msica, o actualizando fuentes de informacin,
atender a diversos eventos o activando la visualizacin de notificaciones en unaactividad.
7/21/2019 Android T01-Introduccion e Instalacion
13/31
Permiten almacenar y compartir datos entre aplicaciones.
Proporcionan una capa de abstraccin para acceder a datos
almacenados por una aplicacin de modo que sean accesibles a otras.
(bases de datos, ficheros,).
Es como si fuese una API para acceder a los datos de una aplicacin.Extienden la claseContentProvider
Los dispositivos Android incluyen de serie un conjunto de proveedores
de contenidos nativos que permiten acceder a datos del terminal,
como por ejemplo los contactos o el contenido multimedia.
7/21/2019 Android T01-Introduccion e Instalacion
14/31
Surgen a partir de version 3.0 para solucionar problema de lasmultiples pantallas.
Una activity puede estar compuesta de varios fragments.
Por ejemplo visor de correo:
Un fragment con la lista de correos
Otro fragment con el detalle del correo que se ha seleccionado en el
otro.
En pantallas pequeas (mviles) se suele mostrar cada fragment en una
pantalla diferente, en tablets en una sola pantalla se pueden muestran losdos juntos.
7/21/2019 Android T01-Introduccion e Instalacion
15/31
Son mensajes asincronos enviados entre aplicaciones y de/hacia lamisma aplicacin.
Eventos a los que podemos responder (bateria baja, insercion tarjeta
SD) o generar los nuestros propios.
Enviando un intent al sistema declara la intencin de tu aplicacin deque se lleve a cabo una determinada accin.
El sistema ser el encargado de decidir quin lleva a cabo las acciones
solicitadas.
IntentFilters son componentes que permiten filtrar qu
aplicaciones pueden atender dichos eventos, o dicho de otra
forma, qu aplicaciones pueden recibir qu intents.
7/21/2019 Android T01-Introduccion e Instalacion
16/31
Son pequeas aplicaciones con un interfaz grfico reducido quepueden ser publicadas para su insercin en otras aplicaciones o en la
pantalla principal del dispositivo y que recibirn actualizaciones y
notificaciones peridicas.
7/21/2019 Android T01-Introduccion e Instalacion
17/31
Las notificaciones permiten comunicarse con el usuario sin necesidadde robar el foco de la aplicacin activa actualmente o de interrumpir a
la actividad actual.
Por ejemplo, cuando un dispositivo recibe un mensaje de texto, avisa
al usuario mediante luces, sonidos o mostrando algn icono en labarra de notificaciones.
7/21/2019 Android T01-Introduccion e Instalacion
18/31
Alolargodeunaejecucinnormaldeunaaplicacin, susActivitiespuedenestar
enalgunodelossiguientesestados:
.Activa
Cuandoelusuariovelaactividadypuedeinteractuarconelladesdelapantalla.
Cuandoestlaprimeraenlapiladeejecucin.
.Pausada
Cuandopasaasegundoplanoperoaunestvisible.
Laactividadpausadapierdeelfocodeejecucinperosiguevisible.
Puedesermatadaporelsistemasisenecesitamemoria.
.Parada
Cuandopasaasegundoplanoyestatotalmentetapadaporotraactividad.
Tambienpuedesermatadaporelsistema
.Destruida
Laactividadyanoestdisponible,sehanliberadotodossusrecursos.
7/21/2019 Android T01-Introduccion e Instalacion
19/31
Las aplicaciones Android no tienencasi control sobre su ciclo de vida.
Android decidir cuando una
aplicacin o actividad cambia de
estado o muere
Las aplicaciones tienen que estar
atentas a estos cambios y preparadas
para actuar en cada momento.
Android intenta que el usuario
siempre sea atendido por lo que laaplicacin activa tendr mas
prioridad, si necesita recursos
matar otras actividades no
prioritarias.
El orden de detencin y eliminacin
de los procesos viene definido por la
prioridad de los mismos.
7/21/2019 Android T01-Introduccion e Instalacion
20/31
Procesos Activos
Procesosquecontienen
aplicacionesqueestn
interactuandoconelusuario.
Androidintentaquesulatencia
seamnimaliberandorecursos.
Slo
son
detenidos
como
ltimo
recurso.
7/21/2019 Android T01-Introduccion e Instalacion
21/31
Procesos Visibles
Procesosvisiblesperoinactivos.
Porquesus
correspondientes
aplicacionesseestnmostrando
detrsdeotrasoporqueno
estnrespondiendoaninguna
entradadelusuario.
Estosucedecuandouna
Actividadseencuentra
parcialmenteocultaporotra
actividad(transparenteoqueno
ocupatoda
la
pantalla).
Estosprocesossondetenidostan
solobajocondicionesextremas.
7/21/2019 Android T01-Introduccion e Instalacion
22/31
Procesos
asociados
a
serviciosenejecucin
ProcesosActivosperonovisibles
Losserviciospermitenqueexista
procesamientosinnecesidadde
queexistaunainterfazde
usuariovisible.
Debidoaqueestosserviciosno
interactandirectamente
con
el
usuario,recibenunaprioridad
ligeramenteinferioraladelos
procesosvisibles.
Sinembargo
se
siguen
considerandoprocesosactivosy
noserndetenidosamenosque
seaestrictamentenecesario.
7/21/2019 Android T01-Introduccion e Instalacion
23/31
Procesos
inactivosProcesosquealbergan
actividadesquenisonvisiblesni
seencuentranrealizandoun
procesamiento,ni
ejecutando
ningnservicio.
Elordenenelquesedetendrn
estosprocesosvendr
determinadopor
el
tiempo
que
stosllevaninactivosdesdela
ltimavezquefueronvisibles.
7/21/2019 Android T01-Introduccion e Instalacion
24/31
Procesos
vaciosSonelresultadodelintentode
Androiddereteneraplicaciones
enmemoriaunavezquestas
hanterminado.
Conestoconsiguelanzarde
nuevolaaplicacinenmenos
tiempo.
7/21/2019 Android T01-Introduccion e Instalacion
25/31
onCreate(Bundle):
Al crear la Activity, Android llama a este
mtodo de nuestra Activity.
Se utiliza para realizar todo tipo de
inicializaciones, como la creacin de la interfaz
de usuario o la inicializacin de estructuras de
datos.
Puede recibir como parmetro, informacin de
estado de la instancia (en una instancia de la
clase Bundle), en caso de haber sido
reanudada desde una actividad que fue
destruida y vuelta a crear.
7/21/2019 Android T01-Introduccion e Instalacion
26/31
onStart():
Este mtodo es llamado por Android la
actividad est a punto de ser mostrada al
usuario.
7/21/2019 Android T01-Introduccion e Instalacion
27/31
onResume():
Es llamado por Android cuando la actividad va
a comenzar a interactuar con el usuario.
Es un buen lugar para lanzar las animaciones
y la msica.
7/21/2019 Android T01-Introduccion e Instalacion
28/31
onPause():
Es llamado por Android cuando la actividad
est a punto de ser lanzada a segundo plano,
normalmente porque otra aplicacin eslanzada.
Es el lugar adecuado para detener
animaciones, msica o almacenar los datos
que estaban en edicin.
7/21/2019 Android T01-Introduccion e Instalacion
29/31
onStop():
Es llamado por Android cuando la actividad ya
no va a ser visible para el usuario.
Ojo si hay muy poca memoria,es posible que
la actividad se destruya sin llamar a este
mtodo, por lo que no es buen lugar para
guardar lo que se estaba editando.
7/21/2019 Android T01-Introduccion e Instalacion
30/31
onRestart():
Es llamado por Android cuando la actividad va
a volver a ser representada despus de haber
pasado poronStop().
7/21/2019 Android T01-Introduccion e Instalacion
31/31
onDestroy():
Es llamado por Android antes de que la
actividad sea totalmente destruida.
Por ejemplo, cuando el usuario pulsa el botn
o cuando se llama al mtodofinish().
Ojo si hay muy poca memoria, es posible que
la actividad se destruya sin llamar a estemtodo.