J2ME v kostce – jak dostat aplikaci do telefonu
V předchozím článku jsme vytvořili jednoduchý midlet a vyzkoušeli si ho v emulátoru. Teď už jen zbývá nahrát ho do telefonu. Jenže to není často tak jednoduché, jak by si člověk přál a představoval. Tento článek se vás pokusí provést všemi zákrutami, které vás na cestě midletu do telefonu mohou potkat.
Zabalení aplikace – teorie
Aplikace se skládá ze dvou základních souborů, které mají strukturu danou specifikací profilu MIDP. Jsou to deskriptor aplikace a JAR soubor. Této dvojici souborů se říká sada midletů (midlet suite).
JAR soubor
V JAR souboru je zabalen jeden či více midletů. Tento soubor obsahuje:
- Manifest soubor
- Java třídy pro midlety
- Ostatní zdroje jako například obrázky
Manifest soubor se v JAR souboru nachází v adresáři META-INF (ta velká písmena jsou důležitá) a jmenuje se manifest.mf. Má, stejně jako deskriptor aplikace, formát jméno_atributu: hodnota atributu
a musí obsahovat všechny povinné atributy. Pokud některý z nich nebude obsahovat, některé telefony tuto sadu midletů odmítnou nainstalovat. Povinné atributy jsou:
- MIDlet-Name
- MIDlet-Version
- MIDlet-Vendor
- MIDlet-<n> pro každý MIDlet
- MicroEdition-Profile
- MicroEdition-Configuration
Přehled všech předdefinovaných atributů sady midletů s jejich popisem najdete v následující tabulce:
Název atributu | Popis atributu |
MIDlet-Name | Název sady midletů, kterým se identifikuje uživateli. |
MIDlet-Version | Číslo verze sady midletů používané manažerským softwarem v telefonu při aktualizaci. |
MIDlet-Vendor | poskytovatel sady midletů |
MIDlet-Icon | Jméno png souboru uvnitř JAR souboru. Tento obrázek by měl být použit jako ikona identifikující tuto sadu midletů. |
MIDlet-Description | popis sady midletů |
MIDlet-Info-URL | URL, kde je možné najít dalčí informace o této sadě midletů. |
MIDlet-<n> | jméno, ikona a název hlavní třídy n-tého midletu oddělené čárkami |
MIDlet-Jar-URL | URL, odkud je možné stáhnout jar soubor této sady midletů. |
MIDlet-Jar-Size | velikost JAR souboru |
MIDlet-Data-Size | Minimální velikost paměti, kterou tato sada midletů potřebuje pro uložení trvalých dat. Výchozí hodnota je 0. |
MicroEdition-Profile | požadovaný J2ME profil, např. MIDP-1.0 |
MicroEdition-Configuration | požadovaná J2ME konfigurace, např. CLDC-1.0 |
Přehled všech předdefinovaných atributů souboru manifest.mf a deskriptoru aplikace
Deskriptor aplikace
Deskriptor aplikace je textový soubor, který má stejný formát jako manifest soubor. Jmenuje se jmeno_sady_midletu.jad. Při instalaci sady midletů se nejprve do telefonu přenese deskriptor aplikace a JAR soubor se nahrává podle atributů v něm obsažených. Následující atributy jsou povinné:
- MIDlet-Name
- MIDlet-Version
- MIDlet-Vendor
- MIDlet-Jar-URL
- MIDlet-Jar-Size
Kromě povinných atributů může deskriptor obsahovat další libovolné atributy, které nezačínají řetězcem MIDlet. K těmto atributům má programátor přístup přes metodu getAppProperty(String key)
třídy MIDlet. Ale pozor, telefony značky Siemens umějí načíst atribut maximálně 255 znaků dlouhý, delší ořezávají. Také není úplně dobrý nápad vkládat do manifestu české znaky. I když je telefon zvládá (pokud je deskriptor v kódování UTF-8), přes některé brány nedorazí na telefon v pořádku.
Zabalení aplikace – praxe
Posledně jsme pomocí KToolbar aplikace z J2MEWTK spustili midlet HelloWorld v emulátoru. Ta samá aplikace nám pomůže tento midlet zabalit do sady midletů. Stačí si v ní otevřít projekt HelloWorld a vytvořit balíček, jak ukazuje obrázek.
J2MEWTK – výroba balíčku
Deskriptor HelloWorld.jad a příslušný JAR soubor HelloWorld.jar najdete v adresáři J2MEWTK_HOME/apps/HelloWorld/bin. Deskriptor aplikace bude vypadat asi takto:
MIDlet-1: HelloWorld, HelloWorld.png, HelloWorld
MIDlet-Jar-Size: 1263
MIDlet-Jar-URL: HelloWorld.jar
MIDlet-Name: HelloWorld
MIDlet-Vendor: Sun Microsystems
MIDlet-Version: 1.0
Kudy do telefonu
Existuje několik způsobů, jak nahrát aplikaci do telefonu, z nichž každý telefon podporuje odlišnou podmnožinu. Které způsoby konkrétní telefon podporuje, si musíte zjistit na stránkách jeho výrobce, několik odkazů uvádím na konci článku. Možnosti jsou následující:
- Kabel
- Infrared port
- Bluetooth
- OTA (Over The Air neboli vzduchem) – wap
Pokud váš telefon podporuje některou z prvních tří možností, je velmi pravděpodobné, že k němu máte potřebný specializovaný software i s návodem k použití. Proto se budu věnovat univerzálnímu způsobu, wapu.
Použití wapu
Abyste mohli stáhnout aplikaci do telefonu „vzduchem“, potřebujete ji nejprve umístit na http server. Na tomto serveru musí být správně nastavený MIME typ pro .jad a .jar soubory, aby je software v telefonu dokázal rozpoznat. Nastavení je:
Přípona souboru | MIME typ |
.jad | text/vnd.sun.j2me.app-descriptor |
.jar | application/java-archive |
Různé telefony stahují aplikace ze serverů různým způsobem. Uvedu dva příklady. Telefony od firmy Nokia stahují JAR soubor přes wap, takže jim stačí v atributu MIDlet-Jar-URL relativní adresa, jak ji vygeneroval KToolbar. Pokud byste se ovšem tento deskriptor pokoušeli použít beze změny pro telefony od firmy Siemens, dozvěděli byste se, že soubor JAR nebyl nalezen. Tyto telefony přes wap stáhnou pouze deskriptor aplikace a pro stažení JAR souboru si otevřou přímé spojení podle hodnoty v atributu MIDlet-Jar-URL, je proto potřeba vyplnit sem absolutní adresu. Takže univerzální poučka zní: Vyplňte do atributu MIDlet-Jar-URL absolutní adresu, ušetří vám to problémy.
Teď už jen stačí zkopírovat deskriptor a JAR na váš server, zadat do telefonu adresu deskriptoru a můžete svůj telefon nechat pozdravit celý svět.
Stránky výrobců telefonů s podporou javy
Na těchto stránkách najdete nástroje k vývoji aplikací, technické údaje o konkrétních zařízeních, články a diskusní fóra. Obvykle mohou všechny služby využívat až registrování uživatelé, ovšem registrace bývá bezplatná.
- Forum Nokia
- Siemens
- Motorola
- Sonny Ericsson
- Wireless java – komunita vývojářů s diskusním fórem, články a dalšími odkazy
- J2ME – specifikace, dokumentace
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Optimalizace a zlepšení výkonu kódu: tipy a triky
14. srpna 2023 -
Co je to VRAM a jak ji navýšit bez drahého upgradu?
20. srpna 2024 -
10 nejpopulárnějších programovacích jazyků a jejich využití
9. listopadu 2023
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024