Curso Completo de Android: Aprende Creando Apps
4.6 (75 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
327 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Curso Completo de Android: Aprende Creando Apps to your Wishlist.

Add to Wishlist

Curso Completo de Android: Aprende Creando Apps

Aprende Android rápidamente, sin rodeos y con ejercicios prácticos.
4.6 (75 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
327 students enrolled
Last updated 6/2017
Spanish
Current price: $12 Original price: $165 Discount: 93% off
3 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 7.5 hours on-demand video
  • 8 Articles
  • 12 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Desarrollar aplicaciones Android desde su inicio hasta su publicación en la Play Store
  • Entender como funciona Android, sus características, métodos y herramientas principales
  • Crear Apps siguiendo la metodología correcta de programación
  • Crear Apps que obtengan y usen datos de internet
  • Usar APIs de google como localización y Google Maps
  • Estar a la altura de un desarrollador Android Junior para iniciar a trabajar como Android Developer
View Curriculum
Requirements
  • De preferencia contar con un dispositivo Android
  • Tener nociones de programación sería de gran ayuda, en especial si es en Java
  • Entender el lenguaje español
Description

En este curso totalmente práctico aprenderás a programar en Android a un nivel que te dejará listo para iniciar a trabajar como desarrollador de aplicaciones móviles, lo cierto es que lo que aprenderás aquí es más de lo que yo sabía cuando inicié y ahora soy desarrollador Senior con experiencia de más de 5 años en empresas tanto en México como en Silicon Valley.

El curso aborda la programación en Android desde el nivel más básico hasta un nivel intermedio-avanzado, es decir, aprenderás desde como instalar Android Studio (el software oficial para programar en Android) hasta como publicar una app en la Play Store, pasando por los temas más recurrentes que te piden en empresas de talla internacional como Uber, Snapchat, Whatsapp, entre muchas otras.

A diferencia de otros cursos, este curso es totalmente práctico y dinámico, no se anda por las ramas y va directo a los temas más importantes (No verás lecciones largas y aburridas), lo que aquí te brindo es un atajo para que aprendas a programar de la manera más rápida y eficiente posible. De igual manera, el curso no aborda temas sueltos al azar, sino que siempre se está viendo como integrar cada concepto a una aplicación real.

Por último déjame comentarte que cuando surjan dudas (que de seguro surgirán) siempre estaré al pendiente para, con mi experiencia, resolverlas de la mejor manera posible, siguiendo las mejores prácticas de programación que he aprendido a lo largo de mi carrera.

Si quieres saber más de mi, mi experiencia y mis proyectos, te invito a ver mi perfil de LinkedIn: Jesus Ernesto Valdez Almaral

Who is the target audience?
  • Personas que quieran iniciar a ser programadores profesionales de Android desde el nivel más básico
  • Emprendedores que quieran crear sus propias Aplicaciones
  • Quienes no tengan mucho tiempo y quieran aprender Android de manera rápida
  • Estudiantes de carreras de Software o afines
  • Quienes quieran aprender Android solo por hobbie (Así es como empecé yo)
Compare to Other Android Development Courses
Curriculum For This Course
110 Lectures
07:25:09
+
Introducción: Preparando Todo
5 Lectures 27:29

En esta clase aprenderás a instalar Android Studio, el Software oficial de Android recomendado por Google (Si, lo sentimos mucho eclipse). La buena noticia: ¡IT´S FREE!

Preview 08:26

Además de Android Studio, se necesita instalar algo llamado SDK (Software Development Kit) que son todas las herramientas que utiliza el lenguaje para poder programar, en esta lección aprenderás como instalarlo.

Instala Android SDK (Software Development Kit)
04:29

¿Listo para tu primerísima app? En esta lección configuraremos un emulador y ejecutaremos una app en él.

Ejecución de App en un Emulador
04:51

Es muy práctico trabajar con el emulador incluido con Android Studio, pero no hay como trabajar con un dispositivo móvil real, en primer lugar porque son más rápidos y en segundo porque el emulador no puede emular algunas opciones (Como la localización).

En esta lección aprenderás a configurar tu celular o tablet Android para poder ejecutar aplicaciones en ellas.

Ejecuta tu app en un dispositivo móvil real
03:23
+
Comenzando a conocer Android
7 Lectures 32:05

¡Empecemos a programar! en esta lección te explicaré el siguiente ejercicio que haremos, el cual consta de una app que convierte tu edad a años perrunos

Explicación de App "Mi Edad Canina"
00:58

Aprende los pasos necesarios para crear una nueva app en Android Studio

Creando una nueva App
05:06

Los Views son las herramientas visuales que utiliza Android para crear pantallas: Textos, imágenes, etc. En esta lección aprenderás a implementarlos y utilizarlos.

Android Views
06:43

En esta lección veremos como utilizar layouts. Un layout en Android es una forma de agrupar y ordenar los views de tus pantallas.

Layouts: Ordena tus views
07:24

Una app sería muy aburrida si no tuviera imágenes, en esta lección aprenderás como implementar ImageViews en Android, los views que pueden contener imágenes.

ImageViews - Agrega imágenes a tu App
02:44

Ahora que conoces los Views más importantes de Android, aprenderás como utilizarlos en código Java para poder manipularlos y mostrar datos al usuario.

Usa los Views en tu código Java
06:32

En esta lección aprenderás a implementar un botón clickeable para que realice cierta acción cuando le des click, esto lo haremos por medio de algo que se conoce en Android como OnClickListener

OnClickListener: ¡Oprime ese botón!
02:38
+
Manos a la obra
7 Lectures 39:35

¡Manos a la obra! En esta lección implementarás puro código Java para programar la App Mi Edad Canina, crearás la siguiente funcionalidad: Cuando el usuario inserte su edad, la app mostrará la edad que tendría si fuera un perro.

App: Programando la App "Mi Edad Canina"
05:57

Aprenderás a identificar el Android Monitor, esta pequeña ventana te acompañara por el resto del curso y el resto de tu vida como desarrollador Android

Android Monitor: Monitorea los errores de tu App
05:06

En esta lección aprenderás a loguear tu app, y no me refiero a iniciar sesión, sino a saber qué es lo que pasa en cada punto de tu aplicación con un comando llamado Log, de esta manera, detectarás errores mucho más rápido y sabrás por qué tu aplicación tiene bugs (y créeme, los tendrá)

Logging con Android
07:22

Muestra lo que pasa en la app a tus usuarios utilizando Toasts.

Los Toasts son los pequeños mensajes que aparecen (Normalmente en la parte inferior) en la pantalla de tu app, muestran un pequeño texto como "Hubo un error al descargar datos" y luego desaparecen.

Toasts, alerta a tus usuarios
04:44

Toda buena app en Android debe tener un excelente manejo de los recursos String, que se ubican en el archivo strings.xml. Estos recursos te ayudarán a llevar un control de todos los textos que utilices en tu aplicación.

TIP: INICIA MANEJANDO RECURSOS STRING, NO LO DEJES PARA EL FINAL, ASÍ SEA MUY TEDIOSO.

Hazlo y tu YO futuro me lo agradecerá

Recursos String
07:47

Recuerda como usar los recursos String y en qué ocasiones

Pregunta recursos String
1 question

¿Quieres que tu App diga "Hola", "Hello", "Ciao" y "Hallo" dependiendo de en qué idioma esté tu celular? Estás en la clase correcta, aquí aprenderás a internacionalizar los idiomas de tu aplicación Android

Soporta múltiples lenguajes
05:33

El ícono es una parte importantísima de la app, es lo primero que ven los usuarios además del nombre y determina en gran medida su personalidad (Si, también las apps tienen personalidad) y la experiencia que brinda.

En esta clase aprenderás a insertar el ícono de tus aplicaciones.

Inserta icono de la App
03:06
+
OnClickListener para múltiples botones
3 Lectures 16:58

¡Otra App! En esta clase te explicaré en qué consiste la siguiente aplicación llamada "Film Catalogue" aunque por su nombre ya te debes imaginar.

Film Catalogue es un catálogo de películas, esta app nos servirá para conocer como usar OnClickListener cuanto tengas múltiples botones en una pantalla

App: Film Catalogue
02:08

En esta clase implementaremos el Layout para la app Film catalogue, veremos más a detalle el tema de Layouts para que lo pongas en práctica.

Crea Layout para App Film Catalogue
04:19

De nuevo nos ponemos manos a la obra para programar la aplicación implementarás OnClickListener para múltiples botones y además pondrás en práctica todo lo visto hasta este momento del curso ¡Para que no lo olvides!

Dando funcionalidad a App Film Catalogue
10:31
+
Intents
11 Lectures 50:57

¡Nueva App! Nos vamos poniendo un poco serios, en nueva sección crearemos una sencilla aplicación llamada "Registro de superheroes" que consiste en un formulario donde los Avengers se registraban para poder formar parte del grupo (¿No la recuerdas? Tal vez no te quedaste al final de los créditos :D). 

En esta sección veremos temas como Relative Layouts, Intents y un poco de programación orientada a objetos, así que ¡Disfrútala!

App: Registro de superheroes
01:35

En esta clase aprenderás a usar los Relative Layouts. Este tipo de layout es muy versátil y te permite hacer muchas cosas que los otros tipos no (Si quieres saber que son los layouts mira la clase 8)

Relative Layouts
04:29

Los Intents son como un mensaje que nos permite llamar otras Activities (Pantallas) de la aplicación, al igual que un mensaje, se envía desde una pantalla A y se recibe en una pantalla B y puede contener información.

En esta lección implementaremos un intent para que aprendas como funcionan, es un tema muy pero muy utilizado.

Intents: Llamando a otras Activities
03:31

En la clase anterior se abordaron los intents, aquí los vamos a profundizar agregando datos a los mismos para pasar esos datos a otras Activities.

Pasando datos entre Activities
07:51

Es PRIMORDIAL que conozcas al menos un poco sobre Objetos y Clases si quieres ser un gran programador Android, esta es una clase BONUS en la que te explico qué son y como se utilizan los objetos y clases, puesto que los estaremos usando a lo largo del curso.

Introducción a Objetos y Clases
07:40

Los Getters y Setters van de la mano con los Objetos y Clases en Java, es por esto que también quiero enseñarte qué son y como se utilizan, y esto lo aprenderás en esta clase.

Getters y setters
04:25

Roma no se hizo en un día, pero tú si puedes crear objetos en segundos, y esto lo puedes hacer con ayuda de los Constructores, en esta clase verás qué son, como implementarlos y utilizarlos

Constructores de Objetos
04:07

Ahora que ya sabes que es un objetos (Si no, pon más atención, lo vimos en las 3 lecciones pasadas), podemos utilizarlos aquí y allá, en esta clase aprenderás a pasar objetos entre Activities utilizando algo llamado Parcelables, verás que es muy sencillo.

Pasaremos los datos de un superhéroe de una pantalla A para mostrarlos en una pantalla B

Parcelables: Como pasar objetos entre activities
04:57

No tienes imágenes de tu superhéroe, no importa, tómate una Selfie, en esta lección veremos como utilizar implicit intents para abrir la cámara de tu app, tomar una foto y mostrarla como perfil del superhéroe.

Aprovecho para recomendar la canción de Soy tu superhéroe de Melendi, está divertida ;)

Implicit Intents: Toma fotos desde tu App
08:36

¿Que pasa si la pantalla tiene tantas cosas que no caben? Para eso están los Scrollviews, estos te permiten "arrastrar" la pantalla para ver los Views que están fuera de ella, en esta clase implementaremos uno.

Scrollviews
03:39

En este ejercicio pondrás en práctica la Sección 5 creando un formulario para llenar datos de pago, tal como lo hacer aplicaciones como Uber, Instacart, Amazon, Airbnb, etc.

Ejercicio: Formulario de Tarjetas de crédito
00:07
+
ListViews y Adapters
7 Lectures 28:28

Ahora sí, a ponernos serios, esta app tiene todo lo que te pedirían en una Aplicación real de una empresa, EMonitor es una app que muestra los últimos terremotos que han ocurrido en el mundo, en esta sección aprenderás muchos conceptos útiles.

App: Monitor de terremotos
02:39

Creo que las listas (Conocidas como ListViews) son uno de los Views más utilizados en las apps de Android, y en esta clase aprenderás a implementar una.

ListViews
04:21

Un Adapter es el enlace que hay entre un ListView y la pantalla de la app. En la clase pasada creamos un ListView con un Adapter que viene con Android por defecto, pero en la mayoría de los casos necesitaremos un Adapter personalizado para mostrar listas de objetos, en esta lección veremos como crear uno.

Custom Adapters 1 - xml
02:38

Segunda (y más laboriosa) parte de crear un Adapter Personalizado, aquí implementarás la parte de Java de este ejercicio, donde mostrarás datos de los terremotos

Custom Adapters 2 - Java
10:58

En esta clase conocerás qué es el View Holder Pattern para que tus ListViews sean mucho más eficientes y no se "atoren" cuando hagas scroll, esta lección es muy importante aunque puede ser un poco complicada al principio, pero aquí me tienes para las dudas que surjan :)

El View Holder Pattern
04:29

Ningún programador de Android se puede preciar de serlo si no conoce el Activity Lifecycle o Ciclo de vida de una Actvidad.

En resumen una Activity es como se le conoce a cada pantalla de una aplicación.

TIP: Este es uno de los temas MAS PREGUNTADOS en las entrevistas de trabajo de desarrollo de Android

Activity Lifecycle
03:20

En este ejercicio practicarás lo visto en la sección de Listviews y Adapters, es un ejercicio muy divertido que consiste en un chat aleatorio que te contesta tus preguntas (Como la bola 8 de Toy Story pero en versión chat)

Ejercicio: Guess Chat
00:03
+
Trayendo datos de internet
8 Lectures 32:57

Llegó el momento que estabas esperando (al menos eso creo): Descargar datos de internet.

Hasta este momento hemos "inventado" los datos de los terremotos, pero a partir de este punto los descargaremos de una API, esto es lo que veremos en esta sección, y en esta clase comenzaremos viendo que es una API y de dónde demonios vamos a descargar los datos.

Analizando la API de USGS
03:19

No, no es el de la máscara de Jockey, aunque se pronuncia igual, JSON es el formato MÁS UTILIZADO hasta este momento para descargar y mostrar datos de internet, aquí aprenderás como se ve (No, no da miedo), y como se interpreta.

¿Qué es JSON? Pista: No es el de la máscara de hockey
05:32

¡POR FIN! Iniciaremos la descarga de datos implementando un Http Request, esta y las siguientes lecciones de la sección son, según mi opinión, de las más complicadas del curso, así que si las entiendes (Y si no, pregunta hasta que lo hagas), ya estás del otro lado

HttpRequests I
03:43

Clase opcional (Pero recomendada) para entender más acerca de cómo funciona esto de descargar datos de internet, si ya tienes experiencia te la puedes saltar sin problemas.

En esta clase veremos la definición los métodos más usuales para descargar datos de un servidor: GET, POST, PUT Y DELETE

Http Methods (Opcional)
02:59

Segunda clase de Http Request, aqué continuamos con la descarga de datos de los terremotos de internet

HttpRequests II
03:43

Hay muchas tareas que son "pesadas" o necesitan mucho procesamiento y no es recomendable que se hagan junto con las tareas "normales" porque se podrían apreciar retrasos en tu app. En esta lección te explicaré un concepto llamado hilo o Threads, que nos sirven para abordar este problema.

Threads (Hilos)
02:53

En esta clase veremos qué es un AsyncTask como implementar uno y cómo estos nos ayudan a ejecutar tareas que requieren mucho procesamiento para que nuestra app sea más eficiente y tenga menos retrasos

AsyncTasks
06:29

En esta clase aprenderás a regresar un resultado después de haber ejecutado una operación usando AsyncTasks, con esto aprenderás a la vez a implementar una Interfaz de Java (En caso de que no sepas como), este tema es muy útil y te recomiendo entenderlo al 100%

Pasando datos de AsyncTask a Activity (Java Interfaces)
04:19
+
Adecuando datos de internet para tu App
10 Lectures 26:38

Aprende a convertir los datos JSON descargados a datos que puedas mostrar en tu aplicación. A esto los desarrolladores le conocemos comúnmente como parsear por el ingles "Parse" (Su traducción en español "Analizar gramaticalmente" no es la más cómoda de utilizar)

Parseando JSON a objetos
06:52

En esta clase verás como pasar los datos "parseados" del JSON a un ListView para mostrarlos al usuario.

Integra los datos en tu ListView
02:20

Aprende a dar la capacidad de poder hacer clicks en los elementos de tu ListView utilizando un OnItemClickListener.

En esta clase vamos a crear un DetailActivity donde mostraremos los datos del terremoto seleccionado.

OnItemClickListener: Proporciona click a tu ListView
03:28

En esta lección vamos a optimizar un poco el Parseo de los datos JSON, si quieres saber que es Parseo, mira la clase 46

Optimizando el parseo Json
01:58

En esta lección vamos a ver como convertir las coordenadas de los terremotos a datos adecuados para ser mostrados en la pantalla de la app

Ejercicio: Parsea las coordenadas
01:33

En esta clase vamos a convertir las coordenadas desde el formato JSON a datos adecuados para ser mostrados en el DetailActivity de la aplicación, en esta lección profundizarás los conocimientos de parseo de JSON

Respuesta ejercicio: Parsea las coordenadas
02:03

En esta lección veremos como mejorar la interfaz de usuario (UI) de la pantalla DetailActivity para que quede tal y como la vimos en la explicación de la clase 32 de Emonitor

Ejercicio: Mejorando DetailActivity
02:22

En la clase pasada dejé un pequeño ejercicio, en esta clase te doy mi respuesta

Respuesta Ejercicio: Embelleciendo DetailActivity
02:02

Existen diversos formatos de fecha dependiendo en el país que te encuentres, en México el formato más común es día/mes/año, mientras que en Estados Unidos es mes/día/año, en esta clase aprenderás como mostrar formatos de fecha (y hora) para ver en qué momento surgieron los terremotos.

Preview 03:26

Pequeño ejercicio: agrega hora de envío a Guess Chat
00:34
+
Almacenando datos en el dispositivo
7 Lectures 30:04

¿Que es una base de datos y como se maneja en Android? Esta y muchas más respuestas las obtendrás en esta lección.

¿Que es una base de datos?
02:25

Aquí te dejo un pequeño tutorial de SQLite, el lenguaje utilizado en Android para implementar y manejar bases de datos, es un artículo muy sencillo en el que te explico paso por paso los comandos más requeridos de SQLite y que utilizaremos en la app EMonitor

Pequeño tutorial SQLite
04:13

En esta clase crearemos una clase llamada DBHelper, esta clase nos ayudará a manejar la base de datos de la app de Monitor de terremotos, y nos va a servir para crear y actualizar tablas de nuestra base de datos

Creando un DbHelper
05:59

Un Contrato es una relación que se hace entre la base de datos y la aplicación, para obtener los datos de manera más sencilla, en esta clase aprenderás a crear uno.

Crea un Contract para la base de datos
02:43

En esta clase aprenderás a guardar o insertar datos en una base de datos usando SQLite y los comandos que vienen con Android

Guarda datos en la base de datos
04:53

Hay aplicaciones que deben seguir funcionando incluso cuando el dispositivo no tenga conexión a internet, por lo que es importante saber cuando un celular o tablet cuenta con conexión, en esta clase aprenderás a preguntar y saber esto para, cuando no se cuente con el servicio, se tomen los datos desde la base de datos en vez de pedirlos al servidor.

Revisar si hay conexión a internet
04:05

En esta clase aprenderás a tomar datos desde una base de datos usando SQLite y los comandos que vienen con Android, a esto se le conoce comúnmente como "hacer un query a la base de datos"

Haz un Query para obtener datos de la base de datos
05:46
+
Android Fragments
14 Lectures 46:30

En esta sección aprenderás qué es un fragment, como se usan y cual es la manera más óptima de implementarlos

¿Qué es un fragment?
01:53

Al igual que una Activity, un Fragment también tiene un ciclo de vida, el cual es muy importante que conozcas si quieres obtener el mayor provecho de ellos, en esta clase aprenderás cómo funciona.

Ciclo de vida de un fragment
01:33

¡Nueva App! en esta clase y las siguientes vamos a crear una app POKEDEX para aprender a implementar fragments de manera dinámica y divertida, de nuevo ¡Que lo disfrutes!

App: Pokedex
01:15

Podemos insertar framgents estáticos al igual que se inserta un View en los layouts, en esta clase verás cómo al crear un fragment con un listview de pokemon

Integra fragments en XML
06:36

En esta clase vamos a crear otro fragment estático que nos va a servir para mostrar los detalles de los pokemon que seleccionemos en el ListView de la clase anterior

Creando un detail fragment
02:52

Todos los fragments están alojados dentro de una activity, por lo que en bastantes ocasiones es necesario pasar datos del fragment hijo a la activity padre, en esta clase te mostraré cómo hacer esto.

TIP: Nunca comuniques fragments directamente entre ellos, siempre hazlo a través de una activity

Pasar datos de un Fragment a una Activity
05:52

Ahora veremos el caso contrario de la clase anterior, aprenderás a pasar datos desde una activity a un fragment.

Pasar datos de Activity a Fragment
03:07

Manipular imágenes cuando estas son de distintos tamaños es una de las tareas más molestas de Android, pero en esta lección te enseñaré como así que no tienes de qué preocuparte

Manejando imágenes de distintos tamaños
01:42

¡Reproduce los sonidos de los pokemon que selecciones en tu app! en esta lección te muestro como.

Reproduce sonido en tus apps
02:55

En esta clase verás como utilizar una librería externa llamada Glide, esta te ayudará a descargar y imágenes de internet y mostrarlas de una forma bastante sencilla ¡En una sola línea de código! 

Picasso: Descarga y muestra imágenes de internet
05:24

Después de haber aprendido fragments estáticos, le llegó el turno a los fragments dinámicos, en esta clase aprenderás como implementarlos y utilizarlos.

Introducción a fragments dinámicos: Ver pokemon stats
01:52

La mejor manera de crear un fragment es hacerlo a través de un método llamado newInstance(), en esta clase aprenderás a usarlo para crear fragments dinámicos

Fragment newInstance() method
04:16

Segunda parte de la lección para crear fragments dinámicos usando el método newInstance()

Fragments newInstance() II
01:32

Listo, ahora que ya sabes utilizar fragments estáticos y dinámicos, podrás implementar el código para seleccionar un pokemon de una lista, ver su imagen y reproducir su sonido y además en otro fragment poder ver sus estadísticas (fuerza, velocidad, etc.) te dije que iba a ser divertido.

Manejo de Fragments Dinámicos: Ver Pokemon Stats
05:41
5 More Sections
About the Instructor
Jesus Ernesto Valdez Almaral
4.5 Average rating
189 Reviews
871 Students
2 Courses
M.C. En Machine Learning & Image Processing

Maestro en ciencias en Procesamiento de Imágenes y Machine Learning. 

Director de Ingeniería de la empresa y centro de investigación Markoptic.

Desarrollador Android Senior en Juicero, San Francisco y Handy, Guadalajara.

Fui profesor en la Universidad Autónoma de Baja California, México. 

Programador en distintas plataformas, principalmente Java, Android, Swift, C++, Matlab, Labview y Python.

Me gusta tocar guitarra, jugar basketball, leer mucho y buscar nuevas formas de ayudar a la gente con mis ideas, me considero un emprendedor.