Android T01-Introduccion e Instalacion

download Android T01-Introduccion e Instalacion

of 31

Transcript of Android T01-Introduccion e Instalacion

  • 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.