Curso Android desde Cero

Jul 7, 2024

Curso Android desde Cero

Introducción

  • Alta demanda de desarrolladores Android.
  • Problemas comunes: documentación obsoleta, cursos de pago, múltiples lenguajes de programación.
  • Curso definitivo desde cero: conceptos básicos, desarrollo de 5 aplicaciones, tecnologías y recomendaciones actualizadas, código gratuito en GitHub, canal de Discord para dudas.

Configuración Inicial

  • Descargar Android Studio desde developer.android.com/studio.
  • Instalación básica, seleccionar tema (oscuro o claro).
  • Android Studio: herramienta oficial para desarrollo Android (de JetBrain).
  • Comandos y configuración de Android Studio: Crear proyecto, elegir No activity, nombre del proyecto, paquete, seleccionar Kotlin.

Primeros Pasos en Android

Creación de Proyecto

  • Crear proyecto Android Master en Android Studio.
  • Seleccionar mínimo SDK (recomendación: API 21, Android 5.0 Lollipop).
  • Cargar el proyecto inicial, entender estructura básica.

Introducción a la Programación en Kotlin

  • Main Function:
    fun main() {
      println("Hello, World!")
    }
    
  • Comentarios en código: // Comentario o /* Comentario */.
  • Variables y Valores:
    val name = "Aristi" // valor inmutable
    var age = 30 // variable mutable
    val isHappy: Boolean = true // declaración con tipo explícito
    
  • Tipos de Variables: Enteros, Long, Float, Double, Char, String, Boolean.
    • Conversión entre tipos: toInt(), toString(), toDouble(), etc.

Funciones

  • Estructura Básica:
    fun saludo() {
      println("Hola!")
    }
    
  • Funciones con Parámetros y Retorno:
    fun suma(a: Int, b: Int): Int {
      return a + b
    }
    
  • Funciones Lambda:
    val sumaLambda: (Int, Int) -> Int = { a, b -> a + b }
    
  • Concepto de Retorno Temprano y return:
    fun example(a: Int): Int { 
      if (a > 0) return a
      return -1
    }
    

Condicionales y Control de Flujo

  • If-Else Condicional:
    if (age > 18) {
      println("Adulto")
    } else {
      println("Menor de edad")
    }
    
  • When (Alternativa al Switch):
    val resultado = when (age) {
      in 0..12 -> "Niño"
      in 13..17 -> "Adolescente"
      in 18..64 -> "Adulto"
      else -> "Senior"
    }
    

Listas y Arrays

  • Arrays:
    val diasSemana = arrayOf("Lunes", "Martes", "Miércoles")
    println(diasSemana[0]) // Lunes
    
  • Listas (Mutables e Inmutables):
    val listaInmutable = listOf("Rojo", "Verde", "Azul")
    val listaMutable = mutableListOf("Perro", "Gato")
    listaMutable.add("Pájaro")
    
  • Bucle For para recorrer listas y arrays:
    for (elemento in diasSemana) {
      println(elemento)  // imprime cada día de la semana
    }
    

Recursos y Layouts en XML

  • Creación de Layout (XML) y su Referencia:
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hola Mundo"/>
    </LinearLayout>
    
  • Acceder al Layout desde la Activity:
    val textView = findViewById<TextView>(R.id.textView)
    textView.text = "Hola, Kotlineando!"
    

Actividades y Navegación

  • Crear Activity:
    • Añadir nueva Activity en proyecto.
    • Configurar layout y lógica.
  • Navegación entre Activities:
    val intent = Intent(this, SecondActivity::class.java)
    startActivity(intent)
    
    • Pasar datos entre Activities (Intents):
      intent.putExtra("clave", valor)
      // Recuperar en segunda Activity
      val valor = intent.getStringExtra("clave")
      

Ejemplo: Calculadora de IMC

  • Activity principal y lógica para calcular IMC:
    • Diseño de interfaz con EditText para peso y altura.
    • Uso de botones y listener setOnClickListener.
    btnCalcular.setOnClickListener {
      val peso = pesoEditText.text.toString().toDouble()
      val altura = alturaEditText.text.toString().toDouble()
      val imc = peso / (altura * altura)
      resultadoTextView.text = "IMC: %.2f".format(imc)
    }
    

Más Funcionalidades

  • Configuración de Emuladores Android:
    • Uso de AVD (Android Virtual Devices) desde el Device Manager.
    • Configuración de diferentes dispositivos (tablets, móviles, relojes, etc.).

Recursos adicionales

  • Repositorio de Código en GitHub:
    • github.com/aristidevs/curso-android para acceder a todo el código del curso.
  • Canal de Discord:
    • Para resolver dudas y compartir información con la comunidad.

Conclusión

Ya puedes seguir con la segunda parte del curso donde desarrollaremos más funcionalidades y seguiremos profundizando en conceptos avanzados de Android.