Come configurare smartphone e PC. Portale informativo
  • casa
  • Televisori (Smart TV)
  • Fondamenti di programmazione per Android sull'esempio del gioco Sudoku. Come scrivere un'app Android utilizzando Android Studio

Fondamenti di programmazione per Android sull'esempio del gioco Sudoku. Come scrivere un'app Android utilizzando Android Studio

L'articolo descrive le principali difficoltà nella creazione di applicazioni per Android.
Vengono trattati i concetti di base della programmazione Android.
Ad esempio, viene descritta la creazione di un gioco di Sudoku dal libro Hello, Android - Ed Burnette.
Accuratamente un sacco di screenshot.

1. Difficoltà di sviluppo

Android è un sistema operativo unico. Uno sviluppatore di applicazioni deve conoscerne le caratteristiche e le sfumature per ottenere un buon risultato. Ci sono alcune difficoltà da considerare quando si sviluppa (). Elenchiamoli brevemente:
1) L'applicazione richiede il doppio (o anche quattro) di spazio in più per l'installazione rispetto alle dimensioni dell'applicazione originale.
2) La velocità di lavoro con i file sull'unità flash integrata diminuisce di dieci volte con la diminuzione dello spazio libero.
3) Ogni processo può utilizzare fino a 16 MB (a volte 24 MB) di RAM.

2. Principi di sviluppo di applicazioni produttive per Android

Richiede Android SDK ed Eclipse per funzionare. Come installare e avviare tutto è scritto.

Per caricare un progetto in Eclipse, devi eseguire la seguente sequenza di azioni:
1) Decomprimi il progetto in una cartella separata nell'area di lavoro di Eclipse.
2) Selezionare la voce di menu File-> Nuovo-> Progetto Android.
3) Nella finestra di dialogo Nuovo progetto Android, selezionare l'opzione Crea progetto da sorgente esistente.
4) Nel campo Posizione, specificare il percorso della cartella con il progetto. Fare clic su Avanti.

Menu del programma

Il menu di gioco è descritto nel file res / layout / main.xml. La descrizione dell'interfaccia può essere modificata come XML o come interfaccia renderizzata. È possibile cambiare utilizzando le schede nella parte inferiore dell'area di visualizzazione del contenuto.

In genere, i controlli sono contenuti all'interno di un contenitore, nel nostro caso un LinearLayout. Dispone tutti gli elementi in un'unica colonna.

risorse

Si prega di notare che tutte le caselle di testo (Android: testo) prendono dati dalle risorse. Ad esempio, android: text = "@ string/main_title" indica che il testo deve essere cercato in res/values/string.xml sotto un nodo denominato main_title (Android Sudoku). Il colore di sfondo è contenuto anche nelle risorse (android: background = "@ color / background") ma nel file color.xml (# 3500ffff). Potrebbe verificarsi un errore durante l'apertura dei file di risorse nell'editor. Ma puoi sempre andare alla visualizzazione XML.

I controlli a cui è necessario accedere dal codice devono avere un ID. I pulsanti hanno un id (android: id = "@ + id / continue_button") in modo da poter collegare un gestore di clic al pulsante. Il segno più indica che è necessario creare un identificatore per il pulsante nel file /gen/org.example.sudoku/R.java (public static final continue_button = 0x7f0b000b;). Questo file viene generato automaticamente e non è consigliabile modificarlo. Il file contiene la classe R attraverso di esso è possibile fare riferimento a qualsiasi elemento dell'interfaccia e ad altre risorse.

Crea finestre

Consideriamo la creazione di una finestra con le informazioni sul programma. Il markup per questa finestra si trova nel file /res/layout/about.xml. La classe Activity è descritta nel file /src/org.example.sudoku/About.java. L'attività è collegata al markup nel file AndroidManifest.xml. Questo file può essere visualizzato tramite un editor o come XML. In diverse schede dell'editor, puoi selezionare diverse sezioni del file. La sezione Applicazione contiene i parametri dell'attività. Si noti che il parametro Theme è impostato su style / Theme.Dialog. Ciò rende la finestra più simile a una finestra di dialogo modale.

La finestra con le informazioni sul programma viene richiamata dalla classe Sudoku premendo il pulsante About. La classe Sudoku è scritta in modo da gestire l'evento Click stesso (la classe pubblica Sudoku estende Activity implementa OnClickListener). Nel metodo public void onClick (View v), viene determinato quale pulsante ha attivato l'evento e viene eseguito il codice corrispondente. Per visualizzare la finestra Informazioni su, viene chiamato l'Intento corrispondente.
caso R.id.about_button:
Intento i = nuovo Intento (questo, About.class);
startActivity (i);
rottura;

I gestori di eventi possono essere installati anche su controlli specifici. Ad esempio, nella classe Keypad, quando viene creata la classe, i gestori per i singoli pulsanti vengono impostati nel metodo setListeners().

Dialogo semplice

L'utente deve avere la possibilità di scegliere il livello di difficoltà. Questa è una piccola finestra di dialogo in cui è necessario scegliere una delle diverse opzioni. Sono molto contento che per questo non sia necessario creare un intento separato, ma utilizzare semplicemente la classe AlertDialog.
Analizziamo il processo di avvio di un nuovo gioco. L'utente fa clic sul pulsante Nuova partita. Il gestore dei clic è il metodo onClick della classe Sudoku. Successivamente, viene chiamato il metodo openNewGameDialog, che mostra la finestra di dialogo di selezione della difficoltà e avvia il gioco con il livello di difficoltà selezionato. Questa finestra di dialogo viene creata utilizzando la classe AlertDialog.

Private void openNewGameDialog () (new AlertDialog.Builder (this) .setTitle (R.string.new_game_title) .setItems (R.array.difficulty, new DialogInterface.OnClickListener () ( public void onClick (DialogInterface i) dialoginterface (i); ))). mostrare ();)

Notare che i contenuti della finestra di dialogo (insieme di pulsanti) sono costruiti dall'array di stringhe R.array.difficulty. Viene immediatamente assegnato un gestore per la pressione dei pulsanti della finestra di dialogo che, in base al numero del pulsante premuto, avvia una nuova partita con un determinato livello di difficoltà chiamando il metodo startGame.

Grafica

La classe Game è responsabile della logica del gioco. Qui vengono caricate le attività, vengono verificate le condizioni di vincita. La classe Game è un'attività, ma l'interfaccia non è descritta in XML, ma è creata dal codice. Il metodo onCreate crea una vista:

PuzzleView = nuovo PuzzleView (questo);
setContentView (puzzleView);
puzzleView.requestFocus ();

PazzleView è una classe derivata da View che disegna il tabellone di gioco e gestisce gli eventi touch dello schermo (metodo onTouchEvent) e la pressione dei tasti (metodo onKeyDown).

Diamo un'occhiata al processo di disegno in Android. Per disegnare, devi sovraccaricare il metodo onDraw. Il metodo ottiene un oggetto Canvas attraverso il quale viene eseguito il disegno. Per impostare i colori vengono creati oggetti della classe Paint. Il colore è specificato in formato ARGB. È meglio memorizzare il colore come risorse (file colors.xml). Paint non è solo una classe per memorizzare le informazioni sul colore. Ad esempio, quando disegni del testo, contiene informazioni su come viene disegnato il testo, il tipo di carattere e l'allineamento del testo.

Canvas contiene una serie di metodi per disegnare elementi grafici (drawRect, drawLine, drawPath, drawText e altri).

Per ottimizzare la grafica è meglio astenersi dal creare oggetti e calcoli non necessari all'interno del metodo onDraw (l'esempio considerato di implementazione grafica non è ottimale).

Musica

La classe MediaPlayer viene utilizzata per riprodurre musica. La musica per il gioco è stata aggiunta alle risorse. Devi solo copiare i file che ti servono nella cartella /res/raw (formati WAV, AAC, MP3, WMA, AMR, OGG, MIDI).
Innanzitutto, devi creare un'istanza della classe MediaPlayer:
mp = MediaPlayer.create (contesto, risorsa);
qui il contesto è solitamente una classe che avvia il lancio della musica, la risorsa è un identificatore di una risorsa con la musica. I metodi di avvio, arresto e rilascio vengono utilizzati per controllare la riproduzione.

Nel gioco, la musica viene riprodotta nel menu principale (lanciato dalla classe Sudoku) e nel gameplay (lanciato dalla classe Game). La classe Music è stata creata per controllare la riproduzione. La classe contiene un'istanza statica di MediaPlayer, il che significa che non è necessario creare un progetto separato per ogni avvio di una risorsa audio.

I metodi onResume e onPause sono stati ridefiniti nelle classi Sudoku e Game, in cui la musica inizia all'avvio dell'Attività e si interrompe quando viene disattivata.

conclusioni

L'esempio considerato nell'articolo non è troppo complicato, il che ti consente di capirlo senza troppi sforzi. In tal modo, tocca vari aspetti dello sviluppo di Android.

P.S. Molte grazie all'utente

Come sta andando il processo di sviluppo di Android? Evidenziamo alcune nozioni di base:

  • Nei file Java, descrivi la logica del programma: cosa vuoi che faccia la tua applicazione.
  • Nei file XML, progetti i layout - aspetto.
  • Una volta scritta l'applicazione, è necessario utilizzare uno strumento di compilazione per compilare tutti i file e impacchettarli insieme in un file .apk che può essere eseguito su dispositivi Android e/o pubblicato su Google Play.
  • Tutte le utilità e i file utilizzati per creare un'applicazione Android sono combinati in un ambiente di sviluppo integrato (IDE). Un IDE è un programma che apri per modificare i tuoi file di codice e compilare ed eseguire.
  • Eclipse era in precedenza l'IDE standard per lo sviluppo di Android, ma ora è stato sostituito dal più funzionale Android Studio, un prodotto di Google.

Ovviamente troverai processi più profondi in corso dietro le quinte dei passaggi precedenti. Ad esempio, gli utenti avanzati vorranno conoscere il ruolo della macchina virtuale Dalvik. Alla fine dell'articolo, elencherò i collegamenti a risorse utili con cui ogni sviluppatore Android dovrebbe avere familiarità. La prima è la documentazione ufficiale di Google.

  • Scarica e installa Android Studio.
  • Impareremo a lanciare e testare applicazioni su dispositivi Android ed emulatori.
  • Creiamo una semplice applicazione Android che visualizzi il testo "Hello World" sullo schermo di un dispositivo mobile.

Alla fine dell'articolo, puoi trovare consigli utili per gli sviluppatori alle prime armi dell'azienda.

Installazione dell'ambiente di sviluppo di Android Studio

È davvero allettante iniziare a leggere la documentazione e scrivere codice per scoprire di cosa è capace la piattaforma. E lo faremo presto! Tuttavia, per iniziare con la piattaforma Android, è necessario configurare un ambiente di sviluppo.

È particolarmente importante che i principianti nella programmazione per Android si prendano il loro tempo e seguano metodicamente ogni passaggio. Anche se si seguono i passaggi correttamente, potrebbe essere necessario risolvere un piccolo problema di configurazione dell'ambiente a seconda della configurazione del sistema o della versione del prodotto. Per fare ciò, usa i servizi di ricerca. La risorsa StackOverflow è particolarmente degna di essere evidenziata.

È importante non lasciare che le insidie ​​interferiscano con il tuo obiettivo finale di imparare la programmazione Android. È noto che anche i professionisti a volte hanno alcuni problemi con la creazione di un ambiente di lavoro. In questi casi, la conoscenza della riga di comando è importante. Se desideri acquisire maggiore familiarità con questo strumento, di seguito è disponibile un collegamento a una buona introduzione.

Oltre a praticare la sintassi, è importante educare te stesso a una mentalità da programmatore di successo che non accetterà il messaggio di errore file X non trovato come verdetto finale. Questo tipo di pensiero è facilmente addestrato da te nei casi in cui non ti arrendi e stai cercando una soluzione al problema che è sorto.

Vai su Android Studio developer.android.com/studio/index.html e trova un pulsante per scaricare l'ultima versione per la tua piattaforma.

Fare clic sul pulsante di download e verrà chiesto di leggere i termini e le condizioni di utilizzo del prodotto software. Dopo aver letto attentamente (come fai sempre) e aver accettato, inizia il download. Probabilmente ci vorranno alcuni minuti. Successivamente, puoi installare Android Studio come qualsiasi altro programma. La pagina iniziale del download fornisce le istruzioni di installazione per Mac e Windows.

Ora che hai installato Android Studio, iniziamo! Avvia Android Studio. Il programma ti chiederà se vuoi importare le tue impostazioni. Dal momento che stai iniziando da zero, seleziona il secondo elemento e continua.

Dovresti vedere una bella schermata di caricamento di Material Design.

Al termine del download, verrai indirizzato alla schermata di benvenuto.

Anche se hai appena scaricato Android Studio, potresti non avere la versione più recente. Per evitare problemi con le versioni in futuro, fai clic sul pulsante "Verifica aggiornamenti ora" e, se necessario, segui tutte le istruzioni per ottenere l'ultima versione. A volte Studio ti informa automaticamente che c'è un aggiornamento utilizzando una schermata come questa:

In questo caso, seleziona sempre Aggiorna e riavvia. Bene! Abbiamo completato con successo la configurazione dell'ambiente di sviluppo.

Creare il tuo primo progetto Android

È il momento di creare il tuo primo progetto. Cominciamo semplice. È consuetudine per i programmatori chiamare il primo programma "Hello World". Seguiamo questa tradizione e poi apportiamo alcune piccole modifiche in modo che l'applicazione utilizzi il tuo nome per il saluto. Alla fine, puoi scaricarlo sul tuo dispositivo e mostrarlo ai tuoi amici. Android Studio ha un piccolo strumento passo passo per aiutarti a creare il tuo progetto. Fare clic su "Nuovo progetto" nella schermata iniziale:

Compilalo in questo modo. Sentiti libero di sostituire "esempio" nel nome del pacchetto con qualcos'altro per rimuovere l'avviso nella parte inferiore dello schermo. Puoi anche impostare la posizione del progetto specificando qualsiasi cartella sul tuo disco rigido

Per le versioni SDK a discesa, vedere la sezione Descrizione nella parte inferiore della finestra di dialogo. Spiega a cosa serve ogni impostazione.

Installa l'SDK minimo richiesto come mostrato nello screenshot. Imposta la versione minima di Android richiesta per eseguire l'applicazione. La scelta di questo valore per i propri progetti è una questione di bilanciamento delle funzionalità SDK desiderate e dei dispositivi che saranno supportati.

Per ulteriori informazioni sulle versioni API e sul loro utilizzo, è disponibile una pagina Dashboards dedicata sul sito per sviluppatori Android https://developer.android.com/about/dashboards/index.html.

Dopo aver selezionato la versione, si apre la schermata per la selezione del modello di partenza. Puoi creare un'app che già interagisce con l'API di google maps e visualizza la mappa. Nel nostro test case, seleziona Attività vuota e fai clic sul pulsante Avanti.

E ora sei all'ultimo passaggio del processo di creazione dell'applicazione. Prima di fare clic su Fine, ci sono alcune cose da notare. È qui che si incontrano per la prima volta i riferimenti ai principali componenti architetturali di qualsiasi applicazione.

  • - questa è la prima, ma non l'ultima, menzione della parola Attività. Nel contesto di Android, un'attività è generalmente vista come uno "schermo" nella tua applicazione. Questo articolo è molto flessibile. Quando Android Studio crea la classe MainActivity, eredita dalla classe Activity da Android SDK. Chi ha familiarità con la programmazione orientata agli oggetti comprende questo concetto, ma per i principianti ciò significa sostanzialmente che la propria attività principale sarà una versione personalizzata di un'attività.

  • Nome layout- il layout di ciò che verrà mostrato all'utente è definito in un apposito form Android XML. Imparerai presto come leggere e modificare questi file.

Fare clic su Fine. Ci vorrà del tempo per creare e caricare il progetto. Dopo un po', Android Studio completerà la build del tuo progetto. Ovviamente, il progetto è ancora vuoto, ma ha tutto il necessario per essere eseguito su un dispositivo Android o un emulatore.

Dopo aver caricato il progetto, si visualizza il file di layout XML. Prima di passare alla programmazione Android, parliamo di come possiamo far funzionare questa applicazione. È il momento di dire "Ciao mondo!"

Avvio dell'applicazione sull'emulatore

Ora è il momento di dire qualche parola sull'emulatore. Android Studio viene fornito con un software in grado di emulare un dispositivo Android per l'esecuzione di applicazioni, la navigazione di siti Web, il debug e altro ancora.

Questa funzione è fornita da Android Virtual Device (AVD) Manager. Facoltativamente, puoi configurare più emulatori, impostare le dimensioni dello schermo e la versione della piattaforma per ogni nuovo emulatore. Questa funzionalità è molto utile in quanto elimina la necessità per gli sviluppatori di acquistare più dispositivi per testare i programmi.

Fare clic sul pulsante Esegui sotto forma di freccia verde.

Dovrai aspettare un po' per il caricamento dell'emulatore e non appena sarà pronto vedrai qualcosa del genere:

Le mie congratulazioni! Hai creato la tua prima app Android!

E quindi... Perché e come ha funzionato?

Iniziare ad apportare modifiche e aggiungere funzioni interessanti richiede una conoscenza pratica di ciò che accade dietro le quinte. Dai un'occhiata alla sezione file e cartelle del progetto Android Studio sul lato sinistro dello schermo. Potrebbe essere necessario fare clic sulla piccola scheda sul bordo (vedi sotto) se l'esploratore del progetto non è attualmente visualizzato.

Rivedere la struttura delle cartelle per alcuni minuti e fare doppio clic sui file per vederne il contenuto nella finestra principale. Se tutto questo sembra criptico, non preoccuparti!

Struttura del progetto Android: Team

Ogni buona squadra è composta da persone che adempiono ai ruoli assegnati. Vuoi portare a termine il lavoro nel modo giusto? Hai bisogno della squadra giusta. Ci sono diversi elementi chiave nei progetti Android e ognuno di essi deve svolgere un ruolo specifico:

Java: professionale

Questa è la parte del tuo codice responsabile della logica della tua applicazione. Il tuo codice sarà nella directory src \ main \ java nella cartella principale del progetto. Per imparare Java, prendi in considerazione il libro di Bruce Eckel Philosophy of Java;

Risorse: Artista

Non è sufficiente creare un'app Android, deve anche essere elegante. La tua app non si distinguerà mai se non ha icone e immagini chiare, layout ben congegnati e forse anche animazioni fluide.

Durante l'inizializzazione, la cartella contiene le seguenti cartelle:

  • drawable, che memorizza le icone. Ora c'è solo un'icona dell'applicazione standard.
  • layout con file XML che rappresentano i progetti dello schermo.
  • menu con file XML di elenchi di elementi che verranno visualizzati nel pannello delle azioni.
  • valori con file XML contenenti dimensioni, colori, costanti di stringa e stili.

AndroidManifest.xml: Boss

Questo file XML informa il sistema sui requisiti hardware e software dell'applicazione e contiene il nome e l'icona della versione. Il manifest contiene anche informazioni su tutte le attività nell'applicazione. Hai bisogno di un lavoro svolto dalla tua applicazione? Parla prima con il tuo capo.

Alterazione

Vai su res/values/strings.xml e fai doppio clic sul file. Quando apri il file, vedrai due risorse stringa in XML.

Queste risorse vengono utilizzate in posti diversi, ma è molto comodo avere tutto il testo utilizzato nell'applicazione in un unico file. Se hai bisogno di tradurlo o se il tuo collega di marketing ti chiede di rimuovere eventuali collegamenti ridondanti, è facile apportare tutte le modifiche qui.

Modifica la riga hello_world che l'applicazione visualizza sullo schermo. Cambia il suo contenuto in qualcosa di più personale, come usare il tuo nome. Finirai con qualcosa come:

Matt sta imparando Android!

Fare clic su Esegui. L'applicazione dovrebbe riavviarsi e vedrai un messaggio personale:

Ci congratuliamo con te: hai completato il tuo primo progetto e hai imparato a modificare il codice sorgente. Il primo passo nella programmazione Android è stato fatto. Vi auguriamo buona fortuna in questo viaggio impegnativo ma incredibilmente interessante! Se hai bisogno dello sviluppo professionale di un'applicazione Android, contatta gli specialisti di Infoshell.

6 gennaio 2013 alle 19:36

Programmazione Android per principianti. Parte 1

  • Sviluppo di applicazioni mobili,
  • Sviluppo per Android
  • Tutorial

Ciao. Oggi mi sono imbattuto in un corso sulla programmazione per Android sul sito Web della Linux Foundation, e con esso - e molti commenti su ciò che mi piacerebbe vedere e la traduzione di queste lezioni. Dato che ora, dopo quattro anni di sviluppo per microcontrollori, ho iniziato a studiare programmazione per dispositivi mobili, ho deciso di tradurre in parallelo la prima parte della lezione.

Programmazione Android per principianti. Parte 1
Smartphone e tablet Android si trovano sempre più nelle nostre borse e tasche e anche la programmazione Android sta diventando sempre più popolare. È un'ottima piattaforma di sviluppo: l'API è ben documentata e facile da usare, ed è semplicemente divertente creare qualcosa che puoi eseguire sul tuo smartphone. Puoi farne a meno inizialmente creando e testando il codice utilizzando un emulatore sul tuo PC Linux. La prima di un'introduzione in due parti spiega come creare una semplice applicazione timer e fornisce un'introduzione all'API Android. Il corso presuppone una conoscenza di base di Java, XML e delle tecnologie di programmazione, ma sentiti libero di provarlo anche se ne hai una comprensione molto vaga.
Avvio e ambiente di sviluppo
Un po' di versioni: l'ultima versione di Android è la 4.2 (Jelly Bean), ma come puoi vedere da questo diagramma, non è ancora abbastanza diffusa. È meglio iniziare a sviluppare per una delle versioni: 4.0 (Ice Cream Sandwich) o 2.3 (Gingerbeard), soprattutto perché le versioni di Android sono retrocompatibili (cioè il tuo codice per la versione 2.3 funzionerà su 4.2) e le applicazioni sviluppate per un successivo la versione non funzionerà sempre anche su quella vecchia. Il codice mostrato qui dovrebbe funzionare sulle versioni 4.0 e 2.3.
Il modo più semplice per ottenere un ambiente di sviluppo è installare Android Bundle, che puoi scaricare. Inoltre hai bisogno di JDK 6 (non solo di JRE). Ricorda che Android non è compatibile con gcj. Se stai già utilizzando Eclipse o un altro IDE, puoi provare a configurarlo per Android. Come farlo è descritto. Ora crea un progetto chiamato Countdown usando Eclipse o dalla riga di comando. Ho installato nelle preferenze BuildSDK 4.0.3 e minimo SDK 2.2 e (in Eclipse) ho utilizzato il modello BlankActivity.
Il mio primo progetto Android: interfaccia
Il nostro primo programma per Android sarà un timer che esegue il conto alla rovescia da 10 secondi dopo aver premuto un pulsante. Prima di scrivere qualsiasi codice, dobbiamo creare un'interfaccia, ciò che l'utente vedrà quando avvierà la nostra applicazione. Apri res/layout/activity_countdown.xml e crea un modello XML - utilizzando un editor Eclipse o un editor di testo/XML, inserisci quanto segue:

Principali articoli correlati