Fundamentos desarrollo de Apps para Android

Post on 15-Feb-2017

100 views 2 download

transcript

Introducción a Android

FundamentosGerardo Suárez

1

Fundamentos de AndroidGerardo Suárez

Objetivos Conceptos generales Estructura del proyecto Componentes de la Arquitectura:

activity service broadcast receiver content provider

2

3

CONCEPTOS GENERALES

Android y Java Escritas en Java (Android Studio) o en

C++ (NDK) Java vs Android: Java usa la JVM para

ejecutar el bytecode, Android usa ART,Dalvik

4

Seguridad Se debe a la arquitectura:

Android es un sistema multiusuario. Cada app es un usuario linux distinto.

5

Máquinas Virtuales Dalvik (AOT) vs ART(JIT)

convertir de bytecode a código máquina Ahead-of-time vs Just it time: JIT hace una

precompilación cuando se instala la app ART mejoró el garbage collector

6

7

SDK Conjunto de herramientas para desarrollar

aplicaciones: Librerías Debugger Emulador Documentation sobre el API Código Fuente de Ejemplos

8

9

ESTRUCTURA DELPROYECTO

10

Estructura Básica

¿Cómo queda almacenado el Proyecto?

Así lo ve el desarrollador:

Android Manifest Contiene:

El nombre del paquete Java Especifica los componentes de la arquitectura Declara los permisos Componentes visuales (tema, ícono de la app)

11

Así luce el Manifest

12

Gradle Settings Sistema de compilación. Toma todo lo de

los folders res y src y genera el APK. android {

compileSdkVersion 23

defaultConfig {applicationId “com.talentoicesi"minSdkVersion 7targetSdkVersion 23versionCode 1versionName “1.0”}}

13

14

COMPONENTES DE ANDORID

Activity Ventana que permite la interacción con el

usuario Se compone de:

Clase Java que hereda de AppCompatActivity XML - Layout

15

16

17

Ciclo de Vida

18

No Existe

Foreground

Background

Pause

onCreate

onStart

onResume

onPause

onStop

onResume

onStart

onReestart

onDestroy

onStop

onPauseonPause

onResume

MOSTRAR EJEMPLO

Services Se encarga de realizar procesos en

segundo plano No tiene interfaz gráfica Se mantiene corriendo así el usuario

empiece a usar otra app

19

Services

20

Broadcast Receivers Reciben mensajes de Broadcast y actúan Extienden de la clase BroadcastReceiver Ejemplos:

Baja batería, cargando, apagar, cambiar la timezone, etc.

Comunicación entre distintos componentes Otras apps pueden iniciar broadcast

21

Content Providers Hace que los datos de la app estén

disponibles para otras apps Es la única forma de compartir datos entre

aplicaciones Extiende de la clase ContentProvider

22

Resumen Activities – ventana de una app – se

compone de una clase java y un file xml Services – no tienen interfaz de usuario–

corren en background Broadcast Receivers – reciben y actúan

con mensajes de broadcast Content Providers – permiten el

intercambio de datos entre apps

23

Finalizar Componentes Activities

Se terminan ellas mismas por medio de finish(); La termina otra actividad por medio de finishActivity();

Services Se terminan con stopService();

Content Providers Solo están activos cuando le responden a los

contentResolvers Broadcast Receivers

Solo están activos cuando responden los mensajes de broadcast

24

Intents Es un objeto que se usa para accionar algún

componente. Usos principales:

Iniciar una Actividad Iniciar un servicio Enviar un Broadcast Iniciar otras Apps

25

Intent i = new Intent(getApplicationContext(), ChatActivity.class);startActivity(i);

26

WhatsApp usa Intents

ATENCIÓN:Los Intents no hacen parte de los componentes de la Arquitectura de Android!!Los compontentes son:ActivityServiceBroadcastReceiverContentProviders

27

Tarea Instalar Android Studio Crear un nuevo proyecto Crear y correr el emulador Cuáles son los componentes de la

arquitectura de Android? Explique cada uno.

28

Mi primera App

@2011 Mihail L. Sichitiu 29

30

MUCHAS GRACIAS