|
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).
| Atrybut | MF | JAD | Opis |
MIDlet-Name | k | k | Nazwa dystrybucji (MIDletSuit) zawartej w pliku JAR, która może zostać wyświetlona użytkownikowi. |
MIDlet-Version | k | k | Numer 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-Vendor | k | k | Producent dystrybucji. |
MIDlet-n | k | i | Atrybut 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-Profile | k | i | Okreś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-Configuration | k | i | Konfiguracja wymagana przez MIDlet. |
MIDlet-Description | o | o | Opis dystrybucji, który może być wyświetlony użytkownikowi. |
MIDlet-Icon | o | o | Plik PNG, który może być wyświetlany podczas lub po instalacji. |
MIDlet-Info-URL | o | o | Adres dokumentu mówiącego więcej o danej dystrybucji MIDletu. |
MIDlet-Data-Size | o | o | Określa jak dużo pamięci stałej - przeznaczonej na rekordy, nie potrzebnej przy instalacji - potrzebuje MIDlet. Wielkość wyrażona w bajtach. |
MIDlet-Jar-URL | i | k | URL wskazujący lokalizację pliku JAR opisanego przez te atrybuty. |
MIDlet-Jar-Size | i | k | Wielkość - w bajtach - pliku JAR. |
MIDlet-Install-Notify | i | o | URL wywoływany w celu poinformowania o instalacji dystrybucji. Od MIDP 2.0. |
MIDlet-Delete-Confirm | i | o | Komunbikat, który powinien zostać wyświetlony użytkownikowi w celu potwierdzenia usunięcia MIDletu. Od MIDP 2.0. |
MIDlet-Delete-Notify | i | o | URL wywoływany w celu poinformowania o usunięciu dystrybucji. Od MIDP 2.0. |
^ do góry ^
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.
^ do góry ^
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.
^ do góry ^
|