< Profil MIDP 1.0

Archiwa JAR i deskryptory JAD

Konrad Palczewski

Utworzony: 24-10-2003. Wersja: 1.0

Omówienie znaczenia plików JAD i JAR w dystrybucji MIDletów, lista możliwych atrybutów w plikach JAD i MF. Opis bezprzewodowej dystrybucji MIDletów.




Wstęp

Kiedy już stworzymy własne MIDlety, musimy przygotować je do dystrybucji. Pomagają nam w tym oczywiście odpowiednie narzędzia, jak opisany później J2ME Wireless Toolkit. Na dystrybucyjną wersję MIDletu (lub MIDlet Suit) składają się dwa pliki: JAR i JAD. Plik JAR - Java ARchive - zawiera wszystkie pliki .class oraz potrzebne zasoby, jak np. ikony, dołączone pakiety czy inne pliki (mamy do nich dostęp podczas działania aplikacji) z zachowaniem hierarchii katalogów. Dodatkowo znaleźć tam można plik manifest.mf (manifest file), który opisuje zawartość archiwum. Podobny cel i treść ma - już spoza archiwum JAR - plik JAD - Java Application Descriptor. Informacje zawarte w obu plikach tekstowych mają formę pary:

nazwa_atrybutu: wartość

Każda para umieszczona jest w osobnej linii pliku. Specyfikacja MIDP mówi oczywiście o atrybutach predefiniowanych. Te w większości zaczynają się od "MIDlet-", a wszystkie wylistowane są w tabeli poniżej. Tabela ta zawiera również krótki opis atrybutu oraz dwie flagi informujące o konieczności jego dołączenia w plikach JAD i MF. (o - opcjonalny; k - konieczny; i - ignorowany).

AtrybutMFJADOpis
MIDlet-NamekkNazwa dystrybucji (MIDletSuit) zawartej w pliku JAR, która może zostać wyświetlona użytkownikowi.
MIDlet-VersionkkNumer wersji w formie a.b.c, gdzie bardziej znacząca wartość jest po lewej stronie.
Wersjonowanie ma duże znaczenie, gdyż podczas instalacji nowszej wersji MIDletu, zachowywane są wartości zapisane w pamięci stałej.
MIDlet-VendorkkProducent dystrybucji.
MIDlet-nkiAtrybut opisujący n-ty MIDlet w dystrybucji (MIDlet Suit). Watość atrybutu ma formę: nazwa, ikona, klasa. Nazwa jest nazwą MIDletu, ikona - pełną ścieżką dostępu do ikony skojarzonej z MIDletem, a klasa oznacza nazwę głównej klasy MIDletu.
MicroEdition-ProfilekiOkreśla wersje profili MIDP, na których MIDlet może pracować. Typową wartością jest MIDP-1.0. W przypadku kilku wartości, oddzielone są one spacją.
MicroEdition-ConfigurationkiKonfiguracja wymagana przez MIDlet.
MIDlet-DescriptionooOpis dystrybucji, który może być wyświetlony użytkownikowi.
MIDlet-IconooPlik PNG, który może być wyświetlany podczas lub po instalacji.
MIDlet-Info-URLooAdres dokumentu mówiącego więcej o danej dystrybucji MIDletu.
MIDlet-Data-SizeooOkreśla jak dużo pamięci stałej - przeznaczonej na rekordy, nie potrzebnej przy instalacji - potrzebuje MIDlet. Wielkość wyrażona w bajtach.
MIDlet-Jar-URLikURL wskazujący lokalizację pliku JAR opisanego przez te atrybuty.
MIDlet-Jar-SizeikWielkość - w bajtach - pliku JAR.
MIDlet-Install-NotifyioURL wywoływany w celu poinformowania o instalacji dystrybucji. Od MIDP 2.0.
MIDlet-Delete-ConfirmioKomunbikat, który powinien zostać wyświetlony użytkownikowi w celu potwierdzenia usunięcia MIDletu. Od MIDP 2.0.
MIDlet-Delete-NotifyioURL wywoływany w celu poinformowania o usunięciu dystrybucji. Od MIDP 2.0.

Instalacja MIDlet Suit

Ale jaki sens ma trzymanie tych samych informacji w dwóch miejscach jednocześnie? Otóż plik MF jest obowiązkowy przy budowie pliku JAR. Plik JAD natomiast okazuje się bardzo przydatny przy instalacji nowej aplikacji (np. poprzez protokół HTTP).
Scenariusz pobrania aplikacji jest bowiem następujący: linki na stronie (na przykład stronie WAP) prowadzą do pliku JAD (to nie jest możliwość, a konieczność - nie można po prostu ściągnąć pliku JAR). Urządzenie pobiera pliki JAD i wykorzystując niektóre zawarte w nim informacje pyta użytkownika, czy ten chce ściągnąć MIDlet o takiej nazwie, o takiej wielkości z takiej lokalizacji. Może również wyświetlić wartość parametru MIDlet-Description, jeśli ten jest dostarczony. Jeśli użytkownik potwierdzi chęć pobrania aplikacji, ta jest instalowana.

Cały ten proces możliwy jest dzięki dwóm obowiązkowym parametrom w pliku JAD:

MIDlet-JAR-URL
MIDlet-JAR-Size
				
Informują one odpowiednio o lokalizacji pliku JAR i o jego wielkości. Takie podejście ma duże zalety. Przede wszystkim kładzie na barkach użytkownika odpowiedzialność za pobraną aplikację. W końcu to on naciska "Tak - pobierz". Poza tym pozwala użytkownikowi - po pobraniu małego pliku JAD określić czas potrzebny do pobrania aplikacji - i na tej podstawie podjąć decyzję o jej pobraniu lub nie.

Własne atrybuty - parametry aplikacji

Oprócz atrybutów przytoczonych w tabeli powyżej, można w plikach JAD lub JAR zdefiniować własne. Wartości wszystkich atrybutów można sprawdzić podczas działania programu za pomocą następującej metody:

public final String getAppProperty(String name)

Atrybut o nazwie danej parametrem name najpierw szukany jest w pliku JAD, później MF.



Copyright (c) 2003 - 2005 Konrad Palczewski - kondziop (at) midlety.net
Wszelkie prawa zastrzeżone.
Designed by KefArts