Android (10-12) 2008/2009

Z JASR Wiki

<<< Powrót do Tworzenie aplikacji wielowarstowych 2008/2009


Spis treści

Instalacja

Android SDK

wchodzimy na http://developer.android.com/sdk/1.5_r1/index.html i ściągamy plik android-sdk-linux_x86-1.5_r1.zip. Następnie rozpakowujemy archiwum w dowolnym miejscu (staramy się nie zapomnieć gdzie to było)

Android Development Tools (ADT)

wchodzimy na http://developer.android.com/sdk/adt_download.html i ściągamy plik ADT-0.9.1.zip (tego nie rozpakowujemy). Następnie odpalamy Eclipse i robimy co nasŧępuje:

  • wybieramy Help > Software Updates
  • wybieramy zakładkę Available Software
  • dodajemy nowe archiwum (Add Site > Archive)
  • podajemy ścieżkę do pliku ADT-0.9.1.zip
  • klikamy Ok
  • zaznaczamy Developer Tools (DDMS + Development Tools)
  • instalujemy (Install > Finish)
  • restartujemy IDE


Teraz musimy podać pluginowi ścieżkę do katalogu z SDK:

  • wybieramy Window > Preferences
  • w menu po lewej klikamy Andoid
  • ustawiamy ścieżkę do katalogu z SDK

Android Virtual Device (AVD)

Wybieramy Window > Android AVD Manager. W panelu Create AVD wpisujemy my_avd w polu Name. Jako Target wybieramy Google APIs - 1.5. Pole SDCard pozostawiamy puste a jako Skin zostawiamy Default (HVGA).

Przykłady

Projekt 1 - Hello World

Tworzymy nowy projekt (File > New > Project > Android Project) wprowadzając następujące dane do odpowiednich pól i klikając Finish

  • Project Name: HelloWorld
  • Build Target: Google APIs
  • Application Name: Hello World
  • Package Name: com.example.helloworld
  • Create Activity: HelloWorld


Otwieramy plik HelloWorld.java (src > com.example.helloworld > HelloWorld.java) i modyfikujemy go zgodnie z przykładem poniżej:

package com.example.helloworld;

import android.app.Activity;
import android.os.Bundle;
+import android.widget.TextView;

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);
+      TextView tv = new TextView(this);
+      tv.setText("Hello World");
+      setContentView(tv);
   }
}


Uruchamiamy aplikację (Run > Android Aplication).

Projekt 2 - Obsługa menu

Dodamy do aplikacji Hello World opcję w menu powodującą zakończenie działania programu.

Aby dodać polecenie do menu aplikacji wystarczy przedefiniować metodę onCreateOptionsMenu dziedziczoną z Activity:

public boolean onCreateOptionsMenu(Menu menu) {
   menu.add("quit");
   return true;
}

Teraz po naciśnięciu przycisku menu powinniśmy zobaczyć polecenie zakończenia aplikacji

Aby obsłużyć zdarzenie związane z wybraniem jakiejś opcji z menu należy przedefiniować metodę onCreateOptionsMenu:

public boolean onCreateOptionsMenu(Menu menu) {
   menu.add("quit");
   return true;
}wać 

Teraz powinniśmy mieć możliwość zakończenia naszej aplikacji za pomocą polecenia z menu. Uwaga: od Javy 5 język udostępnia mechanizm adnotacji i powyższe metody warto poprzedzić @Override. Pozwala to uniknąć ciężkich do późniejszego znalezienia błędów.

Projekt 3 - Utrwalanie danych

Celem przykładu jest pokazanie najprostszego z dostępnych mechanizmów zachowywania danych pomiędzy uruchomieniami aplikacji - Preferences.

Punktem wyjściowym dla projektu będzie Hello World z dodaną opcją wyjścia w menu. Zamiast wypisywać tekst "Hello World" chcemy wypisywać liczbę uruchomień aplikacji.

dodajemy zmienną służącą nam za licznik uruchomień:

   private Integer counter;

oraz modyfikujemy metodę onCreate:

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   TextView tv = new TextView(this);
   SharedPreferences settings = getSharedPreferences("my_prefs", 0);
   counter = settings.getInt("counter", 0);
   counter++;
   tv.setText(counter.toString());
   setContentView(tv);
}

Pozostaje dodać kod, który utrwali wartość licznika przy kończeniu działania aplikacji. W tym celu wystarczy przedefiniować metodę onStop:

public void onStop() {
   super.onStop();
   SharedPreferences settings = getSharedPreferences("my_prefs", 0);
   SharedPreferences.Editor editor = settings.edit();
   editor.putInt("counter", counter);
   editor.commit();
}

Uruchamiamy aplikację i wychodzimy przy pomocy polecenia z menu. Po ponownym uruchomieniu wyświetlana wartość powinna być o 1 większa.

Projekt 4 - GUI

Celem tego przykładu jest stworzenie prostego interfejsu użytkownika przy pomocy narzędzia droiddraw oraz demonstracja obsługi zdarzeń związanych z widgetami.

Wskazówka

Linki

http://developer.android.com/guide/
http://www.droiddraw.org/

Osobiste