introduccion del curso

42
Introducción a Desarrollo de Aplicaciones en Android Wilfredo Nieves

Upload: wilfredo-nieves

Post on 10-Feb-2017

263 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Introduccion del curso

Introducción a Desarrollo de Aplicaciones en Android

Wilfredo Nieves

Page 2: Introduccion del curso

Objetivos del curso• Reconocer conceptos básicos de la plataforma Android y su historia.

• Adquirir destrezas para planificar, desarrollar probar y lanzar una

aplicación móvil para teléfonos Android.

• Adquirir conocimiento básico en lenguaje de programación Java.

• Analizar e implementar elementos de interface gráfica que cumpla

con los estándares de Interacción Humana.

Page 3: Introduccion del curso

Materiales• Android Studio

• Android Developer (http://developer.android.com)

• Github (https://github.com/wnieves19)

• Slideshare (http://www.slideshare.net/WilfredoNieves)

• Teléfono Android (físico o emulador; Genymotion)

Page 4: Introduccion del curso

Libros• Head First Java, 2nd Edition

• Android Programming: The Big Nerd Ranch

Guide 

• Advanced Android Application Development (4th

Edition) 

Page 5: Introduccion del curso

Bosquejo del Curso• Parte I • Introducción a la programación (Java)• Introducción a la plataforma Android

• Parte II• Planificar nuestra Aplicación (Music Player)• Ejecutar el plan• Probar la aplicación

• Parte III• Subir el app al Play Store• Actualizar el app

Page 6: Introduccion del curso

¿Qué es Android?• Sistema operativo abierto (celulares, tv’s, relojes,

autos)

• Lanzado en el 2008 por Google

• Versión Actual 6.0 (Marshmellow)

• Android SDK

Page 7: Introduccion del curso

Android SDK• Software Development Kit

• Android Studio

Page 8: Introduccion del curso

Ventajas de Android• 1.6B de teléfonos con Android

• Gran comunidad de desarrolladores

• Muchos recursos y documentación (www.stackoverflow.com)

• Librerías externas (Third-party libraries )

• Play Store

• Muchos trabajos!

Page 9: Introduccion del curso

¿Qué necesito?• Programar en Java

• Android Studio

• Dispositivo para hacer pruebas

• Mucha paciencia

Page 10: Introduccion del curso

Programación• Serie de instrucciones escritas (source code) en la computadora

para formar un programa (software).

• Básicamente es decirle a la computadora que hacer.

• Manipular diferentes tipos de objetos (numeros, palabras,

imágenes, sonidos, etc.)

• Construir un buen programa requiere buena planificación

Page 11: Introduccion del curso

It has often been said that a person does not really understand something until he teaches it to someone

else. Actually a person does not really understand something until after teaching it to a computer, i.e.,

express it as an algorithm."

(Donald Knuth, in "American Mathematical Monthly,"

81)

Page 12: Introduccion del curso

Lenguaje de Programación• Es un traductor entre los programadores y la computadora

• En su nivel mas bajo, las computadoras hablan números

binarios (1 y 0)

• Existen diferentes tipos de lenguajes de programación

• Su diferencia principal es en sintaxis y sus reglas

Page 13: Introduccion del curso

Java• Lenguaje de programación Orientado a Objetos (OOP)

• Las aplicaciones desarrolladas en java corren en el Java

Virtual Machine (JVM).

• Es uno de los lenguajes mas populares que existen

• Android esta contruido en Java

Page 14: Introduccion del curso

Java Virtual Machine• Es un proceso abstract0 que le permite a las

computadoras correr programas en Java.• Entiende clases compiladas (bytecode)

Page 15: Introduccion del curso

¿De que se componen los programas?• Archivos llamados clases

• Son de extensión .java• Una clase es una pieza del programa

public class Dog {

}

Page 16: Introduccion del curso

Metodos• Las clases contienen métodos

public class Dog {

void play(){

}

void bark(){

}

}

Page 17: Introduccion del curso

Declaraciones• Los métodos contienen declaraciones (statements)

public class Dog {

void play(){statement1;

}void bark(){

statement1;statement2;

}

}

Page 18: Introduccion del curso

Inicio de un programa• El JVM busca el método main declarado de esta

manera• Esto significa el comienzo del programa• Solo debe de haber un método main en todo en

programapublic class MyClass {

public static void main(String[] args){

}

}

Page 19: Introduccion del curso

Inicio de un programa• En java todas las declaraciones (métodos y statements)

van dentro de una clase.

• El JVM luego convierte nuestras clases (con

extension .java) en bytecode (extension .class) y

presenta el programa en el sistema en que se encuentre.

Page 20: Introduccion del curso

Declaraciones (statements)• Es donde suceden las cosas en nuestro programa.

• Estas son las verdaderas instrucciones que le damos a

la computadora.

• Haz algo!

Page 21: Introduccion del curso

Declaraciones (cont.)• Completa una acción

public class MyClass {

public static void main(String[] args){int x= 3;x = x * 5;

System.out.println(”The value of x = ” + x);//this is a comment

}

}

Page 22: Introduccion del curso

Operadores aritméticos• Suma: +• Resta: -• Multiplicación: *• División: /• Residuo: %

Page 23: Introduccion del curso

Variables• Es un espacio en memoria para guardar un valor

• Este valor debe de ser de algún tipo (int, float, boolean,

double, etc.)

• Pueden ser utilizados en nuestros statements para

cambiar re-utilizar o cambiar su valor

Page 24: Introduccion del curso

Tipos de variables• Primitivos

• byte: es un entero de 8 bit• short: es un entero de 16 bit; tiene de valor minimo -32,768 y

maximo 32, 768 inclusivo• char representa un solo carácter e.g. “M”• int: representa un número entero e.g. 356• float: representa un numero decimal de 32 bit• double: representa un número décimal de 64 bit• long: es un entero de 64 bit; se debe de usar cuando la cantidad

sobrepasa a las de int• boolean: tiene solamente dos opciones: true o false• String: Representa una serie de caracteres alfanumericos

Page 25: Introduccion del curso

El compilador• Convierte nuestro código (.java) en bytecode (.class)

para que asi pueda ser procesado por el JVM• Se encarga de que no ocurran errores de compilación

int x = 3.14;boolean bool = 55;

Page 26: Introduccion del curso

Metodos• Además, los métodos pueden devolver algún valor

(Opcional)• El valor puede ser de cualquier tipo de variablepublic class Dog {

public String play(){

String sentences= “This is a sentence”;

return sentence;}

}

Page 27: Introduccion del curso

Métodos (cont.)• Tambien, pueden aceptar valores

public class Car{

public void moveForward(int speed){System.out.println(“The car accelerate to ”+ speed);

} }

Page 28: Introduccion del curso

Ejemplo de programación public static void main(String[] args){

System.out.println("Bienvenidos al programa de suma simple");

System.out.println("Si entras dos números los sumare por ti");

Scanner reader = new Scanner(System.in); System.out.println("Entra un numero: "); int n = reader.nextInt();

System.out.println("Entra otro numero"); int y = reader.nextInt();

int total = n + y;

System.out.println("La suma de ambos numero es "+ total); }

Page 29: Introduccion del curso

Otras acciones• Repetitivas (Loops)

public class MyClass {

public static void main(String[] args){//for loopfor (int i = 0; i<10; i++){

System.out.println(i+""); }

//while loopint i = 0;

while(i< 12){ System.out.println(i+""); i++; }}

}

Page 30: Introduccion del curso

Otras acciones (cont.)• Relacionales

public class MyClass {

public static void main(String[] args){int x = 8;

if(x > 10){ System.out.println("x is greater than 10"); }else{ System.out.println("x is less than 10"); } }

}

Page 31: Introduccion del curso

Operadores Relacionales• Mayor que: >• Menor que: <• Igual que: ==• No igual que: !=• Mayor o igual que : >=• Menor o igual que: <=

Page 32: Introduccion del curso

Operadores Condicionales

• Y: &&• ó: ||

public class MyClass {

public static void main(String[] args){

int x = 13; if(x > 10 && x < 20){ System.out.println("x is between 10 and 20"); }

}

Page 33: Introduccion del curso

Clases• Las clases se componen de métodos y variables de

instancia• Esto se traduce a comportamientos y estados

respectivamente VehiclespeedcolormakemoveForward()stop()steer()

Campos de Instancia

Comportamiento

Page 34: Introduccion del curso

Reusar las clases (Herencia)Vehicle

speedcolormakemoveForward()stop()steer()

Car Motorcycle Bicycle

Superclase

Subclases

Page 35: Introduccion del curso

VehiclespeedcolormakemoveForward()stop()steer()

Car Motorcycle Bicycle Dronefly()//codigo especifico //de dronesland()

Page 36: Introduccion del curso

Crear clases• Para crear clases pensemos en cosas que ese objeto sabe y en cosas que ese objeto hace.

Songartistalbum

setArtist()setAlbum()play()

Sabe

Hace

Page 37: Introduccion del curso

Objetos• Los objetos son referencias de las clases• Son un tipo de variable no-primitiva• El JVM sabe como utilizar esta referencia para acceder

el objetopublic class MyClass {

public static void main(String[] args){

Song song = new Song();

song.play();

}}

Page 38: Introduccion del curso

Objetos vs Clases• Las clases no son objetos

• Las clases son un mecanismo de mezclar comportamientos y acciones en una sola unidad

• Visualícenlo como un plano de un casa

• Los objetos son instancias de las clases

• Son la existencia física de la clase

• La clase le dice al JVM como crear los objetos

• Los objetos vendrían siendo la casa

Page 39: Introduccion del curso

Herenciapublic class Vehicle {

private int speed;private String color;private String make;

public void moveForward(){System.out.println("Vehicle moving forward");

}

public void stop(){System.out.println("Vehicle is stopping");

}

public void steer(){System.out.println("Vehicle is steering");

}

}

Page 40: Introduccion del curso

Herencia (cont.)

public class Car extends Vehicle {

int wheelSize = 16;

public void openTrunk(){//Opening trunk code}

}

Page 41: Introduccion del curso

Herencia(cont.)

public class MyClass {

public static void main(String[] args){

Car car = new Car();car.moveForward();}

}

Page 42: Introduccion del curso