Android Wiki

Indice:

Introduzione
Breve introduzione ad Android.
Hello World
Visualizza il testo "Hello Android World" al centro dello schermo del nostro apparato.
Button
Visualizza un nuovo layout alla pressione del pulsante.
Edit Text
Possibilità di inserire del testo e alla pressione del pulsante, oltre alla visualizzazione di un “Toast”, verrà visualizzato il testo inserito.


Introduzione


Android è un sistema operativo open source per dispositivi mobili, basato sul kernel Linux. Fu inizialmente sviluppato da Android Inc., startup acquisita nel 2005 da Google. I co-fondatori di Android Inc., Andy Rubin (a sua volta co-fondatore di Danger), Rich Miner (co-fondatore di Wildfire Communications, Inc.), Nick Sears (vice presidente di T-Mobile) e Chris White (principale autore dell'interfaccia grafica di WebTV), iniziarono a lavorare per Google e svilupparono una piattaforma basata sul Kernel Linux. Il 5 novembre 2007 l'Open Handset Alliance presentò Android, costruito sulla versione 2.6 del Kernel Linux.

La piattaforma basata sul kernel Linux, usa il database SQLite, la libreria dedicata SGL per la grafica bidimensionale e supporta lo standard OpenGL ES 2.0 per la grafica tridimensionale. Le applicazioni vengono eseguite tramite la Dalvik virtual machine, una Java virtual machine adattata per l'uso su dispositivi mobili. Android è fornito di una serie di applicazioni preinstallate: un browser, basato su WebKit, una rubrica e un calendario.

Il 12 novembre 2007 l'OHA ha rilasciato il software development kit (SDK) che include: gli strumenti di sviluppo, le librerie, un emulatore del dispositivo, la documentazione (in inglese), alcuni progetti di esempio, tutorial e altro. È installabile su qualsiasi computer x86 compatibile che usi come sistema operativo Windows XP, Vista, Mac OS X dalla versione 10.4.8 o Linux. L'IDE ufficialmente supportato per lo sviluppo di applicazioni per Android è Eclipse, per cui è fornito un plug-in.


Architettura del sistema:

System-architecture.jpg


Hello World

Visualizza il testo "Hello Android World" al centro dello schermo del nostro apparato.

java

package com.app.helloworld;
 
import android.app.Activity;
import android.os.Bundle;
 
public class helloworld extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // Visualizza il layout come descritto nel file main.xml
 
    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TextView
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textSize="21sp"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"
    android:text="Hello Android World">
</TextView>
</LinearLayout>


Button

Visualizza un nuovo layout alla pressione del pulsante.

java

package android.app.button;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
 
public class button extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
    // Dichiarazione del widget "Button"
    Button btn0=(Button)findViewById(R.id.btn0);
 
    // Pressione del "Button"
    btn0.setOnClickListener(new View.OnClickListener() {
 
    public void onClick(View lyt_nuovo) {
        setContentView(R.layout.nuovo);
        }
    });
    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView  
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal"
    android:text="Esempio di pulsante da premere"
    android:layout_width="fill_parent">
</TextView>
<Button
    android:id="@+id/btn0"
    android:layout_width="149px"
    android:text="Push pulsante"
    android:soundEffectsEnabled="true"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal">
</Button>
</LinearLayout>

nuovo.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content">
<TextView
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="center_horizontal"
    android:text="Hai premuto il pulsante!">
</TextView>
</LinearLayout>


Edit Text

Possibilità di inserire del testo e alla pressione del pulsante, oltre alla visualizzazione di un “Toast”, verrà visualizzato il testo inserito.

java

package android.app.edtxt;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
public class edittext extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        // Dichiarazione dei widget        
        final Button btn0=(Button) findViewById(R.id.btn0);
        final EditText EdTxt0=(EditText) findViewById(R.id.EdTxt0);
        final TextView Txt0=(TextView) findViewById(R.id.Txt0);
 
        // Pressione del pulsante
        btn0.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
 
            //Lettura del contenuto di EditText nella stringa "str0"    
            String str0 = EdTxt0.getText().toString();
 
            //Toast
            Toast.makeText(edittext.this,"Hai premuto il pulsante...",Toast.LENGTH_LONG).show();
 
            // Riempimento e visualizzazione del TextView
            Txt0.setText("Hai scritto: "+str0);
 
            }
        });
      }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<EditText
    android:id="@+id/EdTxt0"
    android:layout_height="wrap_content"
    android:hint="Inserisci testo qui..."
    android:scrollHorizontally="false"
    android:layout_width="fill_parent"
    android:layout_marginLeft="10sp"
    android:layout_marginRight="10sp"
    android:layout_marginTop="10sp"
    android:singleLine="true">
</EditText>
<Button
    android:id="@+id/btn0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="10sp"
    android:text="   Elabora   ">
</Button>
<!-- TextView vuota da riempire con l'output desiderato -->
<TextView
    android:id="@+id/Txt0"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:textSize="21sp"
    android:layout_marginTop="10sp"
    android:gravity="center_horizontal">
</TextView>
</LinearLayout>