Vai al contenuto

Lezione 1 – Tutorial APP android: HELLO WORLD !

Requisiti obbligatori per cominciare

PRIMA di cominciare a programmare e mettere gli occhi sulle prime righe di codice è necessario INSTALLARE Java e Android Studio.
GUIDA COMPLETA clicca QUI

Creiamo il nostro primo progetto

Apriamo Android Studio e clicchiamo in alto a sinistra su “File” —> “New” —> “New Project”

Si aprirà una finestra in cui bisognerà inserire dei dati importanti per l’app che andremo a sviluppare, vediamo:


Ora dobbiamo riempire i campi nel seguente modo:

Application name: in questo campo inseriamo il nome della nostra app (in questo caso “HelloWorld”)

Company Domain: in questo campo inseriamo il nome del package del nostro progetto (N.B. si inserisce in ordine rovesciato, partendo dal dominio + suffisso .it)

Package name: in automatico verrà interpretato il campo sopra in “it.esempio.helloworld”

Premere su “Next” per proseguire.


Lasciare la spunta blu su “Phone and Tablet” e come Minimim SDK impostare Api 14, in questo modo avrete la compatibilità da android 4 e superiori.

Premere su “Next” per proseguire.

Selezionare “Empty Activity” per avere una activity vuota fin da subito. Clicca su “Next” per andare avanti.

In Activity Name: lasciare il nome scritto di default “MainActivity” oppure mettete un nome personalizzato per la attività principale del vostro progetto (il nome DEVE sempre iniziare con lettera maiuscola).

In Layout Name: lasciare il nome scritto di default “activity_main” oppure mettete un nome personalizzato per il layout dell’app.

Cliccate su “Next” per andare alla prossima slide.

Mettetevi comodi ci vorrà qualche minuto prima che Android Studio abbia completato tutte le sue procedure di creazione del nostro progetto.
Una volta che il caricamento si è concluso possiamo osservare la seguente schermata:


Sono stati creati per l’appunto due file MainActivity.java e activity_main.xml che costituiscono i due pilastri fondamentali della nostra app.

MainActivity.java è l’attività principale che costituisce la programmazione (l’implementazione del nostro algoritmo) che elabora i dati.

activity_main.xml è la struttura grafica ordinata in linguaggio XML, ovvero ogni componente grafico (widget) è formalizzato e inizializzato con dei tag e delle proprietà propri di questo linguaggio.

La programmazione

Il cuore della programmazione della app è MainActivity.java

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);
    }

}

Elenco in questa tabella un piccolo glossario per spiegare la funzione di ogni singolo comando java

Comando java Spiegazione
import PACKAGE.CLASSE Serve per utilizzare una classe all’interno del nostro codice.
Di default, in ogni file Java viene importato automaticamente il package java.lang con tutte le sue classi con il quale possiamo utilizzare le classi principali quali System e String.
public class MainActivity ci informa che l’accesso alla classe è pubblico da fuori
extends AppCompatActivity la classe MainActivity eredita metodi e attributi della classe AppCompatActivity
@Override sovrascrive il metodo ereditato(in questo caso OnCreate) con questo nuovo metodo sempre con stesso nome
Bundle savedInstanceState Se si salva lo stato dell’applicazione in un Bundle (in genere non persistente, per ulteriori info clicca QUI) il parametro savedInstanceState può essere passato al onCreate se l’attività deve essere ricreata (ad esempio, quando ruotiamo il verso del nostro tablet) in modo da non perdere delle informazioni prima di tale operazione; può essere usata anche quando si mette in pausa l’app e poi la si riprende. Se nessun dato è stato fornito, savedInstanceState è NULL.
super.onCreate(savedInstanceState) richiama il metodo onCreate della classe padre AppCompatActivity e gli passa come parametro il parametro(savedInstanceState) all’avvio della nostra applicazione.

MainActivity.java sostanzialmente si occupa delle operazioni che vengono eseguite all’atto del lancio in esecuzione del programma.

Il metodo protected onCreate viene lanciato ed è qui che dobbiamo focalizzare la nostra attenzione:

setContentView(R.layout.activity_main); il cuore dell’intero programma che dobbiamo comprendere è questo comando: la funzione setContentView semplicemente VISUALIZZA come pagina principale della nostra app la schematizzazione che è stata scritta dentro il file activity_main.xml
dettagli tecnici clicca qui

R.layout.activity_main:
Il nostro progetto android ogni qualvolta che aggiungiamo dei dati in activity_main.xml (e in altri file) GENERA AUTOMATICAMENTE una classe R.java (per vederne il contenuto bisogna aprire l’esplora risorse di windows e andare al seguente indirizzo CARTELLA_PROGETTI\NOME_PROGETTO\app\build\
generated\source\r\debug\PACKAGE\R.java), da qui si puo’ comprendere che da R si puo’ accedere agli attributi della classe layout (saranno spiegati nel paragrafo successivo); uno di questi attributi è activity_main che corrisponde a un numero esadecimale a 8 cifre (esempio: 7F040019).

La parte grafica

Qui analizziamo activity_main.xml il punto di partenza per occuparsi della parte grafica della nostra app

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="it.esempio.helloworld.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</RelativeLayout>
Tag XML Spiegazione
Con questo tag si informa che si sta scrivendo un file xml e si indica sia la versione di xml in uso che la codifica testo utilizzata nel codice. E’ un tag obbligatorio per tutti i file xml.
RelativeLayout è un tipo di layout che consente di posizionare gli elementi in maniera relativa, ovvero l’area del layout stesso specifica allineamenti del tipo sinistra, in basso oppure in relazione ad elementi già visualizzati sullo schermo. (vedremo poi nelle successive lezioni altri tipi di layout e le relative differenze). Inoltre Android possiede un proprio namespace XML (vedi cos’è un namespace QUI) che permette di registrare informazioni nei file xml e così avrà informazioni smontate singolarmente quando l’applicazione sarà pacchettizata così da non dover ricorrere ad alcun file extra prelevato da internet per la standardizzazione dei dati.
android:layout_width, android:layout_height, android:paddingBottom, android:paddingLeft, android:paddingRight, android:paddingTop Si vanno a configurare parametri importanti quali la larghezza,altezza e il padding della nostra app
Questo attributo configura l’elemento radice del file a cui è associato questo layout xml.

Le righe di codice che rappresentano l’essenza della prima pagina della nostra app sono le seguenti:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />

TextView è un widget fondamentale di android che permette di visualizzare del testo sia programmaticamente (lo vedremo in una prossima lezione)che graficamente (come in questo caso). Andando a settare il campo android:text andiamo a INSERIRE il testo nel nostro caso ‘Hello World!’.
 

Il risultato finale

Attacchiamo il tablet al computer e poi clicchiamo su Run —– Run app

Si aprirà una finestra in cui ci chiede su quale dispositivo online vogliamo eseguire la nostra app. Selezioniamo il nostro tablet e clicchiamo su ‘Ok’.

Il risultato finale sarà il seguente:

3 commenti su “Lezione 1 – Tutorial APP android: HELLO WORLD !”

  1. Ho un problema che non visualizzo l’anteprima “Hello World” già da quando apro per la prima volta Android Studio. Non capisco il motivo all’inizio mi dava errori del tipo: this view is not constraint.it has designtime positions,so it will jump to (0,0) at runtime unless you add the constraints
    Ora invece non mi esce nessun’altro errore. Il codice rispetto alla guida per com’è settato è diverso perchè c’è la parte Constraint che non ho capito perchè è presente e non so se derivi da quello il problema. Ho provato anche reinstallare il programma più volte e sto scaricando anche le patch che mi chiede il programma…

  2. buona spiegazione , meno chiara quella per il collegamento cell to pc , però si trovano istruzioni ,continuo a seguire grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *