SM-04-LAB-WIKI

From Studia Informatyczne

Spis treści

Temat ćwiczenia

Zapoznanie się z tworzeniem aplikacji mobilnej w J2ME.

Wymagania

Podstawowe wiadomości z zakresu języka Java.

Podstawowa znajomość środowiska Eclipse.

Ćwiczenie

Wprowadzenie

Java jest językiem programowania, a zarazem technologią pozwalającą na tworzenie aplikacji niezależnych od platformy sprzętowej jak i programowej. Java składa się z kilku funkcjonalnie niezależnych części:

  • J2SEJava 2 Standard Edition – zbiór klas zawierających podstawową funkcjonalność umożliwiający tworzenie prostych jak i złożonych aplikacji rozproszonych,
  • J2EEJava 2 Enterprise Edition – zbiór klas przeznaczony do tworzenia rozwiązań korporacyjnych działających w środowisku rozproszonym wykonujących przetwarzanie rozproszone,
  • J2MEJava 2 Micro Edition – wersja Javy przeznaczona do tworzenia aplikacji na urządzenia elektroniczne określane mianem „Embeded” (z tzw. wbudowanym oprogramowaniem), które to z uwagi na ograniczone zasoby wymagają aplikacji niezawodnych oraz nie wymagających dużej mocy obliczeniowej i dużej ilości pamięci. J2ME pozbawiona została części funkcjonalności (usunięto wiele klas oraz metod).

Urządzenia przenośne o małej mocy obliczeniowej możemy podzielić na klasy w zależności od dostępnej mocy obliczeniowej, pamięci, rodzaju wyświetlacza (rozdzielczość, liczba dostępnych kolorów), sposobu wprowadzania danych (klawiatura telefonu, pełna klawiatura, rysik).

J2ME zbudowana jest na zasadzie zbioru specyfikacji konfiguracji (ang. Configuration), z których każda zawiera minimalny zbiór pakietów i klas przeznaczonych dla konkretnej klasy urządzeń przenośnych. W specyfikacji J2ME zdefiniowane są dwie konfiguracje:

  • CLDC – przeznaczona do współpracy z urządzeniami dysponującymi pamięcią mniejszą niż 512KB, są to urządzenia typu: telefon komórkowy, PDA,
  • CDC – przeznaczona dla urządzeń o większej mocy obliczeniowej i dysponujących pamięcią ok. 2MB.

Konfiguracja stanowi podstawę do tworzenia Profili (ang. Profile). Profile rozszerzają podstawową funkcjonalność konfiguracji definiując m.in. kwestie zarządzania pamięcią, sposobu wyświetlania oraz wprowadzania danych.

Utworzenie aplikacji J2ME

Aby przystąpić do utworzenia pierwszej aplikacji mobilnej z wykorzystaniem technologii J2ME należy uprzednio skonfigurować środowisko programistyczne. Jako narzędzie do tworzenia aplikacji Java posłuży nam środowisko Eclipse (dostępne pod adresem http://www.eclipse.org/). Ponadto wymagane jest pobranie oraz doinstalowanie kilku niezbędnych komponentów, w których skład wchodzą:

  • J2ME Wireless Toolkit – zestaw narzędzi i dodatków służących do tworzenia aplikacji mobilnych w języku Java. Zawiera pakiet bibliotek oraz emulatorów urządzeń mobilnych. Pakiet dostępny na stronie http://sun.java.com
  • Plugin EclipseME – dodatek do środowiska Eclipse, umożliwiający tworzenie oraz uruchamianie aplikacji mobilnych w środowisku Eclipse (http://www.eclipseme.org/).

Po zainstalowaniu wszystkich wymaganych komponentów niezbędne jest odpowiednie skonfigurowanie środowiska Eclipse (m.in. określenie emulatorów urządzeń mobilnych). Z menu Window -> Preferences wybieramy opcję J2ME -> Device Management (Rysunek 1).

Rysunek 1 – Okno dialogowe konfiguracji urządzeń
Enlarge
Rysunek 1 – Okno dialogowe konfiguracji urządzeń

Po wybraniu przycisku Import w wyświetlonym oknie dialogowym w polu Specify Search Directory podajemy ścieżkę do głównego folderu pakietu J2ME Wireless Toolkit (przycisk Browse). Wywołujemy komendę Refresh. Środowisko przeszuka wskazany folder w celu wykrycia dostępnych emulatorów urządzeń mobilnych. Następnie zatwierdzamy przyciskiem Finish oraz OK.

Tworzymy nowy projekt wybierając odpowiednio: menu File -> New -> Project i w wyświetlonym oknie dialogowym wskazujemy opcję J2ME -> J2ME Midlet Suite i klikamy przycisk Next (Rysunek 2).

Rysunek 2 – Okno wyboru nowego projektu
Enlarge
Rysunek 2 – Okno wyboru nowego projektu

Definiujemy nazwę projektu i zatwierdzamy przyciskiem Next (Rysunek 3).

Rysunek 3 – Okno dialogowe określania nazwy i lokalizacji projektu
Enlarge
Rysunek 3 – Okno dialogowe określania nazwy i lokalizacji projektu

Możemy teraz dokonać wyboru modelu urządzenia mobilnego, dla którego przeznaczona będzie aplikacja. Z listy rozwijanej Device wybieramy Default Color Phone (Rysunek 4).

Rysunek 4 – Okno dialogowe wyboru urządzenia
Enlarge
Rysunek 4 – Okno dialogowe wyboru urządzenia

Kończymy zatwierdzając przyciskiem Finish.

Do utworzonego projektu dodajemy klasę wybierając z menu File -> New -> Other -> J2ME -> J2ME Midlet. Wygenerowany zostanie szkielet klasy umożliwiający zdefiniowanie zachowania aplikacji (Rysunek 5).

Rysunek 5 – Okno kodu źródłowego aplikacji
Enlarge
Rysunek 5 – Okno kodu źródłowego aplikacji

Przykładowy kod aplikacji, wyświetlającej tekst na wyświetlaczu, przedstawia poniższy listing.

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class MojPierwszyMidlet extends MIDlet {

	private Display display;

	public MojPierwszyMidlet() {
		super(); 	
		// Obiekt reprezentujacy wyswietlacz urzadzenia
		display = Display.getDisplay(this);
	}

 	protected void startApp() throws MIDletStateChangeException {
		// Komponent wyswietlajacy tekst
		TextBox box = new TextBox("Komunikat",
			"Moj pierwszy midlet", 200, TextField.ANY);
		// Wyswietlenie komponentu
 		display.setCurrent(box);
	}

	protected void pauseApp() {
		// TODO Auto-generated method stub
	}

	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// TODO Auto-generated method stub
	}
 }

Uruchomienie aplikacji dokonujemy poprzez wybor polecenia menu Run -> Run as... -> Emulated J2ME Midlet (Rysunek 6).

Rysunek 6 – Uruchomienie aplikacji mobilnej J2ME na emulatorze urządzenia
Enlarge
Rysunek 6 – Uruchomienie aplikacji mobilnej J2ME na emulatorze urządzenia

Aby zainstalować aplikację na telefonie komórkowym, niezbędne jest wygenerowanie pakietu JAR. Dokonujemy tego poprzez wybór opcji J2ME -> Create Package menu kontekstowego utworzonego projektu (w zakładce Package Explorer).

Zadanie

Należy, wzorując się na powyższym listingu, napisać metodę wyświetlającą krótkie motto z wcześniej zdefiniowanej listy, a także w zależności od tego jaka jest pora dnia (poranek, popołudnie, wieczór) powinien się pojawić na okres 5 sekund napis informujący o porze śniadania, obiadu bądź kolacji.