Jaké java hry a aplikace spustíme na K850i? Stručný popis podporovaných JSR.

24. listopadu 2007

Programování

V nedávném článku jsem popisoval své první uživatelské dojmy z mobilního telefonu Sony Ericsson K850i. Dnes si na toto povídání dovolím lehce navázat, a to zevrubným popisem podporovaných Java Specification Requests (JSR, podrobný popis naleznete v angličtině na stránkách JCP).

Zatímco prodejci mobilních telefonů často končí pouze označením MIDP profilu (MIDP 1.0, MIDP 2.0,...), v praxi uživatele i programátory víceméně limituje právě to, zda daný telefon podporuje určitý JSR nebo nikoli. Absence podpory některých JSR je známá například u modelu K700i - přestože měl telefon v sobě zabudované bluetooth, díky absenci JSR 82 (Bluetooth API pro javu) nebylo možné spustit žádné "bluetooth" java aplikace (např. BT Explorer, Blueroom apod). Následující řádky tedy nemusí být zajímavé pouze pro programátory, ale také pro běžné uživatele, kteří chtějí na mobil nainstalovat některé specifické java aplikace a nejsou si jistí, zda to bude fungovat.

JSR 118 - MR 2.1 (MIDP 2.1)

Tento JSR popisuje základní javovské balíčky, třídy a vlastnosti. Jedná se tedy o jakési společné minimum funkcí, které musí telefony s označením MIDP 2.1 podporovat (jak jsem psal v úvodu - právě profil MIDP bývá často to jediné, co se lidé od prodejců dozvědí; všechny ostatní JSR jsou víceméně navíc).

Samotné MIDP 2.1 není zase tolik zajímavé, osobně nevidím žádný významný přínos oproti staršímu MIDP 2.0, což dokazují tyto klíčové vlastnosti (vybírám to nejzajímavější z JSR 118):

  • zpětná kompatibilita s MIDP 1.0 a MIDP 2.0 aplikacemi
  • OTA (hlavně instalace a update java aplikací přes wap)
  • protokoly HTTP/1.1 a HTTPS
  • PNG a JPG obrázky
  • alespoň podpora kódování UTF-8
  • nesmí být dovoleno kopírovat nainstalované aplikace (např. posílat je na jiný mobil)

MIDP 2.1 zaručuje podporu základních javovských tříd (řetězce, čísla, čísla s plovoucí desetinnou čárkou, systémové třídy,...), utilit (datum, matematické funkce, časovače,...), IO spojení (včetně socketů), nízkoúrovňové i vysokoúrovňové grafiky, herních tříd (zejména co se grafiky týče - jedná se o různé textury, animace apod), multimediálních tříd (přehrávání hudby, ovládání hlasitosti,...), tříd pro správu certifikátů (pro HTTPS) a RMS databáze.

JSR 75

Přináší podporu pro čtení a zapisování souborů na file system mobilního telefonu (interní paměť nebo pamětová karta) a s tím spojené funkce (např. zobrazení volného místa, vytváření adresářů, nastavování práv a podobně).

JSR 82

Bluetooth API - možnost nastavení bezpečnostních politik, zobrazení seznamu okolních zařízení, zobrazení seznamu známých zařízení, spárování dvou přístrojů, OBEX, ...

JSR 120

Podpora posílání a přijímání SMS zpráv (vč. binárních). Ve specifikaci není žádná zmínka o tom, že by šlo číst zprávy z paměti telefonu. Cílem tohoto JSR je, aby bylo možné poslat SMS zprávu a přijmout odpověď (která přijde během puštěné aplikace). Dokážu si představit, že by se to dalo použít například ke zpoplatnění provozu aplikace pomocí Premium SMS.

JSR 135

Přehrávání a nahrávání multimédií dle možností telefonu. Podpora posouvání skladeb a nastavení rychlosti přehrávání.

JSR 172

Podpora webových služeb a RPC. Nejzajímavější na tomto ne moc zajímavém balíku je podpora parsování XML souborů, ale i tak si myslím, že je XML pro mobily až příliš ukecaný a příliš složitý formát.

JSR 177

Bezpečnostní služby, zejména související s HTTPS.

JSR 180

Podpora protokolu SIP, který se používá zejména pro internetová volání. Pokud to dobře chápu, tak bychom se časem mohli dočkat verze programu Skype pro mobilní telefony (K850i již podporuje dostatečně rychlé internetové připojení).

JSR 184

Podpora 3D grafiky.

JSR 205

JSR 120 + podpora MMS zpráv.

JSR 211

Content Handler. Funkce tohoto API jsou poněkud různorodé a zároveň poměrně složité. Jednou z možných aplikací je například online nákup hudby s DRM nebo stahování dalších levelů java hry.

JSR 226

2D grafika - SVG animace.

JSR 229

Podpora platebních transakcí (nevím, jestli v ČR operátoři něco takového nabízejí, v podstatě by přes to šlo platit na vrub účtu za telefon).

JSR 234

Pokročilé multimediální API - k JSR 135 přidává například audio efekty (reverb, ekvalizér, chorus, flanger), ovládání fotoaparátu / kamery (překvapivě mnoho možností nastavení), grafické efekty (úprava fotek) a také ovládání rádia a RDS. Dovoluji si poznamenat, že s pomocí tohoto API by se dal z K850i vytvořit extrémně funkčně silný multimediální přehrávač.

JSR 238

Podpora vícejazyčnosti java aplikací.

JSR 239

OpenGL grafika.

JSR 256

API pro různé mobilní sensory (pohybový, alkoholový,...). K850i má pouze jeden sensor - Akcelerometr, který umožňuje zjistit pozici telefonu vůči zemi (pro každý směr v rozsahu od -2,3 G do +2,3 G). Běžné využití tohoto sensoru je například pro automatické otáčení displeje po otočení telefonu nebo krokoměr, nicméně mě napadají minimálně tyto další možnosti:

  • alarm (jakmile se s telefonem pohne, sensor to zaznamená a spustí kravál)
  • detekce aktivity pro komunikační programy typu JIMM - je telefon puštěný někde v kapse nebo byl zapomenut kdesi na stole?
  • vodováha

NOKIA UI API

Zaručí kompatibilitu se staršími MIDP 1.0 aplikacemi pro mobilní telefony Nokia (pro MIDP 2.0 aplikace se již Nokia UI API nepoužívá).

Přehled JSR je velice stručný, ale myslím, že i tak může být určitým vodítkem při nakupování. Někdy příště snad zveřejním i nějaké ukázky k těm nejzajímavějším JSR - zejména co se JSR 234 týče :-)

Publikováno dne 24. 11. 2007 v kategorii Programování Odhadnutá klíčová slova BETA: K850i | java | aplikace | k850i aplikace | hry na K850i | K850i hry | midp | java hry na k850i | aplikace na k850i
Mohlo by Vás zajímat BETA: iPad 2 po třech týdnech a tipy na zajímavé aplikace

O kategorii Programování

V nejodbornější kategorii tohoto blogu jsou zařazeny články s mými programátorskými zkušenostmi získanými několikaletou praxí tvorby stránek a java aplikací pro mobilní telefony.

Komentáře k článku

Otakar Doležal (dne 11. 12. 2007 v 11.11)
Dobrý článek! Děkuji.
Pro mě jako vývojáře java aplikací pro mobilní telefony je k rychlé orientaci určitě přínosem. Nicméně vývojáři většinou potřebují sdělit potenciálním uživatelům, zda aplikace bude chodit právě na jejich telefonu. Například aplikace pracující s příjmem a odesíláním SMS bude fungovat na mobilech s JSR 120. Tato informace je sice pro potenciálního uživatele dostatečná, nicméně spoustě z nich se nechce v manuálu nebo na webu dále hledat, zda právě jejich telefon tuto JSR obsahuje.
Nevíte, zda existuje, nebo podle čeho by se dal takový seznam vytvořit? Ideální by byla možnost filtrace podle více JSR. Například filtr pro JSR 82 a JSR 120 by zobrazil seznam mobilních zařízení s podporou SMS a zároveň Bluetooth.

Marekzprahy (dne 11. 12. 2007 v 19.06)
Otakar Doležal: Jo, taková stránka by se šikla. Bohužel jsem nic moc vhodného nenašel, docela dobré je toto: http://validator.openmobilealliance.org/cgi/

Přidat vlastní komentář:
Jméno:
E-mail:
Sledovat diskusi:
Web:
Kontrolní kód:

Komentáře jsou v prvé řadě určeny ke kladení dotazů k tématu, upozornění na chybu, rozšíření obsahu článku a vůbec ke zpětné reakci na obsah těchto stránek. Mé reakce jsou barevně odlišeny.

V současné době není umožněno vkládat HTML tagy - pokud vložíte HTML kód, bude převeden na entity. K Vašemu komentáři se do databáze uloží čas vložení a Vaše aktuální IP adresa (54.161.40.41). IP adresa se nebude zobrazovat čtenářům, nicméně v případě, že bude Váš odkaz shledán právně závadným, může být Vaše IP adresa předána příslušným státním orgánům. Emailové adresy jsou ochráněny před běžnými spam roboty.

© Marek Demčák 2007 - 2018
Všechna práva dle Autorského zákona (č. 121/2000 Sb.) vyhrazena.