Platforma Java, Micro Edition - Java Platform, Micro Edition
Wersje platformy Java |
---|
|
Java Platform, Micro Edition lub Java ME to platforma obliczeniowa do tworzenia i wdrażania przenośnego kodu dla urządzeń wbudowanych i mobilnych (mikrokontrolery, czujniki, bramki, telefony komórkowe, osobiste asystenty cyfrowe, dekodery telewizyjne, drukarki). Java ME była wcześniej znana jako platforma Java 2, Micro Edition lub J2ME .
Platforma wykorzystuje obiektowy język programowania Java . Jest częścią rodziny platform oprogramowania Java . Java ME została zaprojektowana przez Sun Microsystems , przejętą przez Oracle Corporation w 2010 roku; platforma zastąpiła podobną technologię PersonalJava . Pierwotnie opracowany w ramach Java Community Process jako JSR 68, różne odmiany Java ME ewoluowały w oddzielnych JSR. Oracle zapewnia referencyjną implementację specyfikacji, ale zwykle nie zapewnia bezpłatnych implementacji binarnych swojego środowiska wykonawczego Java ME dla urządzeń mobilnych, a raczej polega na dostarczaniu własnych rozwiązań przez strony trzecie.
Od 22 grudnia 2006 r. Kod źródłowy Java ME jest objęty licencją na licencji GNU General Public License i jest udostępniany pod nazwą projektu phoneME .
Od 2008 roku wszystkie platformy Java ME są obecnie ograniczone do funkcji JRE 1.3 i używają tej wersji formatu pliku klasy (wewnętrznie znanej jako wersja 47.0). Jeśli Oracle kiedykolwiek zadeklaruje nową rundę wersji konfiguracji Java ME, które obsługują późniejsze formaty plików klas i funkcje językowe, takie jak te odpowiadające JRE 1.5 lub 1.6 (zwłaszcza generyczne ), będzie to wymagało dodatkowej pracy ze strony wszystkich dostawców platformy aby zaktualizować swoje środowiska JRE.
Urządzenia Java ME implementują profil . Najpopularniejsze z nich to Mobile Information Device Profile skierowany do urządzeń mobilnych, takich jak telefony komórkowe, oraz Personal Profile, który dotyczy produktów konsumenckich i urządzeń wbudowanych, takich jak dekodery i PDA. Profile to podzbiory konfiguracji , z których obecnie istnieją dwie: podłączona ograniczona konfiguracja urządzenia (CLDC) i konfiguracja podłączonego urządzenia (CDC).
Istnieje ponad 2,1 miliarda telefonów komórkowych i urządzeń PDA obsługujących język Java ME. Był popularny w urządzeniach poniżej 200 USD, takich jak Nokia Series 40 . Był również używany w systemie operacyjnym Bada i Symbian OS wraz z natywnym oprogramowaniem. Użytkownicy systemów Windows CE , Windows Mobile , Maemo , MeeGo i Android mogą pobrać Java ME dla swoich odpowiednich środowisk („proof-of-concept” dla Androida).
Podłączona ograniczona konfiguracja urządzenia
Connected Device Configuration ograniczona (CLDC) zawiera ścisłego podzbioru bibliotek Java klasy i jest minimalną kwotę potrzebną na maszynie wirtualnej Java w obsłudze. CLDC jest zasadniczo używany do klasyfikowania niezliczonych urządzeń w stałej konfiguracji.
Konfiguracja zapewnia najbardziej podstawowy zestaw bibliotek i funkcji maszyny wirtualnej, które muszą być obecne w każdej implementacji środowiska J2ME. W połączeniu z jednym lub kilkoma profilami połączona ograniczona konfiguracja urządzenia zapewnia programistom solidną platformę Java do tworzenia aplikacji dla urządzeń konsumenckich i wbudowanych. Konfiguracja jest przeznaczona dla urządzeń z całkowitą pamięcią od 160KB do 512KB, które mają co najmniej 160KB pamięci ROM i 32KB pamięci RAM dostępnych dla platformy Java.
Profil mobilnego urządzenia informacyjnego
Zaprojektowany dla telefonów komórkowych, Mobile Information Device Profile zawiera GUI i API do przechowywania danych, a MIDP 2.0 zawiera podstawowy interfejs API gier 2D . Aplikacje napisane dla tego profilu nazywane są MIDletami . Prawie wszystkie nowe telefony komórkowe są wyposażone w implementację MIDP i jest to obecnie de facto standard dla gier do pobrania na telefony komórkowe. Jednak wiele telefonów komórkowych może obsługiwać tylko te MIDlety, które zostały zatwierdzone przez operatora, zwłaszcza w Ameryce Północnej.
JSR 271: Mobile Information Device Profile 3 (wersja ostateczna z 9 grudnia 2009 r.) Określał profil mobilnego urządzenia informacyjnego trzeciej generacji (MIDP3), rozszerzając funkcjonalność we wszystkich obszarach, a także poprawiając interoperacyjność między urządzeniami. Kluczowym celem projektowym MIDP3 jest zgodność wsteczna z zawartością MIDP2.
Profil modułu informacyjnego
Profilu Information Module (IMP) jest profilem dla osadzonych, „bez głowy” urządzeń, takich jak automaty, przemysłowych zastosowań wbudowanych, systemów zabezpieczeń i podobnych urządzeń z prosta lub bez wyświetlacza iz pewnym ograniczonym łączności sieciowej.
Pierwotnie wprowadzony przez Siemens Mobile i Nokia jako JSR -195, IMP 1.0 jest ścisłym podzbiorem MIDP 1.0, z wyjątkiem tego, że nie zawiera interfejsów API interfejsu użytkownika - innymi słowy, nie obejmuje wsparcia dla pakietu Java javax.microedition.lcdui
. JSR-228, znany również jako IMP-NG, to następna generacja IMP, oparta na MIDP 2.0, wykorzystująca nowe typy zabezpieczeń i sieci oraz interfejsy API MIDP 2.0, a także inne interfejsy API, takie jak PushRegistry
i platformRequest()
, ale znowu nie zawiera interfejsu użytkownika API ani API gier.
Konfiguracja podłączonego urządzenia
Connected Device Configuration jest podzbiorem Java SE , zawierający prawie wszystkie biblioteki, które nie są związane z GUI. Jest bogatszy niż CLDC.
Profil Fundacji
Profil podstawowy to profil konfiguracji podłączonych urządzeń (CDC) Java ME. Ten profil jest przeznaczony do użytku przez urządzenia wymagające pełnej implementacji wirtualnej maszyny Java, włącznie z całym Java Platform, Standard Edition API. Typowe implementacje będą używać pewnego podzbioru tego zestawu API w zależności od dodatkowych obsługiwanych profili. Ta specyfikacja została opracowana w ramach procesu społeczności Java.
Profil Podstawowy Osobisty
Personal Basis Profile rozszerza Foundation Profile o lekkie wsparcie GUI w postaci podzbioru AWT . To jest platforma, na której zbudowano BD-J .
Wdrożenia
Firma Sun udostępnia wzorcową implementację tych konfiguracji i profili dla MIDP i CDC. Począwszy od JavaME 3.0 SDK, środowisko IDE oparte na NetBeans będzie obsługiwać je w jednym środowisku IDE.
W przeciwieństwie do licznych implementacji binarnych platformy Java zbudowanej przez firmę Sun dla serwerów i stacji roboczych, firma Sun nie dostarcza żadnych plików binarnych dla platform docelowych Java ME, z wyjątkiem JRE MIDP 1.0 (JVM) dla Palm OS. Firma Sun nie dostarcza J2ME JRE dla urządzeń opartych na Microsoft Windows Mobile (Pocket PC), pomimo otwartej kampanii skierowanej do firmy Sun, mającej na celu wydanie podobno wewnętrznej implementacji PersonalJava, znanej pod kryptonimem „Kapitan Ameryka”. Implementacje innych firm są szeroko stosowane przez dostawców Windows Mobile.
Systemy operacyjne ukierunkowane na Java ME zostały wdrożone przez DoCoMo w postaci DoJa oraz przez SavaJe jako SavaJe OS. Ta ostatnia firma została zakupiona przez firmę Sun w kwietniu 2007 roku i obecnie stanowi podstawę Sun JavaFX Mobile .
Open-source Mika VM ma na celu wdrożenie JavaME CDC / FP, ale nie jest certyfikowany jako taki (certyfikowane implementacje są wymagane do pobierania opłat licencyjnych, co jest niepraktyczne w przypadku projektów open source). W związku z tym urządzenia korzystające z tej implementacji nie mogą żądać zgodności z JavaME CDC.
Oparty na Linuksie system operacyjny Android wykorzystuje zastrzeżoną wersję języka Java, która jest podobna w zamierzeniu, ale bardzo różni się pod wieloma względami od Java Me.
JSR (żądania specyfikacji Java)
Fundacja
JSR # | Nazwa | Opis |
---|---|---|
68 | Specyfikacja platformy J2ME | |
30 | CLDC 1.x | |
37 | MIDP 1.0 | |
118 | MIDP 2.x | |
139 | CLDC 1.1 | |
271 | MIDP 3.0 | Tylko Java ME 3.4 i starsze, Ostatnia specyfikacja dla telefonów komórkowych, funkcje języka Java jako Java SE 1.3 |
360 | CLDC 8 | Nowość w Javie ME 8 |
361 | MEEP 8 | Nowość w Java ME 8, funkcja języka jako Java SE 8, dla urządzeń Internetu wszystkiego |
Główne rozszerzenia
JSR # | Nazwa | Opis | MSA |
---|---|---|---|
75 | Połączenie plików i PIM API | System plików, kontakty, kalendarz, zadania | |
82 | Bluetooth | Komunikacja przez port szeregowy Bluetooth i wymiana plików (OBEX) | |
120 | Wireless Messaging API (WMA) | ||
135 | Mobile Media API (MMAPI) | Audio, wideo, multimedia | |
172 | Interfejs API usług sieci Web | Parsery XML i RPC | |
177 | Security and Trust Services API (SATSA) | APDU, Java Card RMI (JCRMI), infrastruktura klucza publicznego (PKI) i kryptografia | |
179 | Location API | Współrzędne GPS, adresy ulic, czujniki orientacji, punkty orientacyjne | |
180 | SIP API | ||
184 | Mobilna grafika 3D (M3G) | Grafika 3D na wysokim poziomie | |
185 | Technologia Java dla przemysłu bezprzewodowego (JTWI) | Generał | |
205 | Wireless Messaging API (WMA) 2.0 | Wysyłanie i odbieranie wiadomości SMS i MMS | |
211 | Interfejs API programu obsługi treści (CHAPI) | ||
226 | Skalowalny interfejs API grafiki wektorowej 2D dla J2ME (M2G) | Obsługa SVG Tiny | |
228 | Profil modułu informacyjnego - następna generacja (IMP NG) | ||
229 | API płatności | ||
234 | Zaawansowane dodatki multimedialne (AMMS) | Rozszerzenia MMAPI | |
238 | Mobilny interfejs API internacjonalizacji | Zlokalizowane zasoby, data i formatowanie liczb w języku, porównanie łańcuchów w języku | |
239 | Powiązania Java dla API OpenGL ES | ||
248 | Architektura usług mobilnych (MSA) | ||
253 | Mobile Telephony API | ||
256 | Mobile Sensor API | Odczytywanie wartości z akcelerometrów, żyroskopów, kompasów, termometrów, barometrów i innych | |
257 | Contactless Communication API | ||
258 | Interfejs API dostosowywania interfejsu użytkownika mobilnego | ||
272 | Interfejs API usługi transmisji mobilnej dla terminali przenośnych | ||
280 | XML API dla Java ME | ||
281 | IMS Services API | ||
287 | Scalable 2D Vector Graphics API 2.0 dla Java ME | ||
293 | Location API 2.0 | ||
298 | Telematics API for Java ME | ||
300 | DRM API dla Java ME | ||
325 | IMS Communication Enablers |
Przyszłość
JSR # | Nazwa | Opis |
---|---|---|
297 | Mobile 3D Graphics API (M3G) 2.0 |
ESR
Konsorcjum ESR zajmuje się standardami wbudowanej Java. Szczególnie opłacalne normy. Domeny typowych zastosowań to sterowanie przemysłowe, maszyna-maszyna, medycyna, e-pomiary, automatyka domowa , konsumenci, interfejs człowiek-maszyna, ...
ESR # | Nazwa | Opis |
---|---|---|
001 | B-ON (poza CLDC) | B-ON stanowi bardzo solidną podstawę do wdrażania wbudowanego oprogramowania Java. Określa niezawodną fazę inicjalizacji urządzenia Java i 3 rodzaje obiektów: niezmienne, nieśmiertelne i zwykłe (śmiertelne). |
002 | MicroUI | MicroUI definiuje ulepszoną architekturę, aby umożliwić otwarte, zewnętrzne środowisko programistyczne dla wbudowanych urządzeń HMI. Takie urządzenia zazwyczaj mają jakąś formę wyświetlacza, niektóre czujniki wejściowe i potencjalnie pewne możliwości renderowania dźwięku. Ta specyfikacja obejmuje potencjalnie szeroki zestaw urządzeń. |
011 | MWT | MWT definiuje trzy różne role: projektantów widżetów, projektantów wyglądu i stylu oraz projektantów aplikacji. MWT pozwala, aby aplikacja binarna HMI działała tak samo na wszystkich urządzeniach, które zapewniają zgodną strukturę MWT (urządzenia wbudowane, telefony komórkowe, dekodery telewizyjne, komputery PC itp.), Co pozwala na prawdziwą spójność i wszechobecność aplikacji we wszystkich liniach produktów ( JA, SE, EE). |
015 | ECLASSPATH | ECLASSPATH łączy środowiska wykonawcze CLDC, CDC, Foundation, SE i EE z zestawem około 300 klas API. Kompilowanie z CLDC1.1 / ECLASSPATH umożliwia przenoszenie kodu binarnego we wszystkich środowiskach wykonawczych Java. |
Zobacz też
- Android (system operacyjny)
- iOS
- BlackBerry OS
- Danger Hiptop
- Wbudowana Java
- JavaFX Mobile
- Rozwój mobilny
- Gry mobilne
- Mobilne Nauczanie
- Qualcomm Brew
- Smartfon
Bibliografia
- Uwagi
- JSR 232: Mobile Operational Management - platforma oparta na zaawansowanej technologii OSGi dla mobilnych komputerów
- JSR 291: Dynamic Component Support for Java SE - symetryczny model programowania dla Java SE do Java ME JSR 232
Bibliografia
- Ben Hayun, Roy (30 marca 2009). Java ME w systemie Symbian OS: Inside the Smartphone Model (wydanie 1). Wiley . p. 482. ISBN 0-470-74318-2 .
- Knudsen, Jonathan (8 stycznia 2008). Kicking Butt with MIDP i MSA: Creating Great Mobile Applications (1st ed.). Prentice Hall . p. 432 . ISBN 0-321-46342-0 .
- Li, Sing; Knudsen, Jonathan (25 kwietnia 2005). Początek J2ME: od nowicjusza do profesjonalisty (wyd. 3). Apress . p. 480 . ISBN 1-59059-479-7 .
Zewnętrzne linki
- Sun Developer Network, Java ME
- Strony Java w witrynie Nokia Developer Hub
- Blogi Nokia S60 Java Runtime
- Świat programistów Sony Ericsson
- Motorola Developer Network
- J2ME Authoring Tool Sieć użytkowników LMA
- Witryna Samsung Mobile Developer's
- Witryna internetowa programisty aplikacji Sprint
- Baza danych wydajności urządzeń kompatybilnych z Java ME
- Platformy MicroEJ dla systemów wbudowanych
- Książka - Programowanie telefonów komórkowych w języku Java ME (J2ME)
- Mistrz samouczka, J2ME