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).
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.
- wchodzimy na stronę http://www.droiddraw.org/
- ściągamy najnowszą wersję programu na Linuksa
- rozpakowujemy i odpalamy skrypt droiddraw.sh
- wchodzimy na http://www.droiddraw.org/tutorial1.html
- robimy to co tam jest napisane
Wskazówka
Linki
http://developer.android.com/guide/
http://www.droiddraw.org/