Programování v jazyce Java - J2ME

Kurz programování v Javě pro mobilní telefony - 2. díl

 Úvodem  |   Kurz programování v Javě  |  Kurz programování v Javě pro mobilní telefony  |   Soubory ke stažení  |  Otázky a odpovědi

 

Úvod

Vítejte u druhého dílu kurzu programování v Javě pro mobilní telefony. Zjednodušeně probereme jednotlivé profily. A nakonec napíšeme první aplikaci pro mobilní telefon.


Profily

V minulém díle jsme probírali konfigurace. Konfigurace specifikovala nejmenší možné rysy a API pro podporovaná zařízení. Profily rozšiřují možnosti a funkčnost zařízení a přidávají další API nad konfigurace. Rožšiřují, ale zároveň více upřesňují možnosti zařízení


MIDP (Mobile Information Device Profile)

Tento profil je nadstavbou konfigurace CLDC. Je určen pro malé mobilní zařízení, například mobilní telefony a pagery. V dnešní době to je nejvíce používaný profil pro mobilní telefony. Aplikace využívající MIDP se nazývá midlet. Pro nás je tento profil nejdůležitější a také ho budeme používat. Ostatní profily zde uvedu jen pro přehled.



Základní (Foundation)

CDC profil. Nepodporuje grafické uživatelské prostředí. Je určen jako základový profil u kterého se počítá s použítím dalšího "vyššího" profilu, Personal Basis nebo Personal.


Osobní základní (Personal Basis)

Obsahuje všechny třídy ze základního profilu a přidává další.


Osobní (Personal)

Obsahuje všechny třídy osobního základního profilu a přidává další pro podporu grafického prostředí (celé AWT), appletů


Celkový přehled VM, konfigurací a profilů

Následující tabulka ukazuje, jak jsou jednotlivé "věci" na sobě závislé.


J2ME
Osobní Osobní základní
MIDP Základový
CLDC CDC
KVM CVM
Hostující operační systém


První program pro mobilní telefon

Pro psaní prvního programu potřebuje jakýkoli textový editor, nebo programátorské prostředí, záleží na každém co mu lépe vyhovuje.

Druhou věcí kterou potřebujete pro běh programů na počítači je speciální prostředí pro běh těchto aplikací. V tomto kurzu budu používat prostředí od Sunu a to J2ME Wireless Toolit (J2MEWTK), které je volně ke stažení na adres http://java.sun.com/products/j2mewtoolkit/download-2_1.html. Velikost aplikace je přibližně 14 MB a nejnovější verze je 2.1, existují verze pro Linux, Windows a Solaris. Oficiálně jsou podporovány pouze Windows XP a Windows 2000, z vlastní zkušenosti vím, že i na Windows 98 (first edition :-)) funguje J2MEWTK bez problémů. Verze 2.1 podporuje konfiguraci CLDC ve vezi 1.1 a MIDP 2.0, v příštím díle si řekneme rozdíly nových verzí CLDC a MIDP oproti starším. Zároveň musí být nainstalován J2SE SDK (stačí i JRE) minimálně ve verzi 1.4.



První program pro mobilní telefon
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class PrvniMidlet extends MIDlet {

  Display display;
  TextBox textBox;
  
  public PrvniMidlet() {
  
  }
  
  public void startApp() {
  
    display = Display.getDisplay(this);
    textBox = new TextBox("prvni program", "Ahoj svete", 15, 0);
    display.setCurrent(textBox);
	
  }
  
  public void pauseApp() {
  
  }
  
  public void destroyApp(boolean unconditional) {
  
  }
}

	  

Program začíná dvěma příkazy import, protože používáme třídy z těchto balíků. Dále deklarece veřejné třídy, která je potomkem třídy MIDlet. Všechny midlety musí být potomky třídy MIDlet (proto se asi jmenují midlety :-)). Naše třída obsahuje tři metody, startApp(), pauseApp() a destroyApp(). Tyto metody jsou zděděny od třídy MIDlet, kde jsou deklarovány jako abstraktní, my je musíme překrýt a implementovat. Midlety neobsahují metodu main(), pokud jste psaly applety, nepřijde vám této základní struktuře nic divného. Když se midlet spustí, provede se metoda startApp(), pokud je midlet zastaven, třeba příchozím hovorem na telefonu, zavolá se metoda pauseApp() a nakonec, při vypnutí aplikace se zavolá metoda destroyApp(). Ještě naše třída obsahuje prázdný konstruktor, ten není zajímvý, protože nic neobsahuje :-), ale ve většině programů ano, proto jsem ho uvedl, abyste si na něj zvykli. Tento program zobrazí na displeji telefonu objekt typu textBox, který obsahuje řetězec "Ahoj svete".

Když chcete aplikaci spustit, nejdříve spusťte program KToolbar z J2MEWTK. Objeví se okno, kde klikněte na tlačítko s názvem "New Project ...", v dialogovém okně musíte vyplnit název projetku a jméno třídy midletu. Název projektu si zvolte podle svého, název "MIDlet class name" musíte zvolit podle toho, jak se jmenuje třída midletu, v našem případě je to "PrvniMidlet" a stiskněte tlačítko s nápisem "Create Project". V dalším dialogovém okně můžete změnit nastavení midletu, ale pro náš příklad to není nutné. Nakonec se vám vypíše do konzoly informace, jako kam uložit zdrojový kód programu, nebo různé soubory s obrázky, textem apod., a vlastní třídy využité v programu. Pro nás je důležitý řádek s nápisem: "Place Java source files in "...\WTK21\apps\kurz\src", protože do tohot adresáře \src dáme soubor s naším programem. Jeho název musí být PrvniMidlet.java.Pak už jen zmáčkneme tlačítko "Build" pro zkompilování a tlačítko "Run" pro spuštění programu. Zpětná lomítka v názvu cesty platí jen pro Windows, ale to ten kdo používá linux, nebo Solaris asi ví :-).

Jednotlivé prvky, jako je třeba TextBox, budou postupně vysvětlovány v tomto kurzu.


Závěr

V dnešním díle jsme probrali všechny profily v J2ME, včetně pro náš nejdůležitějšího MIDP. Napsali svůj první program pro mobilní telefon. Tento program sice není nijak veliký, ale pro začátek by měl stačit, samozřejmě již příště se můžete těšit na vylepšení tohoto prvního programu o další věcí.



Alen Dvořák