J2ME - Java Micro Edition

advertisement
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
J2ME - Java Micro Edition
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
Politechnika Wrocławska
Informatyka
28 kwietnia 2009
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Agenda
1
Wprowadzenie do J2ME
2
Wykorzystanie J2ME
3
Konfiguracje
4
Maszyny wirtualne
5
Profile
6
Profil MIDP
7
Klasa MIDlet
8
Narzędzia
9
JME w praktyce
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Agenda
1
Wprowadzenie do J2ME
2
Wykorzystanie J2ME
3
Konfiguracje
4
Maszyny wirtualne
5
Profile
6
Profil MIDP
7
Klasa MIDlet
8
Narzędzia
9
JME w praktyce
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Agenda
1
Wprowadzenie do J2ME
2
Wykorzystanie J2ME
3
Konfiguracje
4
Maszyny wirtualne
5
Profile
6
Profil MIDP
7
Klasa MIDlet
8
Narzędzia
9
JME w praktyce
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Agenda
1
Wprowadzenie do J2ME
2
Wykorzystanie J2ME
3
Konfiguracje
4
Maszyny wirtualne
5
Profile
6
Profil MIDP
7
Klasa MIDlet
8
Narzędzia
9
JME w praktyce
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Agenda
1
Wprowadzenie do J2ME
2
Wykorzystanie J2ME
3
Konfiguracje
4
Maszyny wirtualne
5
Profile
6
Profil MIDP
7
Klasa MIDlet
8
Narzędzia
9
JME w praktyce
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Agenda
1
Wprowadzenie do J2ME
2
Wykorzystanie J2ME
3
Konfiguracje
4
Maszyny wirtualne
5
Profile
6
Profil MIDP
7
Klasa MIDlet
8
Narzędzia
9
JME w praktyce
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Agenda
1
Wprowadzenie do J2ME
2
Wykorzystanie J2ME
3
Konfiguracje
4
Maszyny wirtualne
5
Profile
6
Profil MIDP
7
Klasa MIDlet
8
Narzędzia
9
JME w praktyce
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Agenda
1
Wprowadzenie do J2ME
2
Wykorzystanie J2ME
3
Konfiguracje
4
Maszyny wirtualne
5
Profile
6
Profil MIDP
7
Klasa MIDlet
8
Narzędzia
9
JME w praktyce
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Agenda
1
Wprowadzenie do J2ME
2
Wykorzystanie J2ME
3
Konfiguracje
4
Maszyny wirtualne
5
Profile
6
Profil MIDP
7
Klasa MIDlet
8
Narzędzia
9
JME w praktyce
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje ogólne
Podział platformy Java
Dlaczego Java2 ?
Umożliwia wytwarzanie oprogramowania niezależnie od
systemu.
„Write once, run everywhere"
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje ogólne
Podział platformy Java
Dlaczego Java2 ?
Umożliwia wytwarzanie oprogramowania niezależnie od
systemu.
„Write once, run everywhere"
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje ogólne
Podział platformy Java
Dlaczego Java2 ?
Umożliwia wytwarzanie oprogramowania niezależnie od
systemu.
„Write once, run everywhere"
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje ogólne
Podział platformy Java
Informacje ogólne
Specyfikacja J2ME powstała w odpowiedzi na
zapotrzebowanie ze strony urządzeń elektronicznych z tzw.
"oprogramowaniem wbudowanym".
Urządzenia te potrzebują oprogramowania wysoce
niezawodnego, a jednocześnie niewymagającego dużej mocy
obliczeniowej czy dużej ilości pamięci.
Ze względu na ograniczenie zasobów, funkcjonalność również
została zmniejszona.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje ogólne
Podział platformy Java
Informacje ogólne
Specyfikacja J2ME powstała w odpowiedzi na
zapotrzebowanie ze strony urządzeń elektronicznych z tzw.
"oprogramowaniem wbudowanym".
Urządzenia te potrzebują oprogramowania wysoce
niezawodnego, a jednocześnie niewymagającego dużej mocy
obliczeniowej czy dużej ilości pamięci.
Ze względu na ograniczenie zasobów, funkcjonalność również
została zmniejszona.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje ogólne
Podział platformy Java
Informacje ogólne
Specyfikacja J2ME powstała w odpowiedzi na
zapotrzebowanie ze strony urządzeń elektronicznych z tzw.
"oprogramowaniem wbudowanym".
Urządzenia te potrzebują oprogramowania wysoce
niezawodnego, a jednocześnie niewymagającego dużej mocy
obliczeniowej czy dużej ilości pamięci.
Ze względu na ograniczenie zasobów, funkcjonalność również
została zmniejszona.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje ogólne
Podział platformy Java
Podział platformy Java
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Różnego typu urządzenia mobilne
Pobieranie aplikacji na telefon komórkowy
Wykorzystanie
Urządzenia korzystające z konfiguracji CLDC:
Telefony komórkowe
Smartphone
Pagery
PDA (Personal Data Assistant)
Urządzenia korzystające z konfiguracji CDC:
PDA wyższego poziomu
Dekodery telewizyjne
Telefony internetowe
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Różnego typu urządzenia mobilne
Pobieranie aplikacji na telefon komórkowy
Wykorzystanie
Urządzenia korzystające z konfiguracji CLDC:
Telefony komórkowe
Smartphone
Pagery
PDA (Personal Data Assistant)
Urządzenia korzystające z konfiguracji CDC:
PDA wyższego poziomu
Dekodery telewizyjne
Telefony internetowe
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Różnego typu urządzenia mobilne
Pobieranie aplikacji na telefon komórkowy
Pobieranie aplikacji na telefon komórkowy
Istnieje wiele portali oferujących aplikacje na telefony komórkowe.
Umożliwiają pobranie aplikacji za pomocą:
WAP
Bluetooth
Portale można podzielić na
dwie grupy:
oferujące płatne aplikacje - po wysłaniu SMS-a użytkownik
otrzymuje zakładkę WAP
oferujące bezpłatne aplikacje z limitem - po wyczerpaniu
limitu użytkownik może pobrać reklame z servera i dalej
korzystać z aplikacji
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Różnego typu urządzenia mobilne
Pobieranie aplikacji na telefon komórkowy
Pobieranie aplikacji na telefon komórkowy
Istnieje wiele portali oferujących aplikacje na telefony komórkowe.
Umożliwiają pobranie aplikacji za pomocą:
WAP
Bluetooth
Portale można podzielić na
dwie grupy:
oferujące płatne aplikacje - po wysłaniu SMS-a użytkownik
otrzymuje zakładkę WAP
oferujące bezpłatne aplikacje z limitem - po wyczerpaniu
limitu użytkownik może pobrać reklame z servera i dalej
korzystać z aplikacji
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Konfiguracje
Konfiguracja stanowi specyfikację definiującą środowisko
oprogramowania dla rodziny urządzeń.
Rodzinę urządzeń charakteryzuje:
typ i ilość dostępnej pamięci.
typ i prędkość procesora.
typ dostępnego połączenia sieciowego.
Konfiguracja składa się z maszyny wirtualnej oraz podstawowego
zestawu klas.
JCP (Java Community Process) stworzyła dwie konfiguracje dla
J2ME.
CLDC - Connected Limited Device Configuration
CDC - Connected Device Configuration
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Konfiguracje
Konfiguracja stanowi specyfikację definiującą środowisko
oprogramowania dla rodziny urządzeń.
Rodzinę urządzeń charakteryzuje:
typ i ilość dostępnej pamięci.
typ i prędkość procesora.
typ dostępnego połączenia sieciowego.
Konfiguracja składa się z maszyny wirtualnej oraz podstawowego
zestawu klas.
JCP (Java Community Process) stworzyła dwie konfiguracje dla
J2ME.
CLDC - Connected Limited Device Configuration
CDC - Connected Device Configuration
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Konfiguracje
Konfiguracja stanowi specyfikację definiującą środowisko
oprogramowania dla rodziny urządzeń.
Rodzinę urządzeń charakteryzuje:
typ i ilość dostępnej pamięci.
typ i prędkość procesora.
typ dostępnego połączenia sieciowego.
Konfiguracja składa się z maszyny wirtualnej oraz podstawowego
zestawu klas.
JCP (Java Community Process) stworzyła dwie konfiguracje dla
J2ME.
CLDC - Connected Limited Device Configuration
CDC - Connected Device Configuration
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Konfiguracje
Konfiguracja stanowi specyfikację definiującą środowisko
oprogramowania dla rodziny urządzeń.
Rodzinę urządzeń charakteryzuje:
typ i ilość dostępnej pamięci.
typ i prędkość procesora.
typ dostępnego połączenia sieciowego.
Konfiguracja składa się z maszyny wirtualnej oraz podstawowego
zestawu klas.
JCP (Java Community Process) stworzyła dwie konfiguracje dla
J2ME.
CLDC - Connected Limited Device Configuration
CDC - Connected Device Configuration
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Konfiguracja CLDC
Konfiguracja dla urządzeń o bardzo dużych ograniczeniach:
16 bit - 32 bit CPU
32 kB - 512 kB pamięci RAM - do przydzielenia w czasie pracy
aplikacji
min. 128 kB pamięci ROM, flash lub podtrzymywanej
bateryjnie - pamięć stała dla KVM oraz bibliotek klas CLDC
CLDC definiuje wymagania dla maszyny wirtualnej i
podstawowych bibliotek.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Konfiguracja CLDC
Konfiguracja dla urządzeń o bardzo dużych ograniczeniach:
16 bit - 32 bit CPU
32 kB - 512 kB pamięci RAM - do przydzielenia w czasie pracy
aplikacji
min. 128 kB pamięci ROM, flash lub podtrzymywanej
bateryjnie - pamięć stała dla KVM oraz bibliotek klas CLDC
CLDC definiuje wymagania dla maszyny wirtualnej i
podstawowych bibliotek.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Biblioteki klas CLDC
Do CLDC przeniesiono klasy z trzech pakietów J2SE v1.3
java.io
java.lang
java.util
Jest to minimalny zestaw pakietów (bez interfejsów
użytkownika)
Nie wszystkie klasy z wymienionych pakietów zostały
przeniesione w całości.
Odrzucono klasy ze względu na bezpieczeństwo i
wykorzystanie zasobów.
Można modyfikować przeniesione klasy.
Dodano również nowy pakiet - javax.microedition.io
Zapewnia on dostęp do zewnętrznych sieci i urządzeń.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Biblioteki klas CLDC
Do CLDC przeniesiono klasy z trzech pakietów J2SE v1.3
java.io
java.lang
java.util
Jest to minimalny zestaw pakietów (bez interfejsów
użytkownika)
Nie wszystkie klasy z wymienionych pakietów zostały
przeniesione w całości.
Odrzucono klasy ze względu na bezpieczeństwo i
wykorzystanie zasobów.
Można modyfikować przeniesione klasy.
Dodano również nowy pakiet - javax.microedition.io
Zapewnia on dostęp do zewnętrznych sieci i urządzeń.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Biblioteki klas CLDC
Do CLDC przeniesiono klasy z trzech pakietów J2SE v1.3
java.io
java.lang
java.util
Jest to minimalny zestaw pakietów (bez interfejsów
użytkownika)
Nie wszystkie klasy z wymienionych pakietów zostały
przeniesione w całości.
Odrzucono klasy ze względu na bezpieczeństwo i
wykorzystanie zasobów.
Można modyfikować przeniesione klasy.
Dodano również nowy pakiet - javax.microedition.io
Zapewnia on dostęp do zewnętrznych sieci i urządzeń.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Biblioteki klas CLDC
Do CLDC przeniesiono klasy z trzech pakietów J2SE v1.3
java.io
java.lang
java.util
Jest to minimalny zestaw pakietów (bez interfejsów
użytkownika)
Nie wszystkie klasy z wymienionych pakietów zostały
przeniesione w całości.
Odrzucono klasy ze względu na bezpieczeństwo i
wykorzystanie zasobów.
Można modyfikować przeniesione klasy.
Dodano również nowy pakiet - javax.microedition.io
Zapewnia on dostęp do zewnętrznych sieci i urządzeń.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Biblioteki klas CLDC
Do CLDC przeniesiono klasy z trzech pakietów J2SE v1.3
java.io
java.lang
java.util
Jest to minimalny zestaw pakietów (bez interfejsów
użytkownika)
Nie wszystkie klasy z wymienionych pakietów zostały
przeniesione w całości.
Odrzucono klasy ze względu na bezpieczeństwo i
wykorzystanie zasobów.
Można modyfikować przeniesione klasy.
Dodano również nowy pakiet - javax.microedition.io
Zapewnia on dostęp do zewnętrznych sieci i urządzeń.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Biblioteki klas CLDC
Do CLDC przeniesiono klasy z trzech pakietów J2SE v1.3
java.io
java.lang
java.util
Jest to minimalny zestaw pakietów (bez interfejsów
użytkownika)
Nie wszystkie klasy z wymienionych pakietów zostały
przeniesione w całości.
Odrzucono klasy ze względu na bezpieczeństwo i
wykorzystanie zasobów.
Można modyfikować przeniesione klasy.
Dodano również nowy pakiet - javax.microedition.io
Zapewnia on dostęp do zewnętrznych sieci i urządzeń.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Konfiguracja CDC
Konfiguracja dla urządzeń pomiędzy słabymi PDA a zwykłymi
PC -tami.
32 bit - 64 bit CPU
1 MB - 10 MB pamięci RAM - do przydzielenia w czasie pracy
aplikacji
bardziej zaawansowane połączenie z Internetem
CDC również definiuje wymagania dla maszyny wirtualnej i
podstawowych bibliotek.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Konfiguracja CDC
Konfiguracja dla urządzeń pomiędzy słabymi PDA a zwykłymi
PC -tami.
32 bit - 64 bit CPU
1 MB - 10 MB pamięci RAM - do przydzielenia w czasie pracy
aplikacji
bardziej zaawansowane połączenie z Internetem
CDC również definiuje wymagania dla maszyny wirtualnej i
podstawowych bibliotek.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Biblioteki klas CDC
Do CDC przeniesiono klasy z wielu pakietów J2SE v1.3
java.io
java.lang
java.lang.ref
java.lang.reflect
java.math
java.net
java.security
java.security.cer
java.text
java.util
java.util.jar
java.util.zip
Dodano również pakiet java.microedition.io, aby zapewnić
z Tomasz
aplikacjami
CDLC.
Agatakompatybilność
Gałecka, Martyna Sikorska,
Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Connected Limited Device Configuration
Connected Device Configuration
Biblioteki klas CDC
Do CDC przeniesiono klasy z wielu pakietów J2SE v1.3
java.io
java.lang
java.lang.ref
java.lang.reflect
java.math
java.net
java.security
java.security.cer
java.text
java.util
java.util.jar
java.util.zip
Dodano również pakiet java.microedition.io, aby zapewnić
z Tomasz
aplikacjami
CDLC.
Agatakompatybilność
Gałecka, Martyna Sikorska,
Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Kilobyte Virtual Machine
CVM
Maszyny wirtualne
Maszyna wirtualna jest konieczna do uruchomienia
jakiejkolwiek aplikacji Java.
W przypadku J2ME każde urządzenie musi mieć
zaimplementowaną odpowiednią maszynę Java.
Zgodną ze specyfikacją konfiguracji.
Posiadającą rozszerzenia dodawane z profilem.
Posiadającą rozszerzenia dodawane przez producenta urządzeń.
Ze względu na ograniczenia sprzętowe i programowe nie
można zastosować standardowej wirtualnej maszyny Java.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Kilobyte Virtual Machine
CVM
Maszyny wirtualne
Maszyna wirtualna jest konieczna do uruchomienia
jakiejkolwiek aplikacji Java.
W przypadku J2ME każde urządzenie musi mieć
zaimplementowaną odpowiednią maszynę Java.
Zgodną ze specyfikacją konfiguracji.
Posiadającą rozszerzenia dodawane z profilem.
Posiadającą rozszerzenia dodawane przez producenta urządzeń.
Ze względu na ograniczenia sprzętowe i programowe nie
można zastosować standardowej wirtualnej maszyny Java.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Kilobyte Virtual Machine
CVM
Maszyny wirtualne
Maszyna wirtualna jest konieczna do uruchomienia
jakiejkolwiek aplikacji Java.
W przypadku J2ME każde urządzenie musi mieć
zaimplementowaną odpowiednią maszynę Java.
Zgodną ze specyfikacją konfiguracji.
Posiadającą rozszerzenia dodawane z profilem.
Posiadającą rozszerzenia dodawane przez producenta urządzeń.
Ze względu na ograniczenia sprzętowe i programowe nie
można zastosować standardowej wirtualnej maszyny Java.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Kilobyte Virtual Machine
CVM
Maszyna wirtualna KVM
Różnice między JVM a KVM
Brak operacji na liczbach zmiennoprzecinkowych.
Procesory większości urządzeń tej grupy nie realizują takich
działań.
Z tego powodu brak zmiennych, stałych i tablic typu float i
double.
Brak refleksji.
Brak luźnych referencji.
Brak finalizacji obiektów.
Nie można tworzyć wątków demonów i grup wątków.
Brak Java Native Interface
Maszyna wirtualna musi umożliwiać ładowanie pakietów aplikacji w
plikach JAR.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Kilobyte Virtual Machine
CVM
Maszyna wirtualna KVM
Różnice między JVM a KVM
Brak operacji na liczbach zmiennoprzecinkowych.
Procesory większości urządzeń tej grupy nie realizują takich
działań.
Z tego powodu brak zmiennych, stałych i tablic typu float i
double.
Brak refleksji.
Brak luźnych referencji.
Brak finalizacji obiektów.
Nie można tworzyć wątków demonów i grup wątków.
Brak Java Native Interface
Maszyna wirtualna musi umożliwiać ładowanie pakietów aplikacji w
plikach JAR.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Kilobyte Virtual Machine
CVM
Maszyna wirtualna CVM
Jest to wirtualna maszyna CDC. Początkowo był to skrót od
Compact Virtual Machine.
Dzięki wystarczającym zasobom urządzeń, może być pełną
maszyną wirtualną (zgodną ze specyfikacją JVM)
przystosowaną do ograniczonej pamięci.
W porównaniu do KVM poszerzona została o:
Obsługę działań na liczbach zmiennoprzecinkowych.
Uruchamianie kodu natywnego.
Słabe referencje.
Serializację obiektów.
Możliwość własnej implementacji wcztywania klas.
Obslugę JVMDI (Java Virtual Machine Debugging Interface).
W porównaniu do JVM nie oferuje kompilatora JIT.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Kilobyte Virtual Machine
CVM
Maszyna wirtualna CVM
Jest to wirtualna maszyna CDC. Początkowo był to skrót od
Compact Virtual Machine.
Dzięki wystarczającym zasobom urządzeń, może być pełną
maszyną wirtualną (zgodną ze specyfikacją JVM)
przystosowaną do ograniczonej pamięci.
W porównaniu do KVM poszerzona została o:
Obsługę działań na liczbach zmiennoprzecinkowych.
Uruchamianie kodu natywnego.
Słabe referencje.
Serializację obiektów.
Możliwość własnej implementacji wcztywania klas.
Obslugę JVMDI (Java Virtual Machine Debugging Interface).
W porównaniu do JVM nie oferuje kompilatora JIT.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Kilobyte Virtual Machine
CVM
Maszyna wirtualna CVM
Jest to wirtualna maszyna CDC. Początkowo był to skrót od
Compact Virtual Machine.
Dzięki wystarczającym zasobom urządzeń, może być pełną
maszyną wirtualną (zgodną ze specyfikacją JVM)
przystosowaną do ograniczonej pamięci.
W porównaniu do KVM poszerzona została o:
Obsługę działań na liczbach zmiennoprzecinkowych.
Uruchamianie kodu natywnego.
Słabe referencje.
Serializację obiektów.
Możliwość własnej implementacji wcztywania klas.
Obslugę JVMDI (Java Virtual Machine Debugging Interface).
W porównaniu do JVM nie oferuje kompilatora JIT.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Profile dla CLDC
Profile dla CDC
Profile
Profil jest uzupełnieniem konfiguracji poprzez dodanie klas
zapewniających funkcje odpowiednie do określonego typu
urządzenia.
Obie konfiguracje posiadają profile.
Profile mogą korzystać z innych profili.
Ostatecznie po wybraniu konfiguracji i profilu, programista
tworzy aplikację dla konkretnego typu urządzenia.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Profile dla CLDC
Profile dla CDC
Profile
Profil jest uzupełnieniem konfiguracji poprzez dodanie klas
zapewniających funkcje odpowiednie do określonego typu
urządzenia.
Obie konfiguracje posiadają profile.
Profile mogą korzystać z innych profili.
Ostatecznie po wybraniu konfiguracji i profilu, programista
tworzy aplikację dla konkretnego typu urządzenia.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Profile dla CLDC
Profile dla CDC
Profile
Profil jest uzupełnieniem konfiguracji poprzez dodanie klas
zapewniających funkcje odpowiednie do określonego typu
urządzenia.
Obie konfiguracje posiadają profile.
Profile mogą korzystać z innych profili.
Ostatecznie po wybraniu konfiguracji i profilu, programista
tworzy aplikację dla konkretnego typu urządzenia.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Profile dla CLDC
Profile dla CDC
Profile
Profil jest uzupełnieniem konfiguracji poprzez dodanie klas
zapewniających funkcje odpowiednie do określonego typu
urządzenia.
Obie konfiguracje posiadają profile.
Profile mogą korzystać z innych profili.
Ostatecznie po wybraniu konfiguracji i profilu, programista
tworzy aplikację dla konkretnego typu urządzenia.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Profile dla CLDC
Profile dla CDC
Profile dla CLDC
MIDP (1.0, 2.0, 2.1) - Mobile Information Device Profile
Przeznaczony jest dla telefonów komórkowych.
PDA Profile
Przeznaczony jest dla notesów elektronicznych.
Bardziej zaawansowana biblioteka interfejsu użytkownika niż w
MIDP.
Dostęp do bardziej skomplikowanych funkcji systemu
operacyjnego.
Agata Gałecka,
Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Profile dla CLDC
Profile dla CDC
Profile dla CLDC
MIDP (1.0, 2.0, 2.1) - Mobile Information Device Profile
Przeznaczony jest dla telefonów komórkowych.
PDA Profile
Przeznaczony jest dla notesów elektronicznych.
Bardziej zaawansowana biblioteka interfejsu użytkownika niż w
MIDP.
Dostęp do bardziej skomplikowanych funkcji systemu
operacyjnego.
Agata Gałecka,
Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Profile dla CLDC
Profile dla CDC
Profile dla CDC
Profil Foundation
Podstawa dla wszystkich profili.
Oferuje prawie wszystkie podstawowe biblioteki J2SE v1.3
Profile Personal Basis oraz Personal
Posiadają biblioteki mniej i bardziej skomplikowanego interfejsu
użytkownika
Profil RMI
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Profile dla CLDC
Profile dla CDC
Profile dla CDC
Profil Foundation
Podstawa dla wszystkich profili.
Oferuje prawie wszystkie podstawowe biblioteki J2SE v1.3
Profile Personal Basis oraz Personal
Posiadają biblioteki mniej i bardziej skomplikowanego interfejsu
użytkownika
Profil RMI
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Profile dla CLDC
Profile dla CDC
Profile dla CDC
Profil Foundation
Podstawa dla wszystkich profili.
Oferuje prawie wszystkie podstawowe biblioteki J2SE v1.3
Profile Personal Basis oraz Personal
Posiadają biblioteki mniej i bardziej skomplikowanego interfejsu
użytkownika
Profil RMI
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - Wprowadzenie
MIDP – (Mobile Information Device Profile)
Profil rozszerzający konfigurację CLDC
Przeznaczony dla urządzeń o niskich parametrach
technicznych
Programy napisane przy pomocy MIDP noszą nazwę
MIDletów
Programy uruchamiane przy pomocy KVM
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - Wprowadzenie
MIDP – (Mobile Information Device Profile)
Profil rozszerzający konfigurację CLDC
Przeznaczony dla urządzeń o niskich parametrach
technicznych
Programy napisane przy pomocy MIDP noszą nazwę
MIDletów
Programy uruchamiane przy pomocy KVM
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - Wprowadzenie
MIDP – (Mobile Information Device Profile)
Profil rozszerzający konfigurację CLDC
Przeznaczony dla urządzeń o niskich parametrach
technicznych
Programy napisane przy pomocy MIDP noszą nazwę
MIDletów
Programy uruchamiane przy pomocy KVM
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - Wprowadzenie
MIDP – (Mobile Information Device Profile)
Profil rozszerzający konfigurację CLDC
Przeznaczony dla urządzeń o niskich parametrach
technicznych
Programy napisane przy pomocy MIDP noszą nazwę
MIDletów
Programy uruchamiane przy pomocy KVM
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - Wymagania
Wymagania dotyczące urządzenia:
Pamięć:
operacyjna - minimum 160KB ( 128KB profil, 32KB stos)
trwała – minimum 8KB
Ekran:
rozdzielczość 96x54 pikseli
co najmniej 2 kolory
Urządzenia wejściowe:
wprowadzanie cyfr 0-9, sterowanie, wybór
Implementacja protokołu HTTP1.1
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - Wymagania
Wymagania dotyczące urządzenia:
Pamięć:
operacyjna - minimum 160KB ( 128KB profil, 32KB stos)
trwała – minimum 8KB
Ekran:
rozdzielczość 96x54 pikseli
co najmniej 2 kolory
Urządzenia wejściowe:
wprowadzanie cyfr 0-9, sterowanie, wybór
Implementacja protokołu HTTP1.1
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - Wymagania
Wymagania dotyczące urządzenia:
Pamięć:
operacyjna - minimum 160KB ( 128KB profil, 32KB stos)
trwała – minimum 8KB
Ekran:
rozdzielczość 96x54 pikseli
co najmniej 2 kolory
Urządzenia wejściowe:
wprowadzanie cyfr 0-9, sterowanie, wybór
Implementacja protokołu HTTP1.1
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - Wymagania
Wymagania dotyczące urządzenia:
Pamięć:
operacyjna - minimum 160KB ( 128KB profil, 32KB stos)
trwała – minimum 8KB
Ekran:
rozdzielczość 96x54 pikseli
co najmniej 2 kolory
Urządzenia wejściowe:
wprowadzanie cyfr 0-9, sterowanie, wybór
Implementacja protokołu HTTP1.1
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - dodatkowe pakiety
MIDP rozszerza CLDC o następujące pakiety:
javax.microedition.midlet – zawiera klasę MIDlet oraz steruje
cyklem życia MIDletu
javax.microedition.lcdui – wsparcie tworzenia interfejsu
użytkownika
javax.microedition.rms – zarządzanie pamięcią stałą
javax.microedition.oi – wsparcie połączeń z internetem
Ponadto pakiet java.util został rozszerzony o klasy Timer i
TimerTask
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - dodatkowe pakiety
MIDP rozszerza CLDC o następujące pakiety:
javax.microedition.midlet – zawiera klasę MIDlet oraz steruje
cyklem życia MIDletu
javax.microedition.lcdui – wsparcie tworzenia interfejsu
użytkownika
javax.microedition.rms – zarządzanie pamięcią stałą
javax.microedition.oi – wsparcie połączeń z internetem
Ponadto pakiet java.util został rozszerzony o klasy Timer i
TimerTask
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - dodatkowe pakiety
MIDP rozszerza CLDC o następujące pakiety:
javax.microedition.midlet – zawiera klasę MIDlet oraz steruje
cyklem życia MIDletu
javax.microedition.lcdui – wsparcie tworzenia interfejsu
użytkownika
javax.microedition.rms – zarządzanie pamięcią stałą
javax.microedition.oi – wsparcie połączeń z internetem
Ponadto pakiet java.util został rozszerzony o klasy Timer i
TimerTask
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - dodatkowe pakiety
MIDP rozszerza CLDC o następujące pakiety:
javax.microedition.midlet – zawiera klasę MIDlet oraz steruje
cyklem życia MIDletu
javax.microedition.lcdui – wsparcie tworzenia interfejsu
użytkownika
javax.microedition.rms – zarządzanie pamięcią stałą
javax.microedition.oi – wsparcie połączeń z internetem
Ponadto pakiet java.util został rozszerzony o klasy Timer i
TimerTask
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Wprowadzenie
Wymagania
Dodatkowe pakiety
MIDP - dodatkowe pakiety
MIDP rozszerza CLDC o następujące pakiety:
javax.microedition.midlet – zawiera klasę MIDlet oraz steruje
cyklem życia MIDletu
javax.microedition.lcdui – wsparcie tworzenia interfejsu
użytkownika
javax.microedition.rms – zarządzanie pamięcią stałą
javax.microedition.oi – wsparcie połączeń z internetem
Ponadto pakiet java.util został rozszerzony o klasy Timer i
TimerTask
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - informacje podstawowe
Co najmniej jedna klasa rozszerza klasę MIDlet z pakietu
javax.microedition.midlet
Klasy te muszą implementować następujące metody:
startApp()
pauseApp()
destroyApp(boolean unconditional)
Muszą również udostępniać publiczny domyślny konstruktor.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - informacje podstawowe
Co najmniej jedna klasa rozszerza klasę MIDlet z pakietu
javax.microedition.midlet
Klasy te muszą implementować następujące metody:
startApp()
pauseApp()
destroyApp(boolean unconditional)
Muszą również udostępniać publiczny domyślny konstruktor.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - informacje podstawowe
Co najmniej jedna klasa rozszerza klasę MIDlet z pakietu
javax.microedition.midlet
Klasy te muszą implementować następujące metody:
startApp()
pauseApp()
destroyApp(boolean unconditional)
Muszą również udostępniać publiczny domyślny konstruktor.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - szkielet
1
2
3
4
5
6
7
8
9
10
11
public class MyFirstMIDlet extends MIDlet {
public void startApp () throws M I D l e t S t a t e C h a n g e E x c e p t i o n {
}
public void pauseApp () {
}
public void destroyApp ( boolean unconditional ) {
}
/* * O p c j o n a l n y k o n s t r u k t o r : */
public MyFirstMIDlet () {
}
}
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - cykl życia
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - stany
Stan ACTIVE
Przejście w stan po wywołaniu metody startApp() – możliwe
wywołania wielokrotne
Stan PAUSED
Przejście w stan w wyniku:
Po zainicjalizowaniu aplikacji przez wywołanie konstruktora
Ze stanu aktywnego po wywołaniu pauseApp() przez AMS
Ze stanu aktywnego jeśli w metodzie startApp() wystąpił
wyjątek
Ze stanu aktywnego po wywołaniu metody notifyPaused()
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - stany
Stan ACTIVE
Przejście w stan po wywołaniu metody startApp() – możliwe
wywołania wielokrotne
Stan PAUSED
Przejście w stan w wyniku:
Po zainicjalizowaniu aplikacji przez wywołanie konstruktora
Ze stanu aktywnego po wywołaniu pauseApp() przez AMS
Ze stanu aktywnego jeśli w metodzie startApp() wystąpił
wyjątek
Ze stanu aktywnego po wywołaniu metody notifyPaused()
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - stany
Stan ACTIVE
Przejście w stan po wywołaniu metody startApp() – możliwe
wywołania wielokrotne
Stan PAUSED
Przejście w stan w wyniku:
Po zainicjalizowaniu aplikacji przez wywołanie konstruktora
Ze stanu aktywnego po wywołaniu pauseApp() przez AMS
Ze stanu aktywnego jeśli w metodzie startApp() wystąpił
wyjątek
Ze stanu aktywnego po wywołaniu metody notifyPaused()
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - stany
Stan ACTIVE
Przejście w stan po wywołaniu metody startApp() – możliwe
wywołania wielokrotne
Stan PAUSED
Przejście w stan w wyniku:
Po zainicjalizowaniu aplikacji przez wywołanie konstruktora
Ze stanu aktywnego po wywołaniu pauseApp() przez AMS
Ze stanu aktywnego jeśli w metodzie startApp() wystąpił
wyjątek
Ze stanu aktywnego po wywołaniu metody notifyPaused()
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - stany
Stan ACTIVE
Przejście w stan po wywołaniu metody startApp() – możliwe
wywołania wielokrotne
Stan PAUSED
Przejście w stan w wyniku:
Po zainicjalizowaniu aplikacji przez wywołanie konstruktora
Ze stanu aktywnego po wywołaniu pauseApp() przez AMS
Ze stanu aktywnego jeśli w metodzie startApp() wystąpił
wyjątek
Ze stanu aktywnego po wywołaniu metody notifyPaused()
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - stany(2)
Stan DESTROYED
Przejście w stan w wyniku:
Po wywołaniu destroyApp(boolean unconditional) przez AMS
i zakończeniu powodzeniem
Po wywołaniu metody notifyDestroyed()
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - stany(2)
Stan DESTROYED
Przejście w stan w wyniku:
Po wywołaniu destroyApp(boolean unconditional) przez AMS
i zakończeniu powodzeniem
Po wywołaniu metody notifyDestroyed()
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - podstawowe metody
Metody wywoływane przez AMS:
startApp() - wywoływana przy prześciu do stanu ACTIVE,
przydzielenie zasobów
pausedApp() – wywoływana przy prześciu do stanu PAUSED,
zwolnienie wykorzystywanych zasobów
destroyApp(boolean unconditional) – wywoływana przy
prześciu do stanu DESTROYED, zapis danych, zwolnienie
wykorzystywanych zasobów
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - podstawowe metody
Metody wywoływane przez AMS:
startApp() - wywoływana przy prześciu do stanu ACTIVE,
przydzielenie zasobów
pausedApp() – wywoływana przy prześciu do stanu PAUSED,
zwolnienie wykorzystywanych zasobów
destroyApp(boolean unconditional) – wywoływana przy
prześciu do stanu DESTROYED, zapis danych, zwolnienie
wykorzystywanych zasobów
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - podstawowe metody
Metody wywoływane przez AMS:
startApp() - wywoływana przy prześciu do stanu ACTIVE,
przydzielenie zasobów
pausedApp() – wywoływana przy prześciu do stanu PAUSED,
zwolnienie wykorzystywanych zasobów
destroyApp(boolean unconditional) – wywoływana przy
prześciu do stanu DESTROYED, zapis danych, zwolnienie
wykorzystywanych zasobów
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - podstawowe metody(2)
Metody wywoływane przez midlet:
notifyPaused() – informuje AMS, że aplikacja przeniosła się
do stanu PAUSED po zwolnieniu zasobów, metoda
pauseApp() nie jest wywoływana
notifyDestroyed() -informuje AMS, że aplikacja przeniosła się
do stanu DESTROYED, metoda destroyApp(boolean
unconditional) nie jest wywoływana
resumeRequest() – MIDlet prosi AMS o ponowne
wystartowanie (wywołanie metody startApp())
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - podstawowe metody(2)
Metody wywoływane przez midlet:
notifyPaused() – informuje AMS, że aplikacja przeniosła się
do stanu PAUSED po zwolnieniu zasobów, metoda
pauseApp() nie jest wywoływana
notifyDestroyed() -informuje AMS, że aplikacja przeniosła się
do stanu DESTROYED, metoda destroyApp(boolean
unconditional) nie jest wywoływana
resumeRequest() – MIDlet prosi AMS o ponowne
wystartowanie (wywołanie metody startApp())
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - podstawowe metody(2)
Metody wywoływane przez midlet:
notifyPaused() – informuje AMS, że aplikacja przeniosła się
do stanu PAUSED po zwolnieniu zasobów, metoda
pauseApp() nie jest wywoływana
notifyDestroyed() -informuje AMS, że aplikacja przeniosła się
do stanu DESTROYED, metoda destroyApp(boolean
unconditional) nie jest wywoływana
resumeRequest() – MIDlet prosi AMS o ponowne
wystartowanie (wywołanie metody startApp())
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet Suit
MIDlet Suit stanowi zestaw midletów, które dostarczane są
użytkownikowi i instalowane z pojedynczego archiwum JAR.
Pozwalają na podział aplikacji na mniejsze, wydajniejsze i
łatwiejsze w utrzymaniu aplikacje.
MIDlety z danego zestawu:
Uruchamiane w jednej maszynie wirtualnej
Współdzielą pamięć trwałą
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet Suit
MIDlet Suit stanowi zestaw midletów, które dostarczane są
użytkownikowi i instalowane z pojedynczego archiwum JAR.
Pozwalają na podział aplikacji na mniejsze, wydajniejsze i
łatwiejsze w utrzymaniu aplikacje.
MIDlety z danego zestawu:
Uruchamiane w jednej maszynie wirtualnej
Współdzielą pamięć trwałą
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - dystrybucja
MIDlet dostarczany jest w postaci dwóch plików:
JAR – Java ARchive
Pliki .class
Zasoby (ikony, dołączone pakiety, pliki)
manifest.mf
JAD – Java Application Descriptor
1
2
3
4
5
6
7
MIDlet - Name : Wireless Trader
MIDlet - Vendor : Wireless Java Inc .
MIDlet - Version : 1.0.1
MIDlet - Description : A set of MIDlets for online trading
MIDlet - Data - Size : 512
MIDlet - Jar - Size : 10312
MIDlet - Jar - URL : http : // www . w i r e l e s s . com / trader / Midlets . jar
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - dystrybucja
MIDlet dostarczany jest w postaci dwóch plików:
JAR – Java ARchive
Pliki .class
Zasoby (ikony, dołączone pakiety, pliki)
manifest.mf
JAD – Java Application Descriptor
1
2
3
4
5
6
7
MIDlet - Name : Wireless Trader
MIDlet - Vendor : Wireless Java Inc .
MIDlet - Version : 1.0.1
MIDlet - Description : A set of MIDlets for online trading
MIDlet - Data - Size : 512
MIDlet - Jar - Size : 10312
MIDlet - Jar - URL : http : // www . w i r e l e s s . com / trader / Midlets . jar
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - dystrybucja
MIDlet dostarczany jest w postaci dwóch plików:
JAR – Java ARchive
Pliki .class
Zasoby (ikony, dołączone pakiety, pliki)
manifest.mf
JAD – Java Application Descriptor
1
2
3
4
5
6
7
MIDlet - Name : Wireless Trader
MIDlet - Vendor : Wireless Java Inc .
MIDlet - Version : 1.0.1
MIDlet - Description : A set of MIDlets for online trading
MIDlet - Data - Size : 512
MIDlet - Jar - Size : 10312
MIDlet - Jar - URL : http : // www . w i r e l e s s . com / trader / Midlets . jar
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - interfejs użytkownika
Problemy związane z projektowaniem interfejsu użytkownika:
Mały ekran
Różne rozdzielczości ekranu
Ograniczenia pamięciowe
Wymagana szybka obsługa zadań
Ograniczone sterowanie
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - interfejs użytkownika
Problemy związane z projektowaniem interfejsu użytkownika:
Mały ekran
Różne rozdzielczości ekranu
Ograniczenia pamięciowe
Wymagana szybka obsługa zadań
Ograniczone sterowanie
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - interfejs użytkownika
Problemy związane z projektowaniem interfejsu użytkownika:
Mały ekran
Różne rozdzielczości ekranu
Ograniczenia pamięciowe
Wymagana szybka obsługa zadań
Ograniczone sterowanie
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - interfejs użytkownika
Problemy związane z projektowaniem interfejsu użytkownika:
Mały ekran
Różne rozdzielczości ekranu
Ograniczenia pamięciowe
Wymagana szybka obsługa zadań
Ograniczone sterowanie
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - interfejs użytkownika
Problemy związane z projektowaniem interfejsu użytkownika:
Mały ekran
Różne rozdzielczości ekranu
Ograniczenia pamięciowe
Wymagana szybka obsługa zadań
Ograniczone sterowanie
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - interfejs użytkownika(2)
Aplikacja MIDP pozwala na projektowanie interfejsu na dwa
sposoby:
High-level
Wykorzystanie klas bezpośrednio dziedziczących Screen
Wykorzystanie klasy Form oraz dziedziczących po klasie Item
kontrolek
Low-level
wykorzystanie klasy Canvas i niższego poziomu kontroli
wyświetlania grafiki
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - interfejs użytkownika(2)
Aplikacja MIDP pozwala na projektowanie interfejsu na dwa
sposoby:
High-level
Wykorzystanie klas bezpośrednio dziedziczących Screen
Wykorzystanie klasy Form oraz dziedziczących po klasie Item
kontrolek
Low-level
wykorzystanie klasy Canvas i niższego poziomu kontroli
wyświetlania grafiki
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDlet - interfejs użytkownika(2)
Aplikacja MIDP pozwala na projektowanie interfejsu na dwa
sposoby:
High-level
Wykorzystanie klas bezpośrednio dziedziczących Screen
Wykorzystanie klasy Form oraz dziedziczących po klasie Item
kontrolek
Low-level
wykorzystanie klasy Canvas i niższego poziomu kontroli
wyświetlania grafiki
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Informacje podstawowe
Cykl życia
Podstawowe metody
Dystrybucja
Interfejs użytkownika
MIDP - główne klasy UI
Rysunek: Hierarchia klas UI
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Środowisko programistyczne
NetBeans
EclipseMe
Sun ONE Studio, Mobile Edition
Borland JBuilder i MobileSet
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Środowisko programistyczne
NetBeans
EclipseMe
Sun ONE Studio, Mobile Edition
Borland JBuilder i MobileSet
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Środowisko programistyczne
NetBeans
EclipseMe
Sun ONE Studio, Mobile Edition
Borland JBuilder i MobileSet
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Środowisko programistyczne
NetBeans
EclipseMe
Sun ONE Studio, Mobile Edition
Borland JBuilder i MobileSet
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Toolkity/emulatory
Sun Java Wireless Toolkit
Sony Ericsson SDK
Nokia SDK
Siemens SDK
Motorola SDK
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Toolkity/emulatory
Sun Java Wireless Toolkit
Sony Ericsson SDK
Nokia SDK
Siemens SDK
Motorola SDK
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Telefon
Warto pamiętać o testowaniu aplikacji na telefonie, na którym ma
być użytkowana!
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Hello World
Pokaz tworzenia najprostszej aplikacji Java Micro Edition
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Tworzenie GUI niskiego poziomu
Klasa dziedzicząca po Canvas przeciąża funkcje paint() oraz
keyPressed():
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private class Screen extends Canvas {
...
public void keyPressed ( int keyCode ){
if ( keyCode == -1 || keyCode == 50)
this . c h a n g e E l i p s e W i d t h (20);
else ...
}
protected void paint ( Graphics g ){
g . setColor (0 xffffff );
g . fillRect (0 , 0 , screenWidth , screenHeight );
g . setColor (0 x000000 );
g . drawString ( " (0 ,0) " , 0 , 0 , g . TOP | g . LEFT );
...
g . fillArc ( screenWidth /2 - eclipseWidth /2 , screenHeight /2
- eclipseWidth /2 , eclipseWidth , eclipseWidth , 50 , 290);
Agata...
Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Tworzenie GUI wysokiego poziomu
Tworzenie formularza oraz pól tekstowych:
1
2
3
4
5
6
7
8
9
10
11
form = new Form ( " Personal data " );
// T e x t F i e l d :
name = new TextField ( " Nick : " , null , 30 , TextField . ANY );
form . append ( name );
mail = new TextField ( "E - mail : " , null , 30 , TextField . EMAILADDR );
form . append ( mail );
form . append ( new TextField ( " Password : " , null , 12 ,
TextField . PASSWORD | TextField . ANY ));
form . append ( new TextField ( " Phone : " , null , 12 ,
TextField . PHONENUMBER ));
form . append ( new TextField ( " Age : " , null , 3 , TextField . NUMERIC ));
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Tworzenie GUI wysokiego poziomu
Tworzenie list:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
male = Image . createImage ( " / icons / male . PNG " );
female = Image . createImage ( " / icons / female . PNG " );
c h G r o u p E x c l u si v e = new ChoiceGroup ( " Sex : " , ChoiceGroup . EXCLUSIVE );
c h G r o u p E x c l u si v e . append ( " Female " , female );
c h G r o u p E x c l u si v e . append ( " Male " , male );
form . append ( c h Gr o u p E x c l u s i v e );
c hG ro u pM ul ti p le = new ChoiceGroup ( " Music : " , ChoiceGroup . MULTIPLE );
c hG ro u pM ul ti p le . append ( " Classic " , null );
c hG ro u pM ul ti p le . append ( " Metal " , null );
c hG ro u pM ul ti p le . append ( " Pop " , null );
c hG ro u pM ul ti p le . append ( " Rock " , null );
form . append ( c hG ro u pM ul ti p le );
form . s e t I t e m S t a t e L i s t e n e r ( this );
public void i t e m S t a t e C h a n g e d ( Item item ) {...}
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Tworzenie GUI wysokiego poziomu
Ustawianie komend:
1
2
3
4
5
6
7
8
9
10
saveCommand = new Command ( " Save " , Command . SCREEN , 1);
exitCommand = new Command ( " Exit " , Command . EXIT , 2);
...
form . addCommand ( exitCommand );
form . addCommand ( saveCommand );
form . s e t C o m m a n d L i s t e n e r ( this );
...
public void commandAction ( Command command ,
Displayable displayable ) {...}
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Zapis trwały
RecordStore – uporządkowana kolekcja rekordów
inicjujemy, nadając mu unikalną nazwę:
1
rs = RecordStore . o pe nR ec o rd St or e ( "recordStoreName" , true );
zapis: wczytywanie danych do strumienia,
a następnie do RecordStore
1
2
record = strmBytes . toByteArray ();
rs . addRecord ( record , 0 , record . length );
odczyt:
ze strumienia korzystając z klasy RecordEnumeration
pobranie obiektu tego typu następuje przez wywołanie metody
enumerateRecords(RecordFilter filter, RecordComparator
comparator, boolean keepUpdated).
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Zapis trwały
RecordStore – uporządkowana kolekcja rekordów
inicjujemy, nadając mu unikalną nazwę:
1
rs = RecordStore . o pe nR ec o rd St or e ( "recordStoreName" , true );
zapis: wczytywanie danych do strumienia,
a następnie do RecordStore
1
2
record = strmBytes . toByteArray ();
rs . addRecord ( record , 0 , record . length );
odczyt:
ze strumienia korzystając z klasy RecordEnumeration
pobranie obiektu tego typu następuje przez wywołanie metody
enumerateRecords(RecordFilter filter, RecordComparator
comparator, boolean keepUpdated).
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Zapis trwały(2)
W celu usunięcia rekordów możemy zastosować jedną z dwóch
metod:
deleteRecord(int recordID) - usuwa rekord o podanym
identyfikatorze ze zbioru
deleteRecordStore(String recordStoreName) - usuwa cały zbiór
rekordów o podanej nazwie, pod warunkiem, że zbiór był
zamknięty – inaczej otrzymamy wyjątek RecordStoreException.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Testy jednostkowe
Istnieją różne frameworki do testów jednostkowych:
Sony Ericsson Mobile JUnit 1.0 for Java ME CLDC phones
JMUnit
J2MEUnit
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Testy jednostkowe w JMUnit
Klasy testowe:
dziedziczą po klasie jmunit.framework.cldc11.TestCase (wersja
dla CLDC 1.1)
umieszczane są (jeszcze) w pakiecie, w którym znajduje się
klasa, która ma być pokryta testami
mają nazwę klasy pokrywanej testami rozszerzoną o sufiks
Test
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Tworzenie testów jednostkowych w JMUnit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class RMSManag erTest extends TestCase {
private RMSManager rms ;
public RMSMan agerTes t () {
// The first p a r a m e t e r of i n h e r i t e d c o n s t r u c t o r is the
// number of test cases
super (1 , " RMSManag erTest " );
rms = new RMSManager ();
}
public void test ( int testNumber ) throws Throwable {
switch ( testNumber ) {
case 0:
t e s t D e l e t e C o n t a c t ();
break ;
default :
break ;
}
}
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Tworzenie testów jednostkowych w JMUnit
Przykład testu (dla funkcji deleteContact()):
1
2
3
4
5
6
7
8
9
10
/* *
* Test of t e s t D e l e t e C o n t a c t method , of class R M S M a n a g e r .
*/
public void t e s t D e l e t e C o n t a c t () throws A s s e r t i o n F a i l e d E x c e p t i o n {
System . out . println ( " deleteContact " );
rms . resetRMS ();
rms . addContact ( " Name " , "E - mail " );
rms . deleteContact (1);
assertEquals ( rms . readContacts () , " " );
}
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Bibliografia
„J2ME in a Nutshell” Kim Topley
„Programming Java 2 Micro Edition for Symbian OS 2004”
Martin de Jode
http://java.sun.com/javame
http://java.sun.com/products/cldc/wp/KVMwp.pdf
http://www.midlety.net
www.java2s.com
www.roseindia.net
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Wprowadzenie
Wykorzystanie
Konfiguracje
Maszyny wirtualne
Profile
MIDP
MIDlet
JME w praktyce
Narzędzia
Przykładowe aplikacje
Dziękujemy za uwagę.
Agata Gałecka, Martyna Sikorska, Tomasz Cebula
J2ME - Java Micro Edition
Download