Politechnika Wrocławska Informatyka 28 kwietnia 2009
Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9
Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9
Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9
Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9
Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9
Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9
Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9
Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9
Agenda 1 do J2ME 2 J2ME 3 4 5 6 Profil 7 Klasa 8 Narzędzia 9
Dlaczego Java2? Informacje ogólne Podział platformy Java Umożliwia wytwarzanie oprogramowania niezależnie od systemu. Write once, run everywhere"
Dlaczego Java2? Informacje ogólne Podział platformy Java Umożliwia wytwarzanie oprogramowania niezależnie od systemu. Write once, run everywhere"
Dlaczego Java2? Informacje ogólne Podział platformy Java Umożliwia wytwarzanie oprogramowania niezależnie od systemu. Write once, run everywhere"
Informacje ogólne Informacje ogólne Podział platformy Java 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.
Informacje ogólne Informacje ogólne Podział platformy Java 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.
Informacje ogólne Informacje ogólne Podział platformy Java 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.
Podział platformy Java Informacje ogólne Podział platformy Java
Różnego typu urządzenia mobilne Pobieranie aplikacji na telefon komórkowy 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
Różnego typu urządzenia mobilne Pobieranie aplikacji na telefon komórkowy 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
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
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
Connected Limited Device Configuration Connected Device Configuration 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
Connected Limited Device Configuration Connected Device Configuration 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
Connected Limited Device Configuration Connected Device Configuration 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
Connected Limited Device Configuration Connected Device Configuration 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
Konfiguracja CLDC Connected Limited Device Configuration Connected Device Configuration 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.
Konfiguracja CLDC Connected Limited Device Configuration Connected Device Configuration 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.
Biblioteki klas CLDC Connected Limited Device Configuration Connected Device Configuration 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ń.
Biblioteki klas CLDC Connected Limited Device Configuration Connected Device Configuration 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ń.
Biblioteki klas CLDC Connected Limited Device Configuration Connected Device Configuration 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ń.
Biblioteki klas CLDC Connected Limited Device Configuration Connected Device Configuration 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ń.
Biblioteki klas CLDC Connected Limited Device Configuration Connected Device Configuration 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ń.
Biblioteki klas CLDC Connected Limited Device Configuration Connected Device Configuration 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ń.
Konfiguracja CDC Connected Limited Device Configuration Connected Device Configuration 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.
Konfiguracja CDC Connected Limited Device Configuration Connected Device Configuration 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.
Biblioteki klas CDC Connected Limited Device Configuration Connected Device Configuration 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ć Agatakompatybilność Gałecka, Martyna Sikorska, z Tomasz aplikacjami Cebula CDLC.
Biblioteki klas CDC Connected Limited Device Configuration Connected Device Configuration 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ć Agatakompatybilność Gałecka, Martyna Sikorska, z Tomasz aplikacjami Cebula CDLC.
Kilobyte Virtual Machine CVM 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.
Kilobyte Virtual Machine CVM 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.
Kilobyte Virtual Machine CVM 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.
Maszyna wirtualna KVM Kilobyte Virtual Machine CVM 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.
Maszyna wirtualna KVM Kilobyte Virtual Machine CVM 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.
Maszyna wirtualna CVM Kilobyte Virtual Machine 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.
Maszyna wirtualna CVM Kilobyte Virtual Machine 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.
Maszyna wirtualna CVM Kilobyte Virtual Machine 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.
dla CLDC dla CDC Profil jest uzupełnieniem konfiguracji poprzez dodanie klas zapewniających funkcje odpowiednie do określonego typu urządzenia. Obie konfiguracje posiadają profile. mogą korzystać z innych profili. Ostatecznie po wybraniu konfiguracji i profilu, programista tworzy aplikację dla konkretnego typu urządzenia.
dla CLDC dla CDC Profil jest uzupełnieniem konfiguracji poprzez dodanie klas zapewniających funkcje odpowiednie do określonego typu urządzenia. Obie konfiguracje posiadają profile. mogą korzystać z innych profili. Ostatecznie po wybraniu konfiguracji i profilu, programista tworzy aplikację dla konkretnego typu urządzenia.
dla CLDC dla CDC Profil jest uzupełnieniem konfiguracji poprzez dodanie klas zapewniających funkcje odpowiednie do określonego typu urządzenia. Obie konfiguracje posiadają profile. mogą korzystać z innych profili. Ostatecznie po wybraniu konfiguracji i profilu, programista tworzy aplikację dla konkretnego typu urządzenia.
dla CLDC dla CDC Profil jest uzupełnieniem konfiguracji poprzez dodanie klas zapewniających funkcje odpowiednie do określonego typu urządzenia. Obie konfiguracje posiadają profile. mogą korzystać z innych profili. Ostatecznie po wybraniu konfiguracji i profilu, programista tworzy aplikację dla konkretnego typu urządzenia.
dla CLDC dla CLDC dla CDC (1.0, 2.0, 2.1) - Mobile Information Device Przeznaczony jest dla telefonów komórkowych. PDA Przeznaczony jest dla notesów elektronicznych. Bardziej zaawansowana biblioteka interfejsu użytkownika niż w. Dostęp do bardziej skomplikowanych funkcji systemu operacyjnego.
dla CLDC dla CLDC dla CDC (1.0, 2.0, 2.1) - Mobile Information Device Przeznaczony jest dla telefonów komórkowych. PDA Przeznaczony jest dla notesów elektronicznych. Bardziej zaawansowana biblioteka interfejsu użytkownika niż w. Dostęp do bardziej skomplikowanych funkcji systemu operacyjnego.
dla CDC dla CLDC dla CDC Profil Foundation Podstawa dla wszystkich profili. Oferuje prawie wszystkie podstawowe biblioteki J2SE v1.3 Personal Basis oraz Personal Posiadają biblioteki mniej i bardziej skomplikowanego interfejsu użytkownika Profil RMI
dla CDC dla CLDC dla CDC Profil Foundation Podstawa dla wszystkich profili. Oferuje prawie wszystkie podstawowe biblioteki J2SE v1.3 Personal Basis oraz Personal Posiadają biblioteki mniej i bardziej skomplikowanego interfejsu użytkownika Profil RMI
dla CDC dla CLDC dla CDC Profil Foundation Podstawa dla wszystkich profili. Oferuje prawie wszystkie podstawowe biblioteki J2SE v1.3 Personal Basis oraz Personal Posiadają biblioteki mniej i bardziej skomplikowanego interfejsu użytkownika Profil RMI
- Wymagania Dodatkowe pakiety (Mobile Information Device ) Profil rozszerzający konfigurację CLDC Przeznaczony dla urządzeń o niskich parametrach technicznych Programy napisane przy pomocy noszą nazwę ów Programy uruchamiane przy pomocy KVM
- Wymagania Dodatkowe pakiety (Mobile Information Device ) Profil rozszerzający konfigurację CLDC Przeznaczony dla urządzeń o niskich parametrach technicznych Programy napisane przy pomocy noszą nazwę ów Programy uruchamiane przy pomocy KVM
- Wymagania Dodatkowe pakiety (Mobile Information Device ) Profil rozszerzający konfigurację CLDC Przeznaczony dla urządzeń o niskich parametrach technicznych Programy napisane przy pomocy noszą nazwę ów Programy uruchamiane przy pomocy KVM
- Wymagania Dodatkowe pakiety (Mobile Information Device ) Profil rozszerzający konfigurację CLDC Przeznaczony dla urządzeń o niskich parametrach technicznych Programy napisane przy pomocy noszą nazwę ów Programy uruchamiane przy pomocy KVM
- Wymagania Wymagania Dodatkowe pakiety 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
- Wymagania Wymagania Dodatkowe pakiety 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
- Wymagania Wymagania Dodatkowe pakiety 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
- Wymagania Wymagania Dodatkowe pakiety 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
- dodatkowe pakiety Wymagania Dodatkowe pakiety rozszerza CLDC o następujące pakiety: javax.microedition.midlet zawiera klasę oraz steruje cyklem życia u 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
- dodatkowe pakiety Wymagania Dodatkowe pakiety rozszerza CLDC o następujące pakiety: javax.microedition.midlet zawiera klasę oraz steruje cyklem życia u 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
- dodatkowe pakiety Wymagania Dodatkowe pakiety rozszerza CLDC o następujące pakiety: javax.microedition.midlet zawiera klasę oraz steruje cyklem życia u 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
- dodatkowe pakiety Wymagania Dodatkowe pakiety rozszerza CLDC o następujące pakiety: javax.microedition.midlet zawiera klasę oraz steruje cyklem życia u 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
- dodatkowe pakiety Wymagania Dodatkowe pakiety rozszerza CLDC o następujące pakiety: javax.microedition.midlet zawiera klasę oraz steruje cyklem życia u 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
- informacje podstawowe Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika Co najmniej jedna klasa rozszerza klasę 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.
- informacje podstawowe Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika Co najmniej jedna klasa rozszerza klasę 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.
- informacje podstawowe Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika Co najmniej jedna klasa rozszerza klasę 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.
- szkielet Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 1 public class MyFirst extends { 2 public void startapp () throws StateChangeException { 3 } 4 public void pauseapp () { 5 } 6 public void destroyapp ( boolean unconditional ) { 7 } 8 /* * Opcjonalny konstruktor : */ 9 public MyFirst () { 10 } 11 }
- cykl życia Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika
- stany Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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()
- stany Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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()
- stany Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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()
- stany Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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()
- stany Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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()
- stany(2) Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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()
- stany(2) Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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()
- podstawowe metody Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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
- podstawowe metody Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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
- podstawowe metody Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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
- podstawowe metody(2) Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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() prosi AMS o ponowne wystartowanie (wywołanie metody startapp())
- podstawowe metody(2) Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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() prosi AMS o ponowne wystartowanie (wywołanie metody startapp())
- podstawowe metody(2) Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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() prosi AMS o ponowne wystartowanie (wywołanie metody startapp())
Suit Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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. y z danego zestawu: Uruchamiane w jednej maszynie wirtualnej Współdzielą pamięć trwałą
Suit Informacje podstawowe Cykl życia Podstawowe metody Dystrybucja Interfejs użytkownika 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. y z danego zestawu: Uruchamiane w jednej maszynie wirtualnej Współdzielą pamięć trwałą