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:
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>