14.4.2010 MIDlet Aplikace napsané v Javě, běžící na zařízeních podporujících MIDP (typicky mobilní telefon), se nazývají MIDlety. MIDlet obsahuje alespoň jednu javovskou třídu, která musí být odvozena od abstraktní třídy javax.microedition.midlet.MIDlet
Typy souborů (jad, mf, jar, class, java) JAD (Java Aplication Descriptor) Textový soubor obsahující údaje o aplikaci. Aktualizace údajů je nutná po každém překladu, ale stačí pouze před nahráním na mobilní telefon, jelikož emulátor nekontroluje správnost některých dat. • MIDlet-1: HelloWorld,icona.png, hello.HelloWorld – údaje potřebné pro vlastní spuštění. Uprostřed je obrázek, který se použije v menu jako ikonka produktu. Poslední je spustitelná třída, kterou je nutné bezpodmínečně nastavit správně, jinak nedojde ke spuštění aplikace. • MIDlet-Description: Hello World – stručný popis programu, který se zobrazí uživateli při zadání informací o programu (v menu ještě před stažením). Může být cokoliv. • MIDlet-Jar-Size: 1754 – velikost binárního souboru JAR. Zadané číslo je Bytech a musí odpovídat skutečné velikosti, jinak nemusí jít program spustit. • MIDlet-Jar-URL: HelloWorld.jar - Název souboru JAR, který obsahuje data vlastní aplikace. Může být použita i www adresa ve formátu http://www.neco.com/neco/neco.jar.
• MIDlet-Name: HelloWorld - Název aplikace nebo celého balíčku aplikací. • MIDlet-Vendor: - Autor aplikace. • MIDlet-Version: 1.0 - Aktuální verze MIDletu. MF (ManiFest) Jde o textový soubor podobné struktury i obsahu jako soubor JAD. Pokud používáme překlad přes příkazovou řádku, musíme udržovat stejné hodnoty v souboru MF a JAD, jinak nemusí pracovat aplikace korektně, nebo ji vůbec nespustíme. Povinné údaje: •
MicroEdition-Configuration: CLDC-1.0 – název a verze požadované konfigurace JAVA ME
•
MicroEdition-Profile: MIDP-1.0 – název a verze požadovaného profilu JAVA ME
•
MIDlet-n: HelloMidlet,icona.png,hello.HelloWorld– název, cesta k ikoně a spustitelná třída(v tomto pořadí) n-tého MIDletu v balíčku MIDletů
•
MIDlet-Name: HelloWorld – název balíčku MIDletů
•
MIDlet-Vendor: - Autor aplikace.
•
MIDlet-Version: 1.0 – aktuální verze balíčku MIDletů (třetí údaj nemusí obsahovat)
•
MIDlet-Info-URL: - adresa URL s podrobným popisem
Nepovinné údaje: •
MIDlet-Description: Hello World – popis balíčku MIDletů.
MIDlet-Data-Size: 50000 - minimální počet bajtů úložné kapacity, kterou
•
souprava MIDletů vyžaduje. Není-li určen, je hodnota výchozího nastavení nula. MIDlet-Icon: icona.png - cesta a název ikony balíčku MIDletů, která se zobrazí
•
v telefonu u názvu hry. JAR (Java Archive) Zdrojové kódy se zkomprimují a vloží do souboru JAR. Přidány budou informace o MIDletu a zdroje (resource), jakými jsou například ikonka aplikace, obrázky, textové soubory a další. Jeden soubor JAR může obsahovat i více aplikací, ale z hlediska produkce softwaru je jednodušší a pro uživatele jistě vhodnější, umístíme - li do jednoho souboru pouze jedinou aplikaci. Uživatel pak nemusí stahovat zbytečně velký balík aplikací, z nichž využije minimum. Nemluvě o kapacitě mobilních telefonů. V souboru s touto příponou se nacházejí vlastní data aplikace, které jsou zkomprimovány. Konkrétně tento soubor obsahuje: • Manifest soubor • Java třídy pro MIDlety • Ostatní zdroje jako například obrázky, textové sobory s popisem atd. Jeden soubor JAR může obsahovat i více aplikací (proto dřívější použití „balíček MIDletů“) . CLASS
Soubory s touto příponou vytvoří kompilátor Javy. Obsahují binární kódy, které se vloží do komprimovaného balíku JAR. JAVA Soubory s touto příponou obsahují zdrojový kód aplikace, o což se musíme postarat my při vytváření aplikace. Na obrázku 6 je vidět, z čeho se skládá soubor JAR.
Manifest.mf Soubory JAVA
Soubory CLASS
JAR
Zdroje RES
Sestavení JAR souboru ze zdrojových kódů
Programování aplikací pro JAVA ME Programování JAVA ME aplikací ve své podstatě není až tak těžké, jak se na první pohled může zdát. Nováčka ale asi odradí fakt, že zdrojový kód „Hello World“ aplikace zabírá zhruba dvacet řádek, přičemž pouze zobrazí na displeji zařízení hlášku „Hello World!“. Zkušení Java programátoři jsou na její „ukecanost“ ale už zvyklí (a nejen u jazyka Java). Předpoklady pro tvorbu JAVA ME aplikací Abychom mohli začít programovat JAVA ME aplikace je třeba splnit následující předpoklady: • Hardwarové vybavení – PC a případně ještě zařízení s podporou JAVA ME, na kterém bude možné aplikace testovat • Programové vybavení – knihovny jazyka Java a JAVA ME, překladač JAVA ME, případně emulátory konkrétních zařízení a vývojové prostředí (není podmínkou) • Předchozí zkušenosti s jazykem Java
Nároky na minimální konfiguraci počítače nejsou příliš veliké, důležitý je pouze procesor a operační paměť. Postačí Pentium II s 256 MB RAM (s nárůstem pluginů a použitím aktuálních OS se situace podstatně horší ;), záleží také na použitém vývojovém prostředí… Programové vybavení, které budeme k vývoji potřebovat, obsahuje výhradně aplikace, které jsou distribuovány zdarma. K vývoji nejjednodušších aplikací postačí pouze instalace Javy a JAVA ME Pro reálný vývoj potřebujeme emulátory reálných zařízení, na kterých své aplikace otestujeme. Díky těmto emulátorům si lze odzkoušet, jak se program chová na daném konkrétním zařízení, a odladit případné problémy s kompatibilitou aplikace.
Příprava vývojového prostředí • instalace potřebných knihoven a balíků Javy, to vše nám poskytne instalace balíku Java SE Development Kit (JDK). • instalace Java Micro Edition platformy. Musíme ji provést až po nainstalování samotné Javy, provozování JAVA ME bez JDK není možné. Potřebná aplikace se jmenuje Java(TM) Platform Micro Edition SDK 3.0 (předchozí verze JAVA ME Wireless Toolkit) a slouží pro překlad, tvorbu a spouštění JAVA ME aplikací. Ze stránek firmy Sun stáhneme aktuální verze. Instalační soubor nalezneme přímo na stránce http://java.sun.com/javame/downloads/index.jsp.
21.4.2010 • Dále je vhodné nainstalovat některé z emulátorů reálných zařízení – většina výrobců mobilních telefonů nabízí na svých stránkách v sekci pro vývojáře zdarma ke stažení emulátory jejich mobilních telefonů. Lze si tak vyzkoušet běh aplikace na mnoha různých zařízeních, aniž bychom je měli k dispozici. • Pozor – sebelepší emulátor úplně nezastoupí reálné zařízení a vždy je nakonec nutné testovat aplikaci na konkrétním telefonu. Často aplikace na emulátoru funguje bez problémů, zatímco na telefonu se chová odlišně nebo dokonce vůbec nefunguje. • Pokud je aplikace určena pro libovolný mobilní telefon, bývá označována jako generic.
Vývoj aplikace pomocí Java(TM) Platform Micro Edition SDK 3.0 Vytvoření projektu Překlad projektu Vytvoření MIDletu Instalace a testování Vytvořenou aplikaci je možné do mobilního telefonu nainstalovat několika způsoby: • pomocí datového kabelu, infraportu nebo bluetooth – někdy stačí do telefonu odeslat soubor.jar • u některých typů mobilních telefonů je nutné instalaci Java aplikací provádět pomocí speciálního software od výrobce (např. Nokia PC Suite), samotné zkopírování .jar souboru aplikaci nenainstaluje
• pokud nemáme možnost propojit telefon s počítačem, budeme muset aplikace instalovat trochu složitějším způsobem (a bohužel placeným ;) umístíme oba soubory (.jar i .jad) na web poté v mobilním telefonu spustíme prohlížeč Internetu (WAPu) a jako stránku, kterou chceme zobrazit, zadáme adresu, kam jsme umístili soubor .jad (včetně jeho názvu včetně přípony) následně by si měl telefon aplikaci sám stáhnout a nainstalovat (princip OTA) • reálné zařízení může tzv. emulátor. V instalaci SDK je obsaženo několik těchto základních emulátorů od společnosti Oracle/Sun
Monitorování paměti a sítě Monitorování paměťových nároků aplikace, sledování síťového spojení, času spuštění a četnosti použití metod – Monitor, Profiler atd. – součást SDK. Vývoj aplikace pomocí programu NetBeans IDE Vývojové prostředí NetBeans IDE je nástroj od společnosti Sun Microsystems, pomocí kterého programátoři mohou psát, překládat a ladit aplikace. Vývojové prostředí je vytvářeno v jazyce Java - ale může podporovat jakýkoliv programovací jazyk. Kromě toho také existuje velké množství modulů, které toto vývojové prostředí rozšiřují. Vývojové prostředí NetBeans je bezplatně šířený produkt, který je možné používat bez jakýchkoliv omezení.
Kromě vývojového prostředí je také dostupná vývojová platforma NetBeans Platform, což je modulární a rozšiřitelný základ pro použití při vytváření rozsáhlých aplikací. Nezávislí dodavatelé softwaru nabízejí moduly pro integraci do této platformy. Tyto moduly slouží pro vývoj jejich vlastních nástrojů a řešení. Oba produkty jsou vyvíjeny pod licencí Open Source a je možné je bezplatné používat v komerčním i nekomerčním prostředí. Vývojové prostředí si můžete stáhnout z http://www.netbeans.org/products, na této adrese dále nalezneme další rozšiřující moduly. Mobility Pack Nadstavba Mobility Pack je na stránkách ke stažení ve dvou verzích, první je pro konfiguraci CLDC / MIDP a druhá pro konfiguraci CDC. Program nabízí pomocníka, který vám pomůže rychle vytvořit projekt. Při vytváření projektu si můžete vybrat, zda budete používat pro vývoj vaší aplikace Visual Mobile Designer nebo jen editor zdrojových kódů. Visual Mobile Designer umožňuje graficky vytvářet vaší aplikaci a navrhovat jednotlivé obrazovky, které budou v aplikaci použity. Kód aplikace je pak generován automaticky. Pro robustní testovací prostředí můžete jednoduše přidávat emulátory výrobců. Vývojáři tak můžou simulovat chování zařízení při vývoji, ladění a testování aplikací. NetBeans Mobility Pack v sobě obsahuje JAVA ME Wireless Toolkit. Současně podporuje mnoho dalších SDK, které si můžete stáhnout ze stránek výrobců zařízení.