Quali sono i migliori progetti per i principianti nello sviluppo di app Android?

Il modo migliore per imparare la programmazione è quello di sporcarsi le mani e scrivere codice vero e proprio. Leggere libri di programmazione o guardare corsi va bene, ma diventano piuttosto inutili se non si mette in pratica ciò che si sta imparando. Se avete mai provato a leggere un libro sulla programmazione senza provarlo veramente, potreste aver sperimentato situazioni in cui un concetto aveva totalmente senso per voi quando lo avete letto per la prima volta, ma quando poi avete provato a riprodurlo, avete completamente dimenticato come fosse la sintassi o come iniziare. Ho sicuramente avuto situazioni del genere.

Non è quello che vogliamo. Vogliamo che le cose che stiamo imparando si fissino, il che significa che dobbiamo scrivere codice. Ora, potreste fare gli esercizi che la maggior parte dei libri di programmazione contengono e questa è probabilmente la scelta migliore se state iniziando e non avete esperienza. Ma una volta che avete capito i concetti di base e sapete come costruire un semplice layout, è molto più divertente fare pratica creando una vera app. Gli esercizi nei libri sono di solito aridi e noiosi e possono farvi pensare che programmare sia divertente come fare i compiti di matematica. Costruire piccoli programmi, d'altra parte, è eccitante e ti dà un senso di realizzazione dopo averlo fatto.

Il problema è che molte persone non sanno davvero cosa costruire. Altri hanno idee ma iniziano troppo in grande e con concetti troppo avanzati, così non finiscono il loro progetto. Anche questo è successo a me. La prima app che ho provato a costruire era un Pomodoro timer gamificato in cui volevo fondamentalmente implementare un intero mondo di gioco di ruolo. E con "ho provato a costruire" voglio dire che ho creato 2 schermate prima di cancellare il progetto. Iniziare in piccolo e aumentare progressivamente il livello di difficoltà. Siate pazienti e cercate di imparare il più possibile lungo la strada. La buona notizia è che si possono costruire cose davvero interessanti senza complicate funzioni online, account utente, server e cose del genere.

In questo post del blog vogliamo dare un'occhiata ad alcune semplici idee di app per i programmatori Android principianti. Queste saranno applicazioni offline senza alcuna libreria avanzata di terze parti. Vi aiuteranno ad imparare importanti concetti di base, non ad evitarli. Se sei già uno sviluppatore avanzato, questo post non fa per te. Dovreste invece fare qualcosa di più difficile.

Per la maggior parte di queste idee di app ho dei tutorial su Youtube, dove spiego tutto passo dopo passo. Se questo è il caso, il titolo del paragrafo sarà un link e potrai cliccarci sopra per arrivare a questo particolare video o playlist. Se vuoi renderlo un po' più impegnativo, metti in pausa il video nei punti difficili e cerca di capire da solo il passo successivo prima che io presenti la soluzione. Non arrenderti troppo in fretta! Imparerete molto più velocemente risolvendo i problemi da soli.

Tic Tac Toe

Penso che non ci sia sviluppatore che non abbia costruito un gioco Tic Tac Toe quando ha iniziato. Ok, immagino che ce ne siano alcuni, ma Tic Tac Toe è davvero un bel progetto per praticare il coding in modo divertente e piacevole. Questo perché la logica che c'è dietro è abbastanza semplice che anche se è impegnativo all'inizio, quasi tutti possono farlo. Ma dovrete riflettere un po' per capirlo. (Questo non include la creazione di un computer player/AI, che è molto più difficile).

Ho un tutorial su Youtube per un gioco Tic Tac Toe con un contatore di punti e una funzionalità di reset. Lì imparerete anche come gestire i cambiamenti di configurazione, che avvengono per esempio quando si ruota un dispositivo Android. I cambiamenti di configurazione sono un concetto importante di Android che non si può aggirare se si vogliono creare applicazioni. Per questo motivo è bene impararlo il prima possibile. Clicca sul link qui sopra per arrivare alla playlist.

Countdown Timer / Stopwatch (Sono 2 link diversi)

Un timer per il conto alla rovescia e un cronometro sono idee di app che probabilmente non sentirai molto spesso, ma in realtà sono piuttosto belle e divertenti da costruire. Sono anche abbastanza impegnativi da implementare. Per prima cosa, naturalmente, bisogna far funzionare il timer. Ma poi si deve anche formattare correttamente il tempo, che di solito è dato in forma di millisecondi. Trasformare i millisecondi in secondi, minuti e ore senza contare accidentalmente qualcosa due volte può facilmente richiedere qualche ora per capirlo (se non si guarda la soluzione). Ci sono molti più problemi complicati quando si costruisce un timer di questo tipo, ma è anche molto divertente e si crea effettivamente qualcosa di utile che si può mettere sul proprio telefono.

Dopo aver finito il progetto si potrebbe anche costruire qualche timer più avanzato, come un timer Pomodoro, che conta automaticamente e alterna tra diversi intervalli di tempo.

Con qualcosa di semplice come un generatore di numeri casuali si possono fare alcune cose piuttosto belle, come scegliere un colore casuale, lanciare una moneta o lanciare un dado virtuale. Molto utile per le persone che non possono prendere decisioni. È un progetto piuttosto semplice, ma devi comunque pensare un po' e capire come gestire gli eventi click, come creare una dichiarazione switch e come usare la classe del generatore di numeri casuali, che è anche un po' complicata.

Clicca il link nel titolo per arrivare ad un tutorial facile e veloce sul rullo di dadi. Contiene anche un link dove puoi scaricare le immagini necessarie. Se volete renderlo un po' più impegnativo, provate ad aggiungere un secondo dado o implementate un contatore di punti.

Calcolatrice

Non ho ancora un tutorial sulla calcolatrice, perché la parte UI è un po' noiosa per un video tutorial, ma è comunque un grande progetto per allenare il vostro pensiero logico e le vostre capacità di programmazione. Aggiungere o sottrarre due numeri nel codice è abbastanza semplice, ma fare in modo che l'applicazione si comporti effettivamente come una calcolatrice convenzionale, che per esempio aggiunge le cifre inserite alla fine della riga, ha un limite di conteggio dei caratteri e mostra l'ultimo risultato dopo aver eseguito un'operazione matematica, è un po' più complicato. Ma complicato è un bene, perché significa che imparerete molto da esso.

Se questo è troppo facile per voi, provate a costruire una calcolatrice scientifica. Se è troppo difficile, provate prima a mettere le mani su una calcolatrice di mance, dove si calcola semplicemente la percentuale su un numero inserito o si divide un conto in più parti.

Reminder App

Perché non costruire un'app di promemoria che vi mostri le notifiche per diversi eventi durante la giornata? La playlist linkata qui ti insegna come creare notifiche su Android ed è aggiornata con gli ultimi cambiamenti e requisiti, in particolare i canali di notifica. Insieme alla classe AlarmManager e ad alcuni semplici campi di input puoi creare un'app che ti invia notifiche sul tuo telefono ad orari programmati. Magari costruite un'app che vi ricordi di lavarvi i denti 2 volte al giorno o di non dimenticare di prendere le vostre medicine.

Un'app che può salvare e caricare solo una singola nota potrebbe non essere lo strumento più utile per la vostra vita quotidiana, ma è un buon modo per imparare come scrivere un file di testo nella memoria interna di un dispositivo Android. Userai alcune cose Java davvero grezze qui, come FileInputStream, FileOutputStream e un sacco di blocchi try/catch. Il tutorial confonderà all'inizio, perché è abbastanza di basso livello e non così astratto e facile da usare come per esempio SharedPreferences. Ma il video dura poco più di 10 minuti, quindi non c'è nulla di cui spaventarsi.

To Do List / Grocery List

Se volete memorizzare grandi quantità di dati offline in modo strutturato e recuperarli in seguito, dovete imparare ad usare i database. Una lista di cose da fare, una lista della spesa o qualsiasi tipo di app di liste è un ottimo modo per iniziare ad entrare in questo argomento, perché la struttura del database è di solito piuttosto semplice e senza alcuna relazione complessa. Qui usiamo SQLite, che è integrato di default in Android, quindi puoi usarlo subito senza aggiungere o preparare nulla. Se vuoi mostrare le voci del database nella tua app, devi conoscere anche RecyclerView, perché un RecyclerView è necessario per visualizzare un grande elenco di dati in un modo efficiente per la memoria. Nella playlist linkata qui facciamo esattamente questo. Costruiamo un'applicazione per la lista della spesa con SQLite e una RecyclerView, dove possiamo aggiungere diversi articoli con un nome e un importo, ordinare queste voci in base al loro timestamp e toglierle dalla lista per cancellarle definitivamente dal database.

SQLite è piuttosto di basso livello e richiede un sacco di codice di base. È molto facile fare errori perché la sintassi può essere confusa e il compilatore non vi mostrerà molti avvertimenti per dichiarazioni SQLite sbagliate. C'è una libreria Android chiamata "Room" che astrae molte di queste cose di basso livello di SQLite e lo rende più facile da usare, ma comunque penso che sia bene iniziare con SQLite grezzo come principiante e poi passare a Room quando si sente di averlo capito.

SQLite Multiple Choice Quiz

Se non si ha già abbastanza di SQLite, creare un gioco a quiz è un buon modo per praticarlo un po' di più. Lo schema del database è leggermente più avanzato di quello dell'applicazione della lista della spesa e usiamo alcuni metodi di interrogazione più complicati, ma questa volta almeno non abbiamo bisogno di costruire una RecyclerView. Quello che impareremo invece sono cose come ripristinare lo stato dell'applicazione dopo le modifiche alla configurazione, come usare SharedPreferences per salvare piccole quantità di dati non strutturati, come inviare variabili tra diverse attività (schermi) e altro ancora.

Questo tutorial è uno dei più popolari sul mio canale, probabilmente perché è molto divertente. È anche il più difficile di questa lista, ma lo facciamo passo dopo passo, così tutti possono farlo, anche con pochissima esperienza.

App di bilancio / Contatore di calorie / Qualsiasi tracker

Un'altra idea semplice ma utile sarebbe un'app che tenga traccia di qualche metrica nella tua vita, come le tue finanze o la tua alimentazione. Dovresti capire come prendere l'input dell'utente, come elaborarlo e fare i tuoi calcoli su di esso, come memorizzare i dati e poi come visualizzarli in modo utile. Non ho un tutorial su nessuna di queste applicazioni in particolare, ma puoi trovare tutti i pezzi e i concetti necessari nei miei altri tutorial. E dato che sei tu lo sviluppatore, puoi dare alla tua app tutte le funzionalità che vuoi, visualizzare le statistiche di cui hai bisogno e in questo modo costruire il tracker perfetto per te.

Ok, queste sono le mie idee di app che puoi provare come principiante.