Prima applicazione con Android Studio Come muovere i primi passi con Andorid Studio. Configurare i files più importanti e eseguire la prima applicazione con Android Studio su un Virtual Device.

Pubblicato da lentux-informatica il


Introduzione

Dopo aver introdotto il mondo della programmazione e dopo aver installato e configurato correttamente tutto l’ambiente necessario, passiamo adesso a vedere come muoverci con Android Studio per sviluppare app Android.

Per il momento verrà data una panoramica di alcuni dei files più importanti creati in automatico al momento della configurazione di un nuovo progetto.

Non andremo quindi a scrivere alcuna riga di codice perchè seguendo la configurazione iniziale e selezionando una “Empty Activity”, verrà configurato automaticamente il progetto in modo tale che si presenti il classico “Hello World” presente in quasi tutti i primi esempi legati al mondo della programmazione informatica.

La prima schermata che sarà mostrata se tutta la fase di configurazione è andata a buon fine sarà simile a questa:

android_studio_prima

Ho evidenziato in rosso tre dei files tra i più importanti che andremo a vedere a breve nel dettaglio:

  • AndroidManifest.xml
  • MainActivity.java
  • activity_main.xml

Approfitta della settimana del Black Friday di Amazon con sconti fino al 60% su moltissimi articoli!!!


AndroidManifest.xml

Il primo file si chiama AndroidManifest.xml.

Si potrebbe chiamare in qualsiasi altro modo, ma se avete seguito passo passo le fasi di configurazione senza cambiare nome lo troverete già cosi.

Di default tale file si presenterà esattamente in questo modo:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
       package="com.example.lentux.nuovoprogetto">

    <application android:allowBackup="true" 
                 android:icon="@mipmap/ic_launcher" 
                 android:label="@string/app_name" 
                 android:roundIcon="@mipmap/ic_launcher_round" 
                 android:supportsRtl="true" 
                 android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Sono quasi tutte righe di codice standard sempre uguali tranne qualche pezzo.

Quello che ci interessa particolarmente al momento sono solo alcune righe.

Innanzitutto il nome da package, in questo caso:

package="com.example.lentux.nuovoprogetto"

che può essere modificato a proprio piacimento.

La riga:

android:label="Nuovo progetto"

che vedremo successivamente cosa significa e la riga:

<activity android:name=".MainActivity"/>

Partiamo direttamente da quest’ultima.
All’interno di un tag denominato activity si sta indicando che la classe java di riferimento si chiama MainActivity.java.

Infatti facendo Ctrl+click su tale riga si aprirà la classe java di riferimento.

MainActivity.java

La classe MainActivity.java è quella di riferimento per poter scrivere ciò che deve fare questa semplice app iniziale.

package com.example.lentux.nuovoprogetto;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Questa semplice classe contine un unico metodo chiamato “onCreate” che è quello indispensabile al momento per poter creare ed eseguire un’azione.

In questo primo esempio, l’unica riga da tenere in considerazione è:

setContentView(R.layout.activity_main);

Tralasciamo per il momento la parte “R.layout” che vedremo successivamente.
Il metodo “setContentView” ci permette di creare un contenuto all’interno di una pagina dell’applicazione finale.
Tramite la sintassi precedente si sta dicendo che il layout dell’applicazione che si sta creando sarà contenuto all’interno del file “activity_main.xml”

activity_main.xml

Il file inizialmente si presenta in questo modo:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       tools:context="com.example.lentux.nuovoprogetto.MainActivity">

    <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="Hello World!" 
          app:layout_constraintBottom_toBottomOf="parent" 
          app:layout_constraintLeft_toLeftOf="parent" 
          app:layout_constraintRight_toRightOf="parent" 
          app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

Per il momento ciò che interessa è soltanto la presenza di un tag denominato “TextView” all’interno del quale è presente la riga android:text=”Hello World!”.

In questo modo non si fa altro che indicare che il layout dovrà contenere una casella di testo (TextView) e la semplice frase “Hello World!” da visualizzare.

Tutte la altre righe di codice dei tre files analizzati verranno spiegati successivamente nel dettaglio.

Per il momento lo scopo è quello di far capire quali sono i files più importanti e il ciclo effettuato da una semplice applicazione Android.

Esecuzione applicazione con Device Virtuale

Per quanto riguarda l’esecuzione vera e propria dell’applicazione appena creata ci sono due strade differenti.

La prima è quella di eseguirla su un device virtuale (Virtual Device) e la seconda è quella di eseguirla direttamente su un dispositivo reale direttamente tramite cavetto USB.

Per il momento verrà eseguita tramite Virtual Device seguendo la seguente strada, che è la stessa anche per l’altro caso ma con la selezione di un device piuttosto che l’altro.

Per eseguire l’applicazione sul Device Virtuale agire nel seguente modo:

1 – Selezionare il tasto “Run App” identificato dall’icona verde ed evidenziato in rosso come in figura:

android_studio_run

2 – Si aprirà una finestra per la selezione del Device (inizialmente sarà vuota) nella quale cliccare “Create New Virtual Device” come nella figura seguente:

android_studio_device

3 – Il passo seguente sarà quello della selezione del dispositivo sul quale eseguire l’applicazione.

L’unico accorgimento da tenere presente nel momento della scelta del dispositivo, sia esso virtuale o reale, è la “Minimum SDK” selezionata in fase di configurazione del progetto.

Quest’opzione non fa altro che specificare da quale versione di Android (e tutte le altre versioni successive) sia possibile far funzionare l’applicazione.

Il consiglio è quello di lasciare le impostazioni di default, lasciando selezionato il valore “API 14: Android 4.0(IceCreamSandwich)”.

Questa impostazione indica che l’applicazione creata potrà essere utilizzata su tutti i dispositivi dotati della versione 4.0 di Android e successive.

Nel caso in esempio è stato selezionato un Nexus 5X, ma è possibile selezionare uno tra i tanti dispositivi virtuali disponibili o collegare tramite cavo USB un qualsiasi smartphone o tablet dotato di sistema operativo Android.

android_studio_select_device

4 – L’ultimo passaggio è quello in cui l’applicazione è in esecuzione su un Device Virtuale.




android_studio_esecuzione

Conclusioni

Il risultato di questa prima applicazione è abbastanza chiaro.

Infatti come si può ben vedere dalla figura precedente, non è stato fatto altro che creare una nuova applicazione chiamata “Nuovo Progetto” come impostato precedentemente nel file AndroidManifest.xml con il testo “Hello World!” come settato nel file activity_main.xml.

Nelle lezioni successive vedremo più nel dettaglio questi e altri files in modo tale da poter modificare questo esempio basilare e creare applicazioni di ogni tipo.


  • 2
  •  
  •  
  •  
  •  
  •  
  •