Top 5 de la semana

Publicidad

Artículos relacionados

Guía completa para crear apps Android con Kotlin desde cero

1. Introducción

Crear una aplicación móvil puede parecer una tarea intimidante, pero es una de las experiencias más gratificantes para quienes buscan resolver problemas cotidianos con tecnología. En este caso, vamos a aprender cómo construir una aplicación desde cero que te ayudará a organizar tus listas de la compra. Si nunca has programado en Kotlin o no tienes experiencia con el desarrollo móvil, no te preocupes: iremos paso a paso, explicando cada concepto con detalle y desde la perspectiva de alguien que podría estar aprendiendo por primera vez. Además, también cubriremos cómo puedes publicar tu aplicación en Google Play para compartirla con el mundo.


Parte 1: Configurar el entorno de desarrollo en Ubuntu

1.1. Instalar Android Studio

Android Studio es el entorno de desarrollo integrado (IDE) oficial para desarrollar aplicaciones Android. Es una herramienta muy poderosa que incluye todo lo que necesitas: desde un editor de código inteligente hasta un simulador de dispositivos Android.

Paso 1: Actualizar el sistema operativo

Es importante asegurarte de que tu sistema operativo esté actualizado antes de comenzar. Abre una terminal (puedes buscarla en tu menú de aplicaciones si no está a la vista) y ejecuta los siguientes comandos:

sudo apt update && sudo apt upgrade

Esto descargará e instalará las últimas actualizaciones para los paquetes de tu sistema.

Paso 2: Descargar Android Studio

Visita la página oficial de Android Studio en https://developer.android.com/studio. En esta página, selecciona la versión para Linux y descarga el archivo comprimido (.tar.gz).

Paso 3: Extraer el archivo descargado

Una vez que hayas descargado el archivo, abre la terminal y navega al directorio donde se descargó (generalmente es la carpeta Descargas). Luego, ejecuta este comando para extraerlo:

tar -xvzf android-studio-*.tar.gz

El comando descomprimirá el archivo y creará una carpeta llamada android-studio. Para facilitar el acceso, moveremos esta carpeta a /opt, un directorio común para aplicaciones de usuario:

sudo mv android-studio /opt/

Paso 4: Ejecutar el instalador

Navega a la carpeta de Android Studio y ejecuta el archivo studio.sh:

/opt/android-studio/bin/studio.sh

Esto abrirá el asistente de configuración de Android Studio. Sigue las instrucciones para descargar el SDK de Android, las herramientas de compilación y otros componentes necesarios. Este proceso puede tardar algunos minutos, así que ten paciencia.

1.2. Instalar Kotlin

Kotlin ya está integrado en Android Studio, por lo que no necesitas instalarlo manualmente. Este lenguaje moderno es oficial para el desarrollo de Android y ofrece una sintaxis más limpia y segura comparada con Java.

1.3. Configurar el emulador de Android

El emulador de Android te permite probar tu aplicación sin necesidad de un dispositivo físico. Para configurarlo:

  1. Abre Android Studio.
  2. Ve al menú Tools > AVD Manager (AVD significa «Android Virtual Device»).
  3. Haz clic en «Create Virtual Device» y selecciona un modelo de teléfono, como Pixel 5.
  4. Elige una versión de Android para el dispositivo virtual (recomendamos usar una versión reciente, como API nivel 30 o superior).
  5. Descarga la imagen del sistema correspondiente y configura el dispositivo virtual.
  6. Inicia el emulador para asegurarte de que funciona correctamente.

Pro Tip: Si el emulador es lento, puedes habilitar la virtualización de hardware en la BIOS de tu equipo para mejorar el rendimiento.


Parte 2: Diseño de la aplicación

2.1. Planificación de la funcionalidad

Antes de escribir una sola línea de código, es importante tener claro qué quieres que haga tu aplicación. En nuestro caso, la aplicación tendrá las siguientes características:

  1. Crear listas de la compra.
  2. Agregar, editar y eliminar elementos de la lista.
  3. Marcar elementos como comprados.
  4. Almacenar las listas localmente para que no se pierdan al cerrar la aplicación.

Este paso también te ayuda a definir las pantallas que necesitarás y la navegación entre ellas.

2.2. Estructura del proyecto

En Android Studio, la estructura del proyecto sigue un esquema predefinido. Esto es lo que verás al crear tu proyecto:

app/
├─ java/com.tu.nombredepaquete/       (código fuente Kotlin)
├─ res/                               (recursos de la aplicación)
│   ├─ layout/                        (archivos de diseño XML)
│   ├─ values/                        (colores, cadenas, estilos)

Cada directorio tiene un propósito específico. Por ejemplo, la carpeta layout/ contiene los archivos que definen la interfaz de usuario, mientras que values/ almacena recursos reutilizables como colores y textos.


Parte 3: Desarrollo de la aplicación

3.1. Diseño de la interfaz de usuario (UI)

La interfaz de usuario es lo primero que verán los usuarios al abrir tu aplicación. Usaremos XML (eXtensible Markup Language) para definir el diseño visual de nuestras pantallas.

Abre el archivo activity_main.xml en la carpeta res/layout y reemplaza el contenido con lo siguiente:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <EditText
        android:id="@+id/inputItem"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Add an item" />

    <Button
        android:id="@+id/btnAdd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/recyclerView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp" />

</LinearLayout>

3.2. Añadir persistencia de datos con Room

Para que las listas se guarden incluso después de cerrar la aplicación, usaremos Room, una base de datos local. Sigue estos pasos:

  1. Añadir dependencias:
    Abre el archivo build.gradle (app) y añade las siguientes líneas:
   implementation "androidx.room:room-runtime:2.5.0"
   kapt "androidx.room:room-compiler:2.5.0"

Asegúrate de que kapt está habilitado. Si no, añádelo al inicio del archivo build.gradle:

   apply plugin: 'kotlin-kapt'
  1. Crear las entidades:
    Una entidad es una tabla en la base de datos. En este caso, nuestra entidad será un ShoppingItem. Crea un archivo Kotlin llamado ShoppingItem.kt:
   import androidx.room.Entity
   import androidx.room.PrimaryKey

   @Entity(tableName = "shopping_items")
   data class ShoppingItem(
       @PrimaryKey(autoGenerate = true) val id: Int = 0,
       val name: String,
       val isChecked: Boolean = false
   )
  1. Crear el DAO (Data Access Object):
    Este archivo define cómo interactuar con la base de datos. Crea un archivo Kotlin llamado ShoppingDao.kt:
   import androidx.room.*

   @Dao
   interface ShoppingDao {
       @Insert
       suspend fun insertItem(item: ShoppingItem)

       @Delete
       suspend fun deleteItem(item: ShoppingItem)

       @Query("SELECT * FROM shopping_items")
       fun getAllItems(): LiveData<List<ShoppingItem>>
   }
  1. Crear la base de datos:
    Crea un archivo Kotlin llamado ShoppingDatabase.kt:
   import android.content.Context
   import androidx.room.Database
   import androidx.room.Room
   import androidx.room.RoomDatabase

   @Database(entities = [ShoppingItem::class], version = 1)
   abstract class ShoppingDatabase : RoomDatabase() {
       abstract fun shoppingDao(): ShoppingDao

       companion object {
           @Volatile private var instance: ShoppingDatabase? = null

           fun getDatabase(context: Context): ShoppingDatabase {
               return instance ?: synchronized(this) {
                   instance ?: Room.databaseBuilder(
                       context.applicationContext,
                       ShoppingDatabase::class.java,
                       "shopping_database"
                   ).build().also { instance = it }
               }
           }
       }
   }
  1. Actualizar MainActivity para usar Room: En MainActivity.kt, inicializa la base de datos y actualiza la lógica para leer y escribir elementos de la lista. Por ejemplo:
   class MainActivity : AppCompatActivity() {

       private lateinit var shoppingDatabase: ShoppingDatabase
       private lateinit var shoppingAdapter: ShoppingListAdapter

       override fun onCreate(savedInstanceState: Bundle?) {
           super.onCreate(savedInstanceState)
           setContentView(R.layout.activity_main)

           shoppingDatabase = ShoppingDatabase.getDatabase(this)

           shoppingAdapter = ShoppingListAdapter(mutableListOf())
           recyclerView.adapter = shoppingAdapter
           recyclerView.layoutManager = LinearLayoutManager(this)

           shoppingDatabase.shoppingDao().getAllItems().observe(this) { items ->
               shoppingAdapter.updateItems(items)
           }

           btnAdd.setOnClickListener {
               val itemName = inputItem.text.toString()
               if (itemName.isNotBlank()) {
                   val newItem = ShoppingItem(name = itemName)
                   GlobalScope.launch {
                       shoppingDatabase.shoppingDao().insertItem(newItem)
                   }
                   inputItem.text.clear()
               }
           }
       }
   }

Ahora, los elementos se guardarán en la base de datos y estarán disponibles incluso después de cerrar la aplicación.


Parte 4: Publicar la aplicación en Google Play

4.1. Configurar la cuenta de Google Play

Para publicar tu aplicación, necesitas una cuenta de desarrollador en Google Play Console. Esto cuesta una tarifa única de 25 USD. Una vez registrado, podrás subir todas las aplicaciones que desees.


Sigue aprendiendo con nosotros

Este es solo el inicio de un emocionante camino en el desarrollo de aplicaciones móviles. Te invitamos a seguir nuestras publicaciones para descubrir más tutoriales, consejos y trucos que te ayudarán a llevar tus habilidades al siguiente nivel. ¡Estamos aquí para acompañarte en cada paso del camino!

Normas para comentar

Este espacio está abierto a todo el mundo, pero para que funcione bien necesitamos un poco de sentido común. No se permiten comentarios ofensivos, spam, ni enlaces promocionales. Respeta a los demás, escribe con educación y trata de aportar al tema.

Los comentarios que no sigan estas normas serán eliminados.

Gracias por mantener un buen ambiente.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí