03-programmazione android - alberto ferrari · per sviluppare applicazioni lanciare eclipse ......
TRANSCRIPT
19/03/2011
1
Programmazione Android Eclipse - Java
Installazione
¤ Sito di riferimento http://developer.android.com/
¤ Scaricare SDK ADT Bundle
¤ Non è necessaria installazione
¤ Per sviluppare applicazioni lanciare Eclipse
Creazione Nuova Applicazione L’applicazione in Eclipse
Android Virtual Device Creazione di un nuovo device
19/03/2011
2
Start Device Device Virtuale
Configurazione 1 Configurazione 2
Applicazione sul device virtuale Applicazione (solo codice)
¤ L’applicazione non utilizza il designer grafico ma dichiara ed istanzia i componenti grafici che verranno utilizzati.
¤ L’applicazione non ha ancora la gestione degli eventi
¤ Il componente TextView (una label) viene dapprima dichiarato e istanziato ¤ TextView testoMio = new TextView(this);
¤ Il codice successivo ne modifica la proprietà text ¤ testoMio.setText("Il mio primo programma");
¤ Il componente viene poi visualizzato ¤ setContentView(testoMio);
¤ E’ necessario però importare la “libreria” ¤ import android.widget.TextView;
19/03/2011
3
package com.example.android_01_solo_codice; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.TextView; public class ActivityPrincipale extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView testoMio = new TextView(this); testoMio.setText("Il mio primo programma"); setContentView(testoMio); } }
Il codice completo Il Designer e l’interfaccia grafica
¤ L’interfaccia grafica dell’applicazione è memorizzata nel file activity_main.xml memorizzato nella cartella res\layout
¤ è possibile modificarlo mediante un comodo Graphical Layout che permette di scegliere i componenti e trascinarli sull’interfaccia
¤ è facile e intuitivo analizzare e modificare gli attributi associati ad ogni componente
¤ è possibile anche visualizzare e modificare il codice xml
La classe R
¤ La classe (generata automaticamente) R.java presente nella cartella gen permette di accedere ai componenti dell’interfaccia.
¤ R.id contiene il riferimento a tutti i componenti ¤ TextView testoMio;
¤ testoMio = (TextView) findViewById(R.id.textView1);
Gestione degli eventi
¤ Per gestire un evento è necessario associare un “ascoltatore” all’evento specifico del componente
¤ L’ascoltatore deve contenere il codice di gestione dell’evento
19/03/2011
4
package com.example.applicazioneandroid01; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { TextView testoMio; Button bottoneMio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bottoneMio = (Button) findViewById(R.id.buttonMio); testoMio = (TextView) findViewById(R.id.textView1); this.bottoneMio.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) { testoMio.setText("Ciao"); } }); }
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
class Ascoltatore implements View.OnClickListener { @Override public void onClick(View v) { String contenuto; contenuto = mioTesto.getText().toString(); int valore; valore = Integer.valueOf(contenuto); if (v.equals(inc)) valore++; else valore--; contenuto = String.valueOf(valore); mioTesto.setText( contenuto); } }
Button inc,dec;
inc = (Button) findViewById(R.id.buttonIncrementa); dec = (Button) findViewById(R.id.ButtonDecrementa); inc.setOnClickListener(new Ascoltatore()); dec.setOnClickListener(new Ascoltatore());