Cuáles son los mejores proyectos para principiantes en el desarrollo de aplicaciones Android?

La mejor manera de aprender a programar es ensuciarse las manos y escribir código real. Leer libros de programación o ver cursos está bien, pero se vuelven bastante inútiles si no practicas lo que estás aprendiendo. Si alguna vez has intentado leer un libro sobre codificación sin probarlo realmente por ti mismo, puede que hayas experimentado situaciones en las que un concepto tenía totalmente sentido para ti cuando lo leíste por primera vez, pero cuando más tarde intentaste reproducirlo, olvidaste completamente cómo era la sintaxis o cómo empezar siquiera. Definitivamente he tenido situaciones así.

Eso no es lo que queremos. Queremos que las cosas que estamos aprendiendo se peguen, lo que significa que tenemos que escribir código. Ahora, usted podría hacer los ejercicios que la mayoría de los libros de programación contienen y eso es probablemente su mejor opción si usted está empezando y tiene cero experiencia. Pero una vez que entiendas los conceptos básicos y sepas cómo construir un diseño simple, es mucho más divertido practicar creando una aplicación real. Los ejercicios de los libros suelen ser secos y aburridos y pueden hacerte pensar que programar es tan divertido como hacer los deberes de matemáticas. Construir pequeños programas, por otro lado, es emocionante y te da una sensación de logro después de haberlo hecho.

El problema es que mucha gente no sabe realmente qué construir. Otros tienen ideas pero empiezan demasiado grandes y con conceptos demasiado avanzados, por lo que no terminan su proyecto. Nuevamente esto me pasó a mí. La primera aplicación que intenté construir fue un temporizador Pomodoro gamificado en el que básicamente quería implementar todo un mundo de juego de rol. Y con "intenté construir" quiero decir que creé 2 pantallas antes de borrar el proyecto. Empieza con algo pequeño y ve aumentando el nivel de dificultad. Sé paciente al respecto e intenta aprender lo máximo posible por el camino. La buena noticia es que se pueden construir cosas realmente interesantes sin complicadas características en línea, cuentas de usuario, servidores y cosas por el estilo.

En esta entrada del blog queremos echar un vistazo a algunas ideas de aplicaciones simples para los programadores principiantes de Android. Serán apps offline sin librerías avanzadas de terceros. Te ayudarán a aprender conceptos básicos importantes, no a evitarlos. Si ya eres un desarrollador avanzado, este post no es para ti. Deberías hacer algo más difícil en su lugar.

Para la mayoría de estas ideas de apps tengo tutoriales en Youtube, donde explico todo paso a paso. Si ese es el caso, el título del párrafo será un enlace y podrás pinchar en él para llegar a ese vídeo o lista de reproducción en concreto. Si quieres que sea un poco más desafiante, pausa el vídeo en los puntos difíciles e intenta averiguar el siguiente paso tú mismo antes de que yo presente la solución. No te rindas demasiado rápido. Aprenderás mucho más rápido resolviendo los problemas por ti mismo.

Tic Tac Toe

Creo que no hay ningún desarrollador que no haya construido un juego Tic Tac Toe cuando empezó. Ok, supongo que hay algunos, pero Tic Tac Toe es un proyecto realmente agradable para practicar la codificación de una manera divertida y amena. Eso es porque la lógica que hay detrás es lo suficientemente sencilla como para que, aunque sea un reto al principio, casi todo el mundo pueda hacerlo. Pero tendrás que reflexionar un poco para entenderlo. (Esto no incluye la creación de un jugador de ordenador/AI, eso es mucho más difícil).

Tengo un tutorial en Youtube para un juego de tres en raya con un contador de puntos y una funcionalidad de reinicio. Allí también aprenderás a manejar los cambios de configuración, que se producen por ejemplo cuando rotas un dispositivo Android. Los cambios de configuración son un concepto importante de Android que no puedes eludir si quieres crear aplicaciones. Por esa razón es bueno aprender sobre ello lo antes posible. Haz clic en el enlace de arriba para llegar a la lista de reproducción.

Temporizador de cuenta atrás / Cronómetro (Son 2 enlaces diferentes)

Un temporizador de cuenta atrás y un cronómetro son ideas de aplicaciones que probablemente no oirás muy a menudo, pero en realidad son bastante geniales y divertidas de construir. También son bastante difíciles de implementar. En primer lugar, por supuesto, tienes que conseguir que el temporizador funcione. Pero también hay que formatear adecuadamente el tiempo, que normalmente se da en forma de milisegundos. Transformar los milisegundos en segundos, minutos y horas sin contar accidentalmente algo dos veces puede llevar fácilmente unas cuantas horas de trabajo (si no se mira la solución). Hay muchos más problemas complicados a la hora de construir un temporizador de este tipo, pero también es muy divertido y realmente creas algo útil que puedes poner en tu propio teléfono.

Después de haber terminado el proyecto también podrías construir algunos temporizadores más avanzados, como un temporizador Pomodoro, que cuenta automáticamente y alterna entre diferentes intervalos de tiempo.

Con algo tan simple como un generador de números aleatorios puedes hacer cosas muy chulas, como elegir un color al azar, tirar una moneda o lanzar un dado virtual. Muy útil para personas que no pueden tomar decisiones. Es un proyecto bastante sencillo, pero aun así hay que pensar un poco y averiguar cómo manejar los eventos de clic, cómo crear una sentencia switch y cómo usar la clase del generador de números aleatorios, que también es un poco complicada.

Haz clic en el enlace del título para llegar a un tutorial rápido y sencillo sobre el rodillo de dados. También contiene un enlace donde puedes descargar las imágenes necesarias. Si quieres hacerlo un poco más desafiante, prueba a añadir un segundo dado o implementa un contador de puntos.

Calculadora

Todavía no tengo un tutorial de calculadora, porque la parte de la interfaz de usuario es un poco tediosa para un video tutorial, pero sin embargo es un gran proyecto para entrenar tu pensamiento lógico y tus habilidades de programación. Sumar o restar dos números en código es bastante simple, pero hacer que la aplicación se comporte realmente como una calculadora convencional, que por ejemplo añade los dígitos introducidos al final de la línea, tiene un límite de conteo de caracteres y muestra el último resultado después de ejecutar una operación matemática, es un poco más complicado. Pero lo complicado es bueno, porque significa que aprenderás mucho de ella.

Si eso es demasiado fácil para ti, intenta construir una calculadora científica. Si es demasiado difícil, prueba primero con una calculadora de propinas, en la que sólo tienes que calcular el porcentaje sobre una entrada numérica o dividir una factura en varias partes.

App de recordatorios

¿Por qué no construir una app de recordatorios que te muestre notificaciones de diferentes eventos a lo largo del día? La lista de reproducción enlazada aquí te enseña a crear notificaciones en Android y está actualizada con los últimos cambios y requisitos, especialmente los canales de notificación. Junto con la clase AlarmManager y algunos campos de entrada sencillos, puedes crear una aplicación que te envíe notificaciones a tu teléfono a horas programadas. Tal vez construir una aplicación que le recuerde que debe cepillarse los dientes 2 veces al día o que no se olvide de tomar su medicación.

Una aplicación que sólo puede guardar y cargar una sola nota puede no ser la herramienta más útil para su día a día, pero es una buena manera de aprender a escribir un archivo de texto en el almacenamiento interno de un dispositivo Android. Utilizarás algunas cosas realmente crudas de Java aquí, como FileInputStream, FileOutputStream y un montón de bloques try/catch. El tutorial será confuso al principio, porque es de muy bajo nivel y no tan abstracto y fácil de usar como, por ejemplo, SharedPreferences. Pero el vídeo dura poco más de 10 minutos, así que no hay que asustarse.

Lista de tareas / Lista de la compra

Si quieres almacenar grandes cantidades de datos fuera de línea de forma estructurada y recuperarlos más tarde, tienes que aprender a usar bases de datos. Una lista de tareas, una lista de la compra o cualquier tipo de aplicación de listas es una buena forma de empezar a adentrarse en este tema, porque la estructura de la base de datos suele ser bastante sencilla y sin relaciones complejas. Aquí usamos SQLite, que está incorporado en Android por defecto, por lo que puedes usarlo nada más sacarlo de la caja sin tener que añadir o preparar nada. Si quieres mostrar las entradas de la base de datos en tu aplicación, también tienes que aprender sobre RecyclerView, porque un RecyclerView es necesario para mostrar una gran lista de datos de una manera eficiente en cuanto a memoria. En la lista de reproducción enlazada aquí hacemos exactamente eso. Construimos una aplicación de lista de la compra con SQLite y un RecyclerView, donde podemos añadir diferentes artículos con un nombre y una cantidad, ordenar estas entradas por su marca de tiempo y deslizarlas fuera de la lista para eliminarlas permanentemente de la base de datos.

SQLite es bastante de bajo nivel y requiere un montón de código boilerplate. Es muy fácil cometer errores porque la sintaxis puede ser confusa y el compilador no te mostrará muchas advertencias por sentencias SQLite erróneas. Hay una biblioteca para Android llamada "Room" que abstrae muchas de estas cosas de bajo nivel de SQLite y hace que sea más fácil de usar, pero sin embargo creo que es bueno empezar con SQLite en bruto como principiante y luego cambiar a Room cuando sientas que lo entiendes.

Cuestionario de opción múltiple de SQLite

Si no tienes ya suficiente con SQLite, crear un juego de preguntas es una buena manera de practicarlo un poco más. El esquema de la base de datos es ligeramente más avanzado que en la app de la lista de la compra y utilizamos algunos métodos de consulta más complicados, pero esta vez al menos no necesitamos construir un RecyclerView. Lo que aprenderemos en cambio son cosas como la forma de restaurar el estado de la aplicación después de los cambios de configuración, cómo usar SharedPreferences para guardar cantidades más pequeñas de datos no estructurados, cómo enviar variables entre diferentes actividades (pantallas) y más.

Este tutorial es uno de los más populares de mi canal, probablemente porque es muy divertido. También es el más difícil de esta lista, pero lo hacemos paso a paso, para que todo el mundo pueda hacerlo, incluso con muy poca experiencia.

App de presupuesto / contador de calorías / cualquier rastreador

Otra idea sencilla pero útil sería una app que lleve el control de alguna métrica de tu vida, como tus finanzas o tu nutrición. Tendría que averiguar cómo tomar la entrada del usuario, cómo procesarla y hacer sus cálculos en ella, cómo almacenar los datos y luego cómo mostrarlos de una manera útil. No tengo un tutorial sobre ninguna de esas aplicaciones específicamente, pero puedes encontrar todas las piezas y conceptos necesarios en mis otros tutoriales. Y como tú eres el desarrollador, puedes dotar a tu app de la funcionalidad que quieras, mostrar las estadísticas que necesites y así construir el tracker perfecto para ti.

Ok, esas son mis ideas de apps que puedes probar como principiante.