Udemy

Platform

Español

Language

Mobile Apps

Category

Bootcamp de programación de apps Android desde cero con JB

Curso intensivo para aprender a hacer apps para Android desde cero con el método presencial de Juan Gabriel Gomila

4.60 (265 reviews)

Students

61 hours

Content

Sep 2018

Last Update
Regular Price

BLUE HOST
Blue Host
Fast, easy, and secure WordPress hosting in minutes + 1 free domain name
65%OFF : $2.95/month

What you will learn

Hacer aplicaciones móviles con Android Studio

Aprender a crear diseños varios usando la gama de layouts disponibles en Android Studio y a combinarlos para hacer diseños únicos

Programar de forma correcta con Java para añadir funcionalidades a la aplicación móvil que se haya creado


Description

Este curso se centra en mostrar a Juan Gabriel Gomila, impartiendo sus clases presenciales a los estudiantes del ciclo formativo superior en desarrollo multiplataforma, en el marco del desarrollo de aplicaciones móviles con Java y Android. Se trata de un curso intensivo de seis meses, unas 4 horas a la semana donde desde cero y sin experiencia en el campo, los estudiantes acaban finalizando creando sus propias apps con web services incluidos como proyecto final. 

El temario del Bootcamp se define por días de trabajo donde cada día se lleva a cabo una gran tarea dividida en varias partes menores, de ahí que los vídeos tengan una duración bastante superior a lo que viene siendo habitual en los cursos de JB. En los vídeos se incluyen también las dudas y problemas con los que se encuentran los estudiantes en clase así como la solución aportada por el docente en cada caso. 

  1. Introducción al mundo de las apps móviles en Android, infraestructura, tipos de ficheros y creación del clásico 'Hello World' traducido a varios idioma usando únicamente elementos de layout.
  2. La herramienta de diseño de layouts, donde trabajaremos a fondo los layouts más utilizados para interfaces de usuario en Android: el Constraint Layout, el Linear Layout y el Relative Layout.
  3. Elaboración de layouts complejos con formularios de registro, diferentes layouts combinados y una pincelada del ciclo de vida y etapas por las que pasa cada actividad en Android
  4. Repaso de la sintaxis de Java, que ya vemos a fondo en el curso de Fundamentos de programación de Java, para los que la tengáis un poco oxidada o no la recordéis demasiado
  5. Introducción a la programación orientada a objetos donde trabajamos con una introducción a clases y a objetos, así como los constructores, variables estáticas y  getters y setters
  6. Programación orientada a objetos avanzada con conceptos más abstractos y potentes como la herencia, el polimorfismo, las clases abstractas y las interfaces entre otros.
  7. Conocer los widgets básicos de Android para diseñar interfaces más completas y elaboradas con Text Views, Buttons, Image Views, Edit Texts, Switch, Radio Group y Radio Buttons, Check Boxes, Web Views y Clock Views. Todo lo que uno necesita para elaborar el 90% de las funcionalidades que uno puede pedirle a una aplicación móvil.
  8. Uso de los fragmentos en lugar de actividades completas para mostrar información en forma de pop ups. Iniciaremos también el primer proyecto completo del curso donde crearemos una app para gestionar notas y tareas pendientes de llevar a cabo. 



Screenshots

Bootcamp de programación de apps Android desde cero con JB
Bootcamp de programación de apps Android desde cero con JB
Bootcamp de programación de apps Android desde cero con JB
Bootcamp de programación de apps Android desde cero con JB

Content

Introducción

Introducción

Conoce a Juan Gabriel Gomila, tu instructor en Udemy

Repositorio con todos los proyectos del curso

Comunidad de estudiantes del curso

Día 1: Toma de contacto con Android y Java

Día 1: Volver a empezar otra vez

Arquitectura de las apps de Android

Cómo crear y compilar tu propio proyecto

Apps internacionales y ficheros de strings en Android

La estructura de una actividad en Java

La estructura de un Layout en XML

Mi primer app en Android, Hello World!

Descarga el código fuente del Hello World con Android

Día 2: Conociendo la herramienta y el diseño de interfícies gráficas

Día 2: Uno es las herramientas que utiliza

Un plugin de Android muy útil

Un paseo por la interfaz de Android Studio

El editor de Layouts de Android Studio

El sistema de archivos de Android y Graddle

Las relaciones de resolución en Android

Los layouts para el diseño de interfaces

Ejercicio de colocación de Widgets en pantalla

El Relative Layout

El Linear Layout

El Constraint Layout

Descarga los códigos fuentes sobre layouts y diseños desde aquí

Día 3: Acerca de los layouts más complejos y el ciclo de vida de una aplicación

Día 3: Los engañosos y traicioneros layouts

Crear apps para tablet en Android

Listas con Scrolls Views

Creando un formulario de registro

El layout de términos y condiciones

El ciclo de vida de una app

Los estados y etapas del ciclo de vida de una app

El ciclo de vida a través de tostadas

Inflando menús de ajustes

Descarga aquí los códigos fuentes de la sección

Día 4: El repaso de sintaxis de Java

Día 4: Java, el lenguaje de programación de las apps

Los comentarios de código

Los tipos de datos básicos

Asignaciones de variables

Ejercicio 1 - Variables

La toma de decisiones

Ejercicio 2 - Aragorn a la defensa del puente de los orcos

Switch y case para decisiones varias

Los bucles en Java

Ejercicio 2 - Un pasito para adelante, un pasito para atrás

Ejercicio 2 - Solución

Métodos y funciones en Java

Ejercicio 3 - Métodos matemáticos varios

La sobrecarga vs sobrescritura de métodos

Descarga los códigos fuentes para repasar Java de este cuarto día

Día 5: Programación Orientada a Objetos

Día 5: Programación Orientada a Objetos

El rol de la Programación Orientada a Objetos

¿Qué es una clase y un objeto?

El concepto de encapsulación de clases

Los getters y setters para variables privadas

El constructor de una clase

El concepto de clase y variable estática

Ejercicio 4: La clase nave alienígena

Ejercicio 4a: Ejemplo de uso de la clase nave alienígena

Descarga los proyectos de la sección

Día 6: Programación Orientada a Objetos (parte 2)

Día 6: Seguimos con la POO

El concepto de herencia

Ejercicio 5: Herencia de naves espaciales

Ejercicio 5a: Un caso practico de la herencia de clases

Polimorfismo de clases

Clases abstractas

Interfaces

La pila de la memoria de Java

Ejercicio 6: Los botones para contar

Ejercicio 6a: el diseño del layout

Ejercicio 6b: la inicialización de objetos en la clase

El método onClick (parte 1)

El método onClick (parte 2)

Clases internas y clases anónimas

Descarga los proyectos de la sección

Día 7: Widgets por un tubo y más

Día 7: Conoce los widgets para triunfar en Android

Instanciando widgets y layouts por código

Repaso de las edit text y las image views

Los radio groups y los radio buttons

Los switchs y los checks

Las web views y los selectores de fechas y horas

Cómo funcionan los permisos en Android

Ejercicio 7: Muchos widgets para dominarlos a todos

Ejercicio 7a: El diseño de la interfaz gráfica de usuario

Ejercicio 7b: Implementación de los checks y las imágenes

Ejercicio 7c: Implementación de los cambios horarios y las web views

Descarga los proyectos de la sección

Día 8: Diálogos y constructores

Día 8: Diálogos e inicio del primer proyecto

Los diálogos en Android

Instanciar un diálogo en Android

Proyecto 1: La lista de tareas

Las webs de recursos gratuitos de Android

Los recursos de String en Android

La clase Nota

El layout de creación de la nota

El layout de consultar una nota

La lógica de creación de la nota

La lógica de consulta de la nota

Abriendo y consultando la nota

Creando y consultando nuestra nota

Descarga los proyectos de la sección

Día 9: Arrays y colecciones de objetos

Día 9: Sobre arrays y colecciones de objetos

La clase Random y los números aleatorios

Los arrays para coleccionar objetos

Ejercicio 8: Un ejemplo de uso de los arrays

Ejercicio 9: Arrays multidimensionales y preguntas aleatorias

La clase ArrayList

Las class ListView y Base Adapter

El layout de la lista de tareas

El adapter de nuestra lista de tareas

Cosas pendientes para el futuro en nuestra app

Descarga los proyectos de la sección

Día 10: La persistencia de datos en las apps de Android

Día 10: Persistir datos en apps de Android

Los intents y la navegación entre actividades

Diseñando el layout de ajustes

Persistiendo tipos de datos básicos con Shared Preferences

Persistir el booleano on / off

Persistir el entero de modo de animación

Errores y excepciones en Java

Los Objetos tipo JSON

El serializador y deserializador de JSON

Guardar y cargar notas con el serializador

Descarga los proyectos de la sección

Día 11: Animaciones de UI en Android

Las animaciones de objetos de UI

Las animaciones en layouts

Creando las animaciones en Java

Ejercicio 10: El layout de animaciones

Ejercicio 10b: Diferentes animaciones en XML

Ejercicio 10c: Cargar las animaciones en Java

El uso de la seekbar

Animaciones en la app de notas

Descarga los proyectos de la sección

Día 12: Sonidos en las aplicaciones y buenas prácticas

El sonido y la música en las apps

Verificar la versión instalada de Android

El objeto Sound Pool para cargar efectos de sonido

Cómo crear efectos de sonido

El desplegable o spinner para seleccionar elecciones

Reproduciendo diferentes sonidos

Añadiendo un sonido al seleccionar nuestra nota

Eliminar una nota con un click largo

Acerca de la clase Media Player para crear un reproductor

Buenas prácticas: Modelo - Vista - Controlador

Las apps multidispositivo del mundo real

La clase Display para obtener orientación y resolución

Los layouts para diferentes resoluciones en Android

Descarga los proyectos de la sección

Día 13: Los fragmentos

Día 13: El dolor de cabeza de los fragmentos

El concepto de fragmento

La lógica de un fragment

Los síngletons y su uso

Programando un síngleton en Java

Interfaces y su papel en el desarrollo en Java

Cómo crear un alias de un fichero en Android

El modelo de datos de los contactos

Creando un Array List Adapter para mostrar los contactos en pantalla

Diseñando las dos vistas de la app

Cargar los contactos con un fragment list

La lógica de los dos tipos de layout

Creando nuestro fragmento lateral para el detalle del contacto

El layout del contacto completo en vertical

Descarga los proyectos de la sección

Día 14: Swipes, Pager Views o cómo hacer un tutorial guiado

Día 14: Swipes y Pager Views

Las imágenes para hacer los swipes

Swipes y resoluciones de imágenes

El layout del view pager

La lógica del view pager

La lógica del Main Activity

Definiendo un View Pager con Fragments

El View Pager Adapter

Descarga los proyectos de la sección

Día 15: Drawer Layouts, Menús y toma de fotos

Día 15: El drawer layout y la app de final de bootcamp

¿Qué es el Navigation Drawer?

Definiendo los strings principales de la app

Creando los tres fragmentos de la app

Diseñando el layout del Drawer

Los imports de la Main Activity

Un switch para seleccionar el fragmento correcto

El botón para abrir y cerrar el menú drawer

La lógica del botón atrás

Cargando el drawer layout en la actividad principal

Ejercicio: un menú lateral de ajustes

Un intent para abrir la cámara de fotos

Los permisos de las fotos

La lógica del intent con resultado final

El layout para la toma de fotos de nuestra app

La clase URI y su rol en la creación de un fichero en la memoria externa

Creando el fichero temporal externo para guardar la foto tomada

Descarga los proyectos de la sección

Día 16: Bases de datos en SQLite

Día 16: Acerca de la persistencia de datos

Las bases de datos y SQLite

El lenguaje SQL

Acerca de SQLite en Android

Diseñando la interfaz de prueba

El data manager de SQLite

Implementando los métodos del data manager

La actividad principal de la base de datos

La clase foto de nuestra app

El data manager de la app

Insertando la foto en la base de datos

Consultas varias al data manager

OnCreate para generar las tablas de la base de datos

Persistiendo la foto en la base de datos

Descarga los proyectos de la sección

Día 17: Mapas y GPS

Día 17: Las herramientas de Google Services

El layout para visualizar la foto y el mapa

La lógica de nuestro view fragment

El fragmento con la lista de títulos de fotos

El fragmento con la lista de etiquetas de fotos

Los mapas y el GPS en móvil

El location manager de Android

Los Google Play Services

Integrando Google Maps en un proyecto de Android

Descarga los proyectos de la sección

Día 18: Actualizar una base de datos y pintar con un canvas

Día 18: Acerca de la programación de videojuegos nativa

Actualizar una base de datos ya existente cuando subimos de versión

Guardar las coordenadas GPS de la foto

Mostrar el mapa de Google con un Intent

Traduciendo nuestra app a otros idiomas (y externalizando el proceso)

Los videojuegos nativos para Android

Hilos de ejecución

Canvas de dibujo

Dibujando en un canvas asociado a una image view

La interfaz del Touch Listener

La clase Bola del Pong

La clase Pala del Pong

La actividad principal del Pong

Día 19: De la pintura en el canvas hasta la Google Play Store

Día 19: Sobre la Google Play Store

Las variables para el videojuego

El constructor del juego

El código del run del hilo del juego

La lógica del update

La lógica del draw

El Evento de On Touch

El logo y la Google Play Store

La ficha de marketing de Google Play

La firma digital y el fichero JKS

Los criterios de edad (PEGI)

El precio de la app

El análisis de datos de las aplicaciones móviles

Día 20: Acerca del mundo de los SDK y librerías externas

Día 20: El mundo de los frameworks externos para aplicaciones móviles

El SDK de Admob

Los identificadores de publicidad de Admob

Las clases para añadir publicidad de Admob

Cómo probar la publicidad en un dispositivo de testing

Integrar el SDK de Firebase

Estructuras de datos y clases con Firebase

Integrando (o casi) el SDK de Facebook

BONUS: Un regalo para ti

Espero que te haya gustado el bootcamp de Android!

BONUS: Un regalo para ti


Reviews

I
Ignacio9 June 2020

El título dice "desde cero", y se entiende que desde cero es para alguien que no tiene ni idea. El vocabulario me parece un poco complejo. Las explicaciones bien.

F
Frank7 June 2020

Excelente Curso, Estoy a punto de terminarlo pero me gusto mucho. Puede ser el curso que mas me ha gustado de los que he comprado en Udemy.

I
Iván9 May 2020

Entre a este curso sin saber nada y con la intención de aprender nuevas habilidades y logró su objetivo. Fue una muy grata experiencia pues todo fue explicado de manera muy clara y, además, el colocar los códigos de cada sesión fue de utilidad para los casos en los que me perdía. Me agradó mucho el curso, una gran elección y en breves comenzaré a poner en práctica lo aprendido. El único pero que le pondría sería que en las últimas secciones ya no aparecían los códigos que se iban haciendo, pero no lo veo como un problema tan significativo como para no darle las cinco estrellas.

D
Daniel28 April 2020

A la mitad del curso y mantengo el puntaje que le doy al curso, se puede practicar mucho con el material que nos brinda el profesor. 100% recomendado.

A
Alejandra14 April 2020

Está muy bien, yo tengo una noción previa de Java de un curso que hice hace tiempo pero que por motivos laborales tuve que aparcar. De momento me gusta, aunque hay muchas cosas que espero ir aclarandolas con la práctica a lo largo del curso, sobre todo tecnicismos y demás. Calificación Buena ;)

G
Gerald19 February 2020

El syllabus(contenido) del curso está excelente, el profesor tiene la capacidad de hacer llegar sus conocimientos de forma amena, sencilla y detallada. Lo recomiendo totalmente.

H
Horacio6 February 2020

Excelente curso, muy bien explicado y a detalle, el profesor se adentra en los temas para que quede claro lo que esta explicando. Muy recomendado el curso.

M
Mario18 October 2019

Buen curso introductorio y se ven los temas paso a paso, aun no lo termino hasta ahora parece bien. Ppero como esta en un salon de clases, luego los vídeos se alargan por la interacción con los alumnos.

X
Xavier10 October 2019

Muy buen curso sin duda, Juan Gabriel es un gran profesional, y se nota. Sabe comunicar muy bien. Algunas versiones empiezan a quedar anticuadas... hace 2 años ya del curso.

F
Ferchao12 September 2019

El curso es muy completo, la forma de explicar del profesor es muy clara, dinámica y muy bien explicada

T
Tomás10 July 2019

Es una grabación del audio de una clase real, por lo que pronto se interrumpe y el instructor contesta preguntas que no se escuchan. Los subtítulos son pésimos y no coinciden con el audio.

H
Humberto3 April 2019

Videos muy extensos, cansa ver videos tan largos por temas, temas en videos más profundos sería más atractivo

A
Antonio1 April 2019

Actualmente llevo la mitad del curso y siento que lo que estoy escuchando está quedando más asumido que cualquier otro cursos free o manual que haya descargado, así que por ahora satisfecho. El contenido también parece bastante correcto

C
Carlos29 March 2019

Sinceramente es un curso Completo, voy por el 50%. Lo Excelente del curso es la forma que el docente explica el tema de forma detallada y enseña las BUENAS practicas a la hora de programar. Realmente RECOMENDADO para todo el que quiera iniciar en el desarrollo android. =)

J
Jhon27 March 2019

En cuanto contenido, ejemplos, practicas y profesor: el mejor curso de todos los que he podido hacer, en realidad de cero a MUCHO si estas dispuesto a aprender y practicar por tu cuenta.


Coupons

DateDiscountStatus
6/23/202193% OFFExpired
7/9/202192% OFFValid

1371564

Udemy ID

10/2/2017

Course created date

11/23/2019

Course Indexed date
Bot
Course Submitted by