Android Creare un nuovo progetto

Esempio

Configura Android Studio

Inizia configurando Android Studio e quindi aprilo. Ora sei pronto per creare la tua prima app per Android!

Nota: questa guida è basata su Android Studio 2.2, ma il processo su altre versioni è principalmente lo stesso.

Configura il tuo progetto

Configurazione di base

Puoi iniziare un nuovo progetto in due modi:

  • Fai clic su Start a New Android Studio Project dalla schermata di benvenuto.
  • Passa a FileNew Project se hai già un progetto aperto.

Successivamente, è necessario descrivere la domanda compilando alcuni campi:

  1. Nome applicazione : questo nome verrà mostrato all'utente.

    Esempio: Hello World . Puoi sempre modificarlo in un secondo momento nel file AndroidManifest.xml .

  2. Dominio aziendale : è il qualificatore per il nome del pacchetto del progetto.

    Esempio: stackoverflow.com .

  3. Nome pacchetto (aka applicationId ): questo è il nome completo del pacchetto di progetto.

    Dovrebbe seguire Reverse Domain Name Notation (aka DNS inverso ): dominio di primo livello . Dominio dell'azienda . [ Segmento aziendale . ] Nome dell'applicazione .

    Esempio: com.stackoverflow.android.helloworld o com.stackoverflow.helloworld . Puoi sempre modificare il tuo ID applicazione sovrascrivendolo nel file gradle .

Non utilizzare il prefisso predefinito "com.example" a meno che tu non intenda inviare la tua richiesta al Google Play Store. Il nome del pacchetto sarà la tua applicazione unica in Google Play.

  1. Posizione del progetto : questa è la directory in cui verrà archiviato il progetto.

Nuova finestra di dialogo del progetto

Selezionare Fattori di forma e Livello API

La finestra successiva ti consente di selezionare i fattori di forma supportati dalla tua app, come telefono, tablet, TV, Wear e Google Glass. I fattori di forma selezionati diventano i moduli di app all'interno del progetto. Per ogni fattore di forma, puoi anche selezionare il livello API per quell'app. Per ottenere ulteriori informazioni, fare clic su Aiuto, scegliere

inserisci la descrizione dell'immagine qui Grafico delle attuali distribuzioni della versione Android, mostrate quando si fa clic su Aiuto me scegliere.

La finestra Distribuzione piattaforma Android mostra la distribuzione dei dispositivi mobili su cui è in esecuzione ciascuna versione di Android, come illustrato nella Figura 2. Fare clic su un livello API per visualizzare un elenco di funzionalità introdotte nella corrispondente versione di Android. Questo ti aiuta a scegliere il livello API minimo che ha tutte le funzionalità necessarie alle tue app, in modo da poter raggiungere il maggior numero di dispositivi possibile. Quindi fare clic su OK .

Ora, scegli quali piattaforme e versioni di Android SDK supportano l'applicazione.

Finestra di dialogo della versione SDK

Per ora, seleziona solo Telefono e Tablet .

L' SDK minimo è il limite inferiore per la tua app. È uno dei segnali che Google Play Store utilizza per determinare su quali dispositivi è possibile installare un'app. Ad esempio, l'app di Stack Exchange supporta Android 4.1+.

L'app di Stack Exchange
Android Studio indicherà (approssimativamente) la percentuale di dispositivi supportati in base all'SDK minimo specificato.

Livelli di API inferiori mirano a più dispositivi ma hanno meno funzioni disponibili.

Al momento di decidere l' SDK minimo , dovresti prendere in considerazione le statistiche di Dashboard , che ti forniranno informazioni sulla versione dei dispositivi che hanno visitato il Google Play Store a livello globale nell'ultima settimana.

Screenshot della distribuzione Android corrente

Da: Dashboard sul sito web degli sviluppatori Android.

Aggiungi un'attività

Ora selezioneremo un'attività predefinita per la nostra applicazione. In Android, un Activity è un unico schermo che sarà presentato per l'utente. Un'applicazione può ospitare più attività e navigare tra di loro. Per questo esempio, selezionare Empty Activity e fare clic su next.

Qui, se lo desideri, puoi cambiare il nome dell'attività e il layout. Una buona pratica è mantenere l' Activity come suffisso per il nome activity_ e activity_ come prefisso per il nome del layout. Se li lasciamo come predefiniti, Android Studio genererà un'attività per noi chiamata MainActivity e un file di layout chiamato activity_main . Ora fai clic su Finish .

Android Studio creerà e configurerà il nostro progetto, che può richiedere del tempo a seconda del sistema.

Ispezionando il progetto

Per capire come funziona Android, diamo un'occhiata ad alcuni dei file che sono stati creati per noi.

Nel riquadro sinistro di Android Studio, possiamo vedere la struttura della nostra applicazione Android .

Struttura dell'applicazione di base

Per prima cosa, apriamo AndroidManifest.xml facendo doppio clic su di esso. Il file manifest di Android descrive alcune delle informazioni di base su un'applicazione Android. Contiene la dichiarazione delle nostre attività e alcuni componenti più avanzati.

Se un'applicazione richiede l'accesso a una funzione protetta da un'autorizzazione, deve dichiarare che richiede tale autorizzazione con un elemento <uses-permission> nel manifest. Quindi, quando l'applicazione è installata sul dispositivo, il programma di installazione determina se concedere o meno l'autorizzazione richiesta controllando le autorità che hanno firmato i certificati dell'applicazione e, in alcuni casi, chiedendo all'utente. Un'applicazione può inoltre proteggere i propri componenti (attività, servizi, ricevitori di trasmissione e fornitori di contenuti) con autorizzazioni. Può utilizzare qualsiasi autorizzazione definita da Android (elencata in android.Manifest.permission) o dichiarata da altre applicazioni. O può definire il suo.

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        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>

Quindi, apriamo activity_main.xml che si trova in app/src/main/res/layout/ . Questo file contiene dichiarazioni per i componenti visivi della nostra MainActivity. Vedrai visual designer. Ciò consente di trascinare e rilasciare elementi sul layout selezionato.

Puoi anche passare al designer di layout xml facendo clic su "Testo" nella parte inferiore di Android Studio, come mostrato qui:

Layout Design / Tab di testo

<?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="com.stackexchange.docs.helloworld.MainActivity">

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

Vedrai un widget chiamato TextView all'interno di questo layout, con la proprietà android:text impostata su "Hello World!". Questo è un blocco di testo che verrà mostrato all'utente quando esegue l'applicazione.

Puoi leggere di più su Layout e attributi .

Quindi, diamo un'occhiata a MainActivity . Questo è il codice Java che è stato generato per MainActivity .

public class MainActivity extends AppCompatActivity {

    // The onCreate method is called when an Activity starts
    // This is where we will set up our layout
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // setContentView sets the Activity's layout to a specified XML layout
        // In our case we are using the activity_main layout
        setContentView(R.layout.activity_main);
    }
}

Come definito nel nostro manifest Android, MainActivity verrà avviato di default quando un utente avvia l'app HelloWorld .

Infine, apri il file denominato build.gradle situato in app/ .
Android Studio utilizza il sistema di generazione Gradle per compilare e creare applicazioni e librerie Android.

apply plugin: 'com.android.application'

android {
signingConfigs {
         applicationName {
             keyAlias 'applicationName'
             keyPassword 'password'
             storeFile file('../key/applicationName.jks')
             storePassword 'anotherPassword'
         }
     }
    compileSdkVersion 26
    buildToolsVersion "26.0.0"

    defaultConfig {
        applicationId "com.stackexchange.docs.helloworld"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        signingConfig signingConfigs.applicationName
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:26.0.0'
}

Questo file contiene informazioni sulla build e sulla versione dell'app e puoi anche utilizzarlo per aggiungere dipendenze a librerie esterne. Per ora, non apportare modifiche.

Si consiglia di selezionare sempre l'ultima versione disponibile per le dipendenze:

compileSdkVersion

compileSdkVersion è il modo per dire a Gradle quale versione dell'SDK di Android compilare la tua app. L'utilizzo del nuovo SDK Android è un requisito per l'utilizzo di una qualsiasi delle nuove API aggiunte in tale livello.

Va sottolineato che la modifica di compileSdkVersion non modifica il comportamento di runtime. Mentre possono essere presenti nuovi avvisi / errori del compilatore quando si modifica compileSdkVersion , compileSdkVersion non è incluso nel tuo APK: è puramente utilizzato in fase di compilazione.

Pertanto, si consiglia vivamente di compilare sempre l'ultimo SDK. Otterrai tutti i vantaggi dei nuovi controlli di compilazione sul codice esistente, eviterà le API appena deprecate e sarai pronto a utilizzare le nuove API.

minSdkVersion

Se compileSdkVersion imposta le nuove API disponibili, minSdkVersion è il limite inferiore per la tua app. minSdkVersion è uno dei segnali che Google Play Store utilizza per determinare su quale dispositivo di un utente può essere installata un'app.

Svolge anche un ruolo importante durante lo sviluppo: per impostazione predefinita, lint viene eseguito contro il tuo progetto, avvisandoti quando usi qualsiasi API sopra la tua minSdkVersion , aiutandoti ad evitare il problema del runtime di tentare di chiamare un'API che non esiste. Il controllo della versione del sistema in fase di esecuzione è una tecnica comune quando si utilizzano le API solo su versioni di piattaforme più recenti.

targetSdkVersion

targetSdkVersion è il modo principale in cui Android offre la compatibilità targetSdkVersion non applicando le modifiche al comportamento a meno che la versione targetSdkVersion venga aggiornata. Ciò consente di utilizzare nuove API prima di utilizzare le modifiche al comportamento. L'aggiornamento a target dell'ultimo SDK dovrebbe essere una priorità elevata per ogni app. Ciò non significa che devi usare ogni nuova funzionalità introdotta, né dovresti aggiornare ciecamente la tua versione di targetSdkVersion senza test.

targetSDKVersion è la versione di Android che è il limite superiore per gli strumenti disponibili. Se targetSDKVersion è inferiore a 23, l'app non deve richiedere autorizzazioni in fase di esecuzione per un'istanza, anche se l'app viene eseguita su API 23+. TargetSDKVersion non impedisce alle versioni Android sopra la versione Android selezionata di eseguire l'app.

Puoi trovare maggiori informazioni sul plugin Gradle:

Esecuzione dell'applicazione

Ora, eseguiamo la nostra applicazione HelloWorld. È possibile eseguire un dispositivo virtuale Android (che è possibile impostare utilizzando AVD Manager in Android Studio, come descritto nell'esempio seguente) o collegare il proprio dispositivo Android tramite un cavo USB.

Configurazione di un dispositivo Android

Per eseguire un'applicazione da Android Studio sul tuo dispositivo Android, devi abilitare USB Debugging nelle Developer Options nelle impostazioni del tuo dispositivo.

Settings > Developer options > USB debugging

Se le Developer Options non sono visibili nelle impostazioni, vai a About Phone e tocca il Build Number sette volte. Ciò consentirà alle Developer Options di apparire nelle tue impostazioni.

Settings > About phone > Build number

Potrebbe anche essere necessario modificare la configurazione di build.gradle per creare una versione del dispositivo.

Esecuzione da Android Studio

Fai clic sul pulsante verde Run dalla barra degli strumenti nella parte superiore di Android Studio. Nella finestra visualizzata, seleziona il dispositivo su cui desideri eseguire l'applicazione (avvia un dispositivo virtuale Android, se necessario, oppure consulta Impostazione di un dispositivo virtuale Android (Android Device) se è necessario configurarne uno) e fai OK su OK .

Pulsante Esegui

Sui dispositivi con Android 4.4 (KitKat) e possibilmente più in alto, verrà mostrato un pop-up per autorizzare il debug USB. Fare OK su OK per accettare.

L'applicazione ora verrà installata ed eseguita sul tuo dispositivo o emulatore Android.

Posizione del file APK

Quando si prepara la domanda per la versione, si configura, si crea e si verifica una versione di rilascio dell'applicazione. Le attività di configurazione sono semplici e comportano operazioni di pulizia del codice di base e di modifica del codice che consentono di ottimizzare l'applicazione. Il processo di compilazione è simile al processo di compilazione di debug e può essere eseguito utilizzando gli strumenti JDK e Android SDK. Le attività di test servono come controllo finale, assicurando che l'applicazione funzioni come previsto in condizioni reali. Quando hai finito di preparare la tua domanda di rilascio, hai un file APK firmato, che puoi distribuire direttamente agli utenti o distribuire attraverso un marketplace di applicazioni come Google Play.

Studio Android

Poiché negli esempi precedenti viene utilizzato Gradle, la posizione del file APK generato è: <Your Project Location>/app/build/outputs/apk/app-debug.apk

IntelliJ

Se sei un utente di IntelliJ prima di passare a Studio e stai importando direttamente il tuo progetto IntelliJ, non è cambiato nulla. La posizione dell'output sarà la stessa sotto:

out/production/...

Nota: questo è diventato deprecato a volte intorno a 1.0

Eclisse

Se stai importando direttamente il progetto Android Eclipse, non farlo! Non appena avrai delle dipendenze nel tuo progetto (vasi o progetti di biblioteca), questo non funzionerà e il tuo progetto non sarà configurato correttamente. Se non hai dipendenze, l'apk si trova nella stessa posizione in cui lo troverai in Eclipse:

bin/...