
Vídeo de presentación del curso
Cómo hacer uso de la plataforma Udemy cómo realizar la formulación de preguntas sobre las dudas que vayan surgiendo al alumno durante el curso.
Aprende a discenir en qué momento debes realizar tu valoración sobre el curso para que sea provechosa para otros alumnos.
Formato del curso: estructura del mismo, código de las secciones, organización del repositorio de Git... Todo lo que necesitas conocer para aprovechar todos los recursos que te ofrecemos en este curso.
Consejos para realizar el curso, de manera que el alumno pueda sacar el máximo partido a los contenidos desarrollados en el mismo.
Instalación del IDE Android Studio en el sistema operativo Windows.
Creación Hello World en Android desde cero
Explicación estructura proyecto Android Studio
Características Android Studio
<figure><img src="https://udemy-images.s3.amazonaws.com:443/redactor/raw/2019-02-11_04-45-12-21c076a3ef5e5583652805b51af29efc.jpg"></figure>
<h4>Gradle</h4>
<p>El sistema de compilación de Android compila recursos y código fuente de la app y los empaqueta en APK que puedes probar, implementar, firmar y distribuir. Android Studio usa <strong>Gradle</strong>, un paquete de herramientas de compilación avanzadas, para automatizar y administrar el proceso de compilación.</p>
<p>En el proyecto existe una sección denominada Gradle Scripts, que contiene varios ficheros de configuración de las herramientas de compilación. Los ficheros de configuracón principal son 2 ficheros que se denominan <strong><em>build.gradle</em></strong>. Uno de ellos hace referencia a la configuración global del <strong>proyecto</strong> y otro a la configuración del módulo <strong><em>app</em></strong>.</p>
<p>Éste último fichero tiene un contenido como el código que se muestra a continuación:</p>
<figure><img src="https://udemy-images.s3.amazonaws.com:443/redactor/raw/2019-02-11_04-48-01-f625cac1c947dad954b498845190993a.png"></figure>
<p>Como podemos apreciar se almacenan datos de configuración del proyecto tales como:</p>
<ul><li><p><strong>compileSdkVersion</strong>: es la versión de Android que utilizan las herramientas de compilación (Gradle) para compilar la aplicación para su lanzamiento, ejecución o depuración.</p></li><li><p><strong>applicationId</strong>: es el identificador único de la aplicación cuando ésta sea publicada en Google Play. No pueden existir 2 aplicaciones publicadas con el mismo identificador.</p></li><li><p><strong>minSdkVersion</strong>: es la versión mínima del sistema operativo Android necesaria para ejecutar la aplicación. La aplicación no podrá ser instalada en un dispositivo que tenga una versión inferior a ésta.</p></li><li><p><strong>targetSdkVersion</strong>: conocida como versión SDK destino, es la versión de Android en la que se creó la aplicación para que se ejecute.</p></li><li><p><strong>versionCode</strong>: es un número que es usado para determinar si una versión es más reciente que otra. Este numero no es mostrado a los usuarios pero sirve para definir el numero de versión dentro de la Play Store.</p></li><li><p><strong>versionName</strong>: es una cadena de texto, su único propósito es mostrar el número de versión de la aplicación a los usuarios de Google Play.</p></li></ul>
<p>Además hay otro bloque de código que veremos en futuras clases denominado dependencies, en el que indicamos la ruta a librerías externas almacenadas en repositorios en Internet, que al sincronizarlo con nuestro proyecto nos permite hacer uso de dichas librerías.</p>
<h4>Diferencia entre las versiones de SDK</h4>
<p><code>compileSdkVersion</code> es la versión de la API en la que se compila la aplicación. Esto significa que puede utilizar las características de la API de Android incluidas en esa versión de la API (así como todas las versiones anteriores). Si intentamos utilizar las funciones de API 16 pero establecemos <code>compileSdkVersion</code> en 15, obtendremos un error de compilación. Si establecemos <code>compileSdkVersion</code> en 16, podemos ejecutar la aplicación en un dispositivo con API 15 siempre y cuando en el código que ejecutamos de la aplicación no intentemos invocar ninguna API específica de la API 16. Aunque esto puede solucionarse si hacemos uso de la librería de soporte que nos permite utilizar funcionalidades de versions recientes de la API en versiones anteriores en las que no existían esas funcionalidades.</p>
<h4>TargetSdkVersion</h4>
<p><code>targetSdkVersion</code> no tiene nada que ver con la forma en que se compila nuestra aplicación o las API que podemos utilizar. <code>targetSdkVersion</code> indica que hemos probado nuestra aplicación hasta la versión que especificamos en esta propiedad. Es una garantía que le estamos dando al sistema operativo Android de que hasta esa versión, la aplicación funciona correctamente y por lo tanto, le estamos indicando cómo debe manejar nuestra app en términos de características del Sistema Operativo.</p>
<p>Para todos los propósitos prácticos, en la mayoría de las aplicaciones deberemos establecer <code>targetSdkVersion</code> a la última versión de la API. Esto asegurará que nuestra aplicación se vea lo mejor posible en los dispositivos Android más recientes. Si no especificamos <code>targetSdkVersion</code> , por defecto es <code>minSdkVersion</code> .</p>
<p>Debe por tanto cumplirse:</p>
<pre class="prettyprint linenums">minSdkVersion <= targetSdkVersion <= compileSdkVersion </pre>
<p>Lo ideal es:</p>
<pre class="prettyprint linenums">minSdkVersion (la menor posible) <= targetSdkVersion == compileSdkVersion (la versión más reciente de SDK)</pre>
Explicación sobre emuladores en Android Studio
Introducción a Genymotion para virtualización
Probando apps en dispositivos reales/físicos.
Qué es un Activity en Android
En esta clase aprenderás cómo funciona el ciclo de vida de un Activity y los diferentes estados por lo que pasa el Activity: iniciado, en pasa, destruido,...
En esta clase vamos a explicar la función que realiza el fichero R.java en un proyecto Android y cómo se construyen las referencias a los recursos de nuestro proyecto.
Mostramos algunos componentes visuales en Android
En esta clase se explica cómo hacer uso del componente Button.
En esta clase se explica cómo hacer uso de las interfaces Listener para implementar eventos click en nuestro View Components.
Introducción al modo debug en Android Studio
Mostrando a crear breakpoints en el modo debug de Android Studio
Excepciones y errores en Android
Mostramos un error típico de Gradle cuando sincroniza de forma errónea.
Resultado final de la app desarrollada en esta sección. El juego DuckHunt hace uso del servicio Cloud Firestore de Google Firebase para almacenar los datos de las partidas jugadas en la nube.
Resultado final de la app desarrollada en esta sección. El juego TicTacToe hace uso del servicio Cloud Firestore de Google Firebase para almacenar los datos de las partidas jugadas en la nube. Además hace uso del servicio Firebase Auth para el registro e inicio de sesión de los usuarios. Se ha incluido la funcionalidad de datos en tiempo real para actualizar la IU de los dispositivos cada vez que un jugador selecciona una casilla en su turno.
¡ En este curso vamos a enseñar como crear 2 juegos en Android desde cero y paso a paso !
La primera parte del curso, se compone de una introducción y presentación del curso. Veremos:
Presentación del curso. Podrás tener una idea de como exprimir este curso y algunos consejos sobre la plataforma Udemy.
Entorno de desarrollo. Aquí mostramos cómo descargar e instalar el entorno de desarrollo Android en Windows y Mac, algunos trucos sobre este IDE y haremos un hello world en Android.
Conceptos básicos Android. Aprenderás conceptos básicos del mundo Android tales como: Activity, ciclos de vida, Constraint layout...
Solución de errores y Debug en Android. Saber el funcionamiento del depurador de errores de Android Studio es muy importante y te enseñamos cómo.
Duck Hunt Game. Excelente y clásico juego de cazar al pato. Aquí aprenderás todos los pasos desde 0 para crear este juego 2D adictivo que todos conocen. Al final de esta sección, habrás creado tú mismo el juego completo igual que mostramos en nuestro vídeo de presentación. Aprenderemos a usar recursos gráficos y las fuentes. Incluiremos ránking actualizado online.
TicTacToe. También conocido como el tres en raya, tres en línea, Triqui, Michi, Cuadritos, Gato...
Divertido juego que todo el mundo conoce y que seremos capaces de crearlo desde cero totalmente. Añadiremos conexión a la nube con Firebase, bases de datos en tiempo real, modo multijugador online, sistema de ránking dinámico, sistema de inteligencia para creación y emparejamiento de partidas online, animaciones espectaculares... Y cuando termines esta sección, tú habrás hecho esta app paso a paso.
Estos juegos son sencillos, puesto que este curso es una introducción al amplio y complejo mundo de los videojuegos, pero al mismo tiempo son adictivos y divertidos! Podrás aprender a crear partidas multi-jugadores, partidas online... ¿Te lo vas a perder?
Lo hacemos todo desde Android Studio, explicamos como instalarlo, como configurarlo y cómo empezar a crear las primeras líneas de código. Este curso es puramente práctico, donde durante el desarrollo de los dos juegos que crearemos, verás conceptos muy interesantes en el mundo de la programación Android:
Log In (Firebase Authentication Service).
Conexión a base de datos en la nube (Firebase).
Guardado de datos en la nube (Firebase).
Datos en tiempo real en la nube y en los dispositivos Android (Firebase).
Animaciones Android.
Manejo y uso de recursos gráficos.
Lógica en juegos de 2D.
Android Studio.
Sistemas de ránking.
Partidas online en tiempo real.
¡Partidas multi-jugador!
Y mucho más...
Anímate, aprende con nosotros en este excelente curso de iniciación a juegos, donde te damos todo el código de las aplicaciones, los recursos gráficos y las lecciones necesarias para que aprendas a crear tus propios juegos 2D en Android.
* Si lo que pretendes es aprender a crear juegos en 3D o juegos avanzados, este NO es tu curso.
** Las secciones de entorno, conceptos Android y debug son reutilizadas del curso de Android Avanzado lanzado recientemente. Hemos decidido reusarlas porque el contenido de dichas secciones siguen siendo iguales y válidas. Si ya eres alumno de dicho curso, puedes obviar dichas secciones y adentrarte directamente a crear los juegos :)
Nos vemos en el curso!
Happy Coding!