Java Platform Micro Edition Instalacja środowiska programistycznego Java Platform Micro Edition Software Development Kit 3.0 for Windows z lokalizacji http://www.oracle.com/technetwork/java/javame/downloads/sdk30-jsp-139759.html pobierz i zainstaluj pakiet Uruchamianie projektów Dokonaj przeglądu przykładowych aplikacji dostarczonych razem ze środowiskiem, zwróć uwagę na różne typy aplikacji oraz urządzeń służących do uruchamiania przygotowanych projektów: (uruchamianie projektu Run -> Run Main Project lub klawisz F6) Tworzenie aplikacji typu MIDlet File->New project... -> Java ME SDK -> MIDP Application W następnym kroku podajemy nazwę projektu i wybieramy typ urządzenia: Kreator utworzy projekt z przykładową aplikacją, którą można uruchomić wybierając z menu Run -> Run Main Project lub używając klawisza F6. Wybór urządzenia Utworzoną aplikację typu MIDlet można uruchomić jednym z kilku dostępnych urządzeń w następujący sposób:
Budowa aplikacji typu MIDlet package hello; import javax.microedition.midlet.*; public class HelloMIDlet extends MIDlet implements CommandListener private Command exitcommand; // The exit command private Display display; // The display for this MIDlet public HelloMIDlet() display = Display.getDisplay(this); exitcommand = new Command("Exit", Command.EXIT, 0); public void startapp() TextBox t = new TextBox("Hello", "Hello, World!", 256, 0); t.addcommand(exitcommand); t.setcommandlistener(this); display.setcurrent(t); public void pauseapp() public void destroyapp(boolean unconditional) public void commandaction(command c, Displayable s) if (c == exitcommand) destroyapp(false);
Tworzenie własnego MIDletu (Okno z nagłówkiem) Tworzymy nowy projekt, podobnie jak poprzednio, z tym że odznaczamy pole Create Hello MIDlet Dodajemy do projektu MIDlet: Wpisujemy nazwę: Uzupełniamy kod utworzony przez kreator do następującej postaci: import javax.microedition.midlet.*; public class Midlet2 extends MIDlet public Midlet2() Form okno = new Form("To jest nasz własny MIDlet"); public void startapp() public void pauseapp() public void destroyapp(boolean unconditional) Uruchamiamy projekt. Tworzenie własnego MIDletu (Okno z nagłówkiem i napisem wewnątrz okna) Tworzymy nowy projekt i uzupełniamy kod MIDletu do następującej postaci: import javax.microedition.midlet.*; public class Midlet3 extends MIDlet private Form okno; public Midlet3() okno = new Form("To jest nasz własny MIDlet"); String tekst = "Witaj"; okno.append(tekst); public void startapp()
public void pauseapp() public void destroyapp(boolean unconditional) Uruchamiamy. Instalacja aplikacji w urządzeniu za pomocą interfejsu OTA (Over The Net) Wybieramy z menu Run-> Run Main Project via OTA następnie w urządzeniu postępujemy zgodnie z wyświetlanymi instrukcjami. Przetestować uruchamianie napisanych aplikacji w różnych emulatorach. Tworzenie aplikacji typu CDC (Advanced Graphics and User Interface Connected Device Configuration) Z menu File wybieramy New Project... w kolejnym kroku...
Uruchomić przykład (F6). Wybór urządzenia Podobnie jak dla aplikacji typu MIDlet, programy CDC można uruchomić jednym z kilku dostępnych urządzeń. Sprawdź na których urządzeniach da się uruchomić ostatnia aplikacja. Utwórz przykładową aplikację typu VGAGUIPhone Okno z nagłówkiem i napisem wewnątrz okna wybieranym losowo import javax.microedition.midlet.midlet; import java.util.*; public class MIDlet4 extends MIDlet implements CommandListener private Form okno; private Command cmdkoniec; private static final String[] POWITANIE = "Dzień dobry", "Good morning", "Guten morgen", "Bonjour", "Buenos dias" ; public MIDlet4() okno = new Form("To jest nasz MIDlet"); cmdkoniec = new Command("Koniec", Command.EXIT, 0); Random r = new Random(System.currentTimeMillis()); int liczba = Math.abs(r.nextInt() % 5); String tekst = POWITANIE[liczba]; okno.append(tekst); public void startapp() okno.addcommand(cmdkoniec); okno.setcommandlistener(this); public void pauseapp() public void destroyapp(boolean u) public void commandaction(command cmd, Displayable s) if (cmd == cmdkoniec) // zamkniecie aplikacji //destroyapp(false);
Obsługa poleceń import javax.microedition.midlet.midlet; public class MIDlet5 extends MIDlet implements CommandListener private TextBox tb; private Command cmdkoniec; public MIDlet5() tb = new TextBox("Programowanie Java ME", "Tekst do edycji", 50, 0); // tytuł, text, maxsize znaków, ograniczenia cmdkoniec = new Command("Koniec", Command.EXIT, 0); public void startapp() ekran.setcurrent(tb); tb.addcommand(cmdkoniec); tb.setcommandlistener(this); public void pauseapp() public void destroyapp(boolean u) public void commandaction(command cmd, Displayable s) if (cmd == cmdkoniec) // zamkniecie aplikacji //destroyapp(false); Przeliczanie temperatury ze skali Celsjusza na Fahrenheita import javax.microedition.midlet.midlet; public class MIDlet6 extends MIDlet implements CommandListener private Form okno; private TextField tf1, tf2; private Ticker komunikat; private Command cmdprzelicz; private Command cmdkoniec; public MIDlet6() okno = new Form("Przeliczanie temperatury"); tf1 = new TextField(" Celsjusz:", "0", 5, TextField.DECIMAL); tf2 = new TextField("Fahrenheit:", null, 5, TextField.DECIMAL); komunikat = new Ticker("Celsjusz => Fahrenheit"); cmdprzelicz = new Command("Przelicz", Command.ITEM, 0); cmdkoniec = new Command("Koniec", Command.ITEM, 1); okno.append(tf1); okno.append(tf2); okno.setticker(komunikat); public void startapp() okno.addcommand(cmdprzelicz); okno.addcommand(cmdkoniec); okno.setcommandlistener(this);
public void pauseapp() public void destroyapp(boolean u) public void commandaction(command cmd, Displayable s) if (cmd == cmdprzelicz) // przeliczenie temperatury try double x = Double.parseDouble(tf1.getString()); double y = 9.0/5.0*x+32.0; Double wynik = new Double(y); tf2.setstring(wynik.tostring()); komunikat.setstring("przeliczanie Celsjusz => Fahrenheit"); catch (NumberFormatException e) //catch (IOException e) komunikat.setstring("błąd w podanej wartości"); e.printstacktrace(); if (cmd == cmdkoniec) // zamkniecie aplikacji //destroyapp(false); ZADANIA 1. Utworzyć MIDlet wczytujący współczynniki równania kwadratowego ax^2 + bx + c = 0 i rozwiązujący równanie. 2. Utworzyć MIDlet wypełniający tablicę jednowymiarową losowymi wartościami i wyznaczający: wartość najmniejszą, wartość największą, sumę, średnią arytmetyczną. 3. Utworzyć MIDlet-zgadywankę: losowana jest liczba naturalna z pewnego zakresu, który jest znany użytkownikowi. Zadaniem użytkownika jest odgadnięcie tej liczby. Po podaniu liczby przez użytkownika MIDlet udziela odpowiedzi: "za mała", "za duża" lub "trafiłeś za n-tym razem". Zastosować przeszukiwanie binarne.