Tento web bude zrušen

Jak již jistě tušíte z předchozích příspěvků na tomto webu, už přišla ta chvíle – web dozrál a je na čase posunout se dál. Ale nezoufejte o své oblíbené autory ani články v žádném případě nepříjdete, právě naopak!

Spojili jsme se totiž s dalšími dvěma (http://android-google.cz/ a http://googleandroid.cz/) velkými českými weby o Androidu a míříme společně ke světlým zítřkům. Nově tak budete naše články, recenze a zprávičky nacházet na adrese SvetAndroida.cz. Tam jsme už také přesunuli náš kompletní archiv a připravili účty všem aktivním autorům odsud.

Přesměrujte proto prosím své RSS čtečky na adresu http://feeds.feedburner.com/SvetAndroida (pro veškerý obsah), případně http://feeds.feedburner.com/SvetAndroida-zpravicky (pro rychlé a krátké zprávičky), svůj twitter účet na http://www.twitter.com/SvetAndroida, případně facebook na http://www.facebook.com/SvetAndroida… a hlavně, změňte si ve svých záložkách adresu oblíbeného Androidího webu na http://www.SvetAndroida.cz.

A co na novém webu najdete? Rádi bychom především vybudovali portál, který bude mnohem otevřenější všem jeho čtenářům. Ti by měli dostat možnost podílet se nejen na obsahu, ale také rozhodovat o jeho fungování a směrování. Držte nám palce, plány jsou velké!

Přidat první komentář
Články

Už to vypuklo!

Někteří to čekali, mnozí to tušili a někdo správně tipoval. Pro ty z Vás, kteří se diskuzí o tom, co vypukne (viz přechozí článek), nezůčastnili, tady je krátké shrnutí:

Web MujAndroid.cz bude v nejbližších dnech zrušen. Nahradí jej nový a ještě lepší SvetAndroida.cz.

Ale abych nebyl tak příkrý, přidávám ještě shrnutí o něco delší:

O tom, že nemá smysl aby v malém českém webovém rybníku existovalo více informačních webů o platformě Android jsem uvažoval už dlouho. Nikomu přeci nepomůže, když bude muset pro informace chodit rovnou na několik míst. A přestože konkurence je zdravá, mám za to, že kooperace je ještě zdravější…

Odhodlat se k takovému kroku ale nebylo vůbec jednoduché. MůjAndroid přecejen už nějaký ten pátek budujeme a jistě jsme za tu dobu získali i řadu věrných čtenářů. Až pocit, že nemůžeme našemu webu dávat vše co bychom chtěli byl poslední kapkou, která nás k rozhodnutí definitivně přesvědčila. Pak už netrvalo dlouho a ukázalo se, že rozhodně nejsem jediný s tímto úmyslem.

Slovo dalo slovo a dohodli jsme se na spojení s dalšími majiteli významných českých androidích webů, kteří tytéž pocity sdíleli. Nový projekt tak není jen „další z mnoha“ podobných webů, který by vše pro čtenáře jen komplikoval. Ba naopak. Podařilo se nám něco ještě donedávna těžko představitelného – dali jsme dohromady MujAndroid.cz, Android-Google.cz i GoogleAndroid.cz.

Výsledkem spojení je právě SvetAndroida.cz, web který bychom rádi už od základu budovali společně s Vámi, našimi čtenáři. Jsem nadšený z toho, že jsme se opravdu dokázali domluvit a pevně věřím, že tento odvážný krok doopravdy prospěje všem.

A teď už vzhůru na novou adresu: http://www.SvetAndroida.cz

7 komentářů
Nezařazené

Brzo to vypukne!

Už pár dní po novém roce se můžete těšit na zajímavé věci.

Neuvěříte vlastním očím.

Bude to velké!


O co jde? O čem to tady plácají? …nechejte se překvapit :)

27 komentářů
Články

Nová SMS Jízdenka

sms-ticket-cs-1Uživatelé androidí aplikace SMS Jízdenka si jistě v posledních dnech všimli, že se s aplikací něco děje. Na začátku listopadu změnil Pražský dopravní podnik čísla, na kterých se jízdenky objednávají, a nám se podařilo rychle zareagovat s vydáním updatu. Když už jsme měli zdrojáky aplikace po velice dlouhé době před sebou, rozhodli jsme se do nich šáhnout trochu více a aplikaci notně vylepšit. Výsledkem je současná verze 2.0.5, která je od pěkného 11.11. k dispozici v Android Marketu k volnému stažení.

Co je tedy ve verzi 2 SMS Jízdenky nového? Největší změnou samozřejmě je, že po Praze přibyla podpora dalších českých měst. V současnosti tedy můžete nakupovat jízdenky v Praze, Ostravě, Českých Budějovicích, Ústí nad Labem a úplně nově také v Liberci. SMS Jízdenka také navíc pozná, ve kterém městě se nacházíte a podle toho vám nabídne ke koupi příslušnou jízdenku.

Aplikaci hledejte jako „SMS Jizdenka“ nebo „SMS Ticket“ v Android Marketu.

Chtěli bychom poděkovat uživatelům androidfora a čtenářům našeho blogu za zaslání cenných rad a připomínek, jak aplikaci dále vylepšovat. Určitě se na ně dostane v následujících updatech. Rozhodně se můžete například těšit, že přidáme slovenská města a že se pokusíme odstranit dvojnásobnou notifikaci přišlé sms jízdenky a sms zprávy.

Stručný přehled změn:

  • Podporovaná města:
    • Praha
      • jízdenka na 90 minut v zóně P za 26 Kč (staré číslo)
    • Ostrava
      • jízdenka na 70 minut za 25 Kč
      • zlevněná jízdenka
    • České Budějovice
      • jízdenka na 30 minut za 22 Kč
      • jízdenka na 24 hodin za 60 Kč
    • Ústí nad Labem
      • jízdenka na 40 minut za 15 Kč
    • Liberec
      • jízdenka na 60 minut za 20 Kč
  • Možnost dokoupit duplikát jízdenky, pokud se Vám nějakým záhadným způsobem podaří dosud platnou jízdenku smazat
  • Detaily o ceně, době platnosti a podmínkách jízdenky
  • Automatický výběr města podle polohy telefonu
  • Anglická jazyková mutace
  • Testováno pro Android 1.5 až 2.0


1 komentář
Nezařazené

45. týden ve světě Androida

Minulý týden jsme zprávičky trošku podcenili, dovolte nám proto alespoň touto formou (letem světem a pozdě ale přece :) shrnout co se událo:

…uvidíme jak se bude tahle smršť líbit. Třeba ji začneme dělat místo pravidelných zpráviček.

1 komentář
Články

AndroLib má českou podporu

Na zprávičku dlouhé, na článek krátké. Říkejme tomu tedy článeček :-).

Před nějakou dobou jsme se spojili s autorem webu AndroLib.com, který jistě znáte jako webovou cestu k datům z Android Marketu, zda nechce agregovat a zobrazovat statistiky také pro český market. Líbilo se nám, že na AndroLibu získáte hodnocení aplikací mnohem přesnější, než pohledem na půlhvězdičky v Market aplikaci v telefonu.

Slovo dalo slovo, pomohli jsme autorovi s překladem 4000-řádkového (cca 400 hlášek) jazykového XMLka do češtiny a je to. Na http://cz.androlib.com naleznete výsledek. Pokud budete mít k jazyku nějaké konstruktivní připomínky, budeme moc rádi, když se o ně podělíte v diskuzi u článečku. V univerzální podobě, jakou takový 10-jazyčný web má, samozřejmě těžko dosáhneme dokonalosti, ovšem do očí bijící chyby poslat na opravu můžeme.

5 komentářů
Články

Android 2.0 je tady! [aktualizováno]

Mnozí z nás (třeba já :) ještě v telefonu nemají ani update systému na verzi 1.6 a vývoj Androida pokračuje mílovými kroky dále. Po sotva pár týdnech od posledního releasu dnes bylo vydáno SDK (tedy sada nástrojů pro vývojáře aplikací) pro Android 2.0 (s kódovým označením eclair).

A jako obvykle, i v této verzi se máme opravdu na co těšit – byla vyslyšena mnohá volání uživatelů a přibyly funkce, o které jsme my, uživatelé, nejvíce žádali. Tady je velmi stručný souhrn některých novinek, které nás ve 2.0 čekají:

  • navigace za jízdy (turn-by-turn navigation) – informace a videoukázky
  • možnost více různých účtů pro synchronizaci (tedy například zároveň GMail a Exchange)
  • API pro rychlý přístup uživatele k veškerým komunikačním službám
  • mnohá vylepšení focení
  • výrazné vylepšení softwarové klávesnice (včetně využití podpory pro multi-touch, která se hodí při opravdu rychlém psaní dvěma prsty)
  • vylepšení webového prohlížeče (včetně podpory některých vlastností HTML5)
  • vylepšený grafický stack (např. lepší podpora akcelerované grafiky)
  • Bluetooth (teď už i pro komunikaci mezi telefony)

První telefon, ve kterém by se údajně tato verze Androida měla už doslova za pár dní objevit, bude Motorola Droid. Ten bude bohužel k dispozici (přinejmenším zpočátku) pouze u operátora Verizon v USA.

Závěrem ještě (anglicky mluvené) video, kde se na některé novinky můžete rovnou i podívat:

Aktualizace: přidána informace o turn-by-turn navigaci.

8 komentářů
Články

Android ve firemním prostředí [aktualizováno]

V zářijovém čísle časopisu Security World vyšel náš článek o nasazení Androidu ve firemním prostředí lehce srovnávající možnosti Androida, iPhonu a BlackBerry, který se svolením vydavatele a s drobnými úpravami pro internetové médium publikujeme také zde.

Android je nový operační systém a aplikační platforma pro mobilní zařízení za nímž z největší části stojí firma Google. První Android zařízení (T-Mobile G1) se na trhu objevilo v říjnu 2008 a na letošní rok je ohlášeno dalších zhruba 19 zařízení od různých výrobců. Je tedy na čase podívat se, kde jsou silná a slabá místa v nasazení Android telefonů ve firemním prostředí. Doufáme, že k orientaci Vám pomůže tento článek.

Hlavními konkurenty Androidu, se kterými budeme v článku srovnávat řešení jednotlivých bezpečnostních problémů a způsobů nasazení jsou:

  • iPhone OS (iPhone) od Applu je platforma provozovaná na dosud nejoblíbenějším chytrém telefonu iPhone. iPhone je pro Android – vzhledem ke svému dosavadnímu zaměření hlavně na cílového uživatele, ne na firemní prostředí – největším konkurentem.
  • BlackBerry OS (BB) od Research in Motion je platforma zaměřená především na enterprise business, kde lze naplno využít zabezpečených, centralizovaných služeb poskytnutých BlackBerry Enterprise Serverem (BES) a vzdálenou správou mobilních zařízení hardwarově identifikovaných a zabezpečených pomocí BlackBerry PIN.

Zapojení do firemního groupware

První Android zařízení T-Mobile G1 se při svém prvním spuštění zeptalo na váš Google účet a od té doby s ním bylo nezměnitelně spojeno a synchronizováno. Novější typy telefonů (některé edice telefonů HTC Magic) dokáží použít váš účet na Google Apps. Zatím pouze HTC Hero je schopno syncnout se s Microsoft Exchange v „základní výbavě“.

Google Apps hostované v Google „cloudu“ mohou být dobrým řešením pro firmu, která hledá alternativu ke drahým groupware řešením například pomocí Microsoft Exchange. Firma s Google Apps získá komplexní, bezpečné a spolehlivě dostupné online groupware řešení obsahující email s uživatelským rozhraním Gmailu, kalendář, kontakty, chat, dokumenty (a pár dalších služeb) a může naplno využít automatické synchronizace probíhající na pozadí.

Pro synchronizaci s asi nejrozšířenějšími groupware nástroji Microsoft Exchange resp. Lotus Notes je k dispozici placená aplikace TouchDown resp. CompanionLink (nesynchronizuje email, pouze kalendář a kontakty a nesynchronizuje na telefon ale nejdříve do vašeho Google účtu). Google samotný se v podpoře synchronizace pro Exchange neplánuje nijak angažovat a nechává prostor jiným firmám. Již nyní je ale možné se připojit k emailu hostovanému na Microsoft Exchange pomocí IMAP protokolu.

Naproti tomu zařízení BB jsou integrována do firemní sítě pomocí BES, který zajišťuje propojení s Microsoft Exchange, Lotus Domino, Novell GroupWise. Takže tady je zabezpečená synchronizace zajištěna podobně jako v zařízeních Windows Mobile a iPhone, které obsahují synchronizační nástroj ActiveSync.

Bezpečný email

Android standardně obsahuje emailového klienta, který se připojí k jakémukoli IMAP a POP3 serveru. Samozřejmostí je SSL i TLS šifrovaný přístup. Aplikace automaticky rozpozná většinu oblíbených freemailů a nakonfiguruje připojení sama. Pokud přistupujete ke své poště pomocí IMAP, automaticky se provedené akce synchronizují se serverem. Můžete tak mít synchronizován neomezený počet emailových adres. Veškerá komunikace aplikace se servery se odehrává na pozadí a v případě nové zprávy se zobrazí notifikace. Standardně telefon ukládá 25 posledních zpráv v IMAP složce, takže i kdyby došlo k odcizení telefonu a jeho prolomení (viz následující odstavec), není škoda tak vysoká.

Získání úplné kontroly, odblokování, šifrovaný obsah

Získání úplné kontroly nad systémem (tzv. rootování/jailbreaking) je způsob, jakým lze vytáhnout z nepřístupných oblastí telefonu citlivá data a získat neomezený přístup do filesystému telefonu. Každý systém se proti rootování chrání jiným způsobem.

Pro všechny verze iPhone je k dispozici program dokonce s grafickým uživatelským rozhraním, který jailbreak provede, takže jailbreak zvládne i méně zkušený uživatel. Nic takového není pro Android ještě donedávna k dispozici nebylo. Rootování Android telefonu byla dost náročná a zdlouhavá práce. Poslední dobou se však už i pro tento systém začaly objevovat aplikace, které vše výrazně zjednodušují, i tak ale nelze v žádném případě „rooting“ doporučit nezkušenému uživateli – riziko, že Vám nepovedený pokus odrovná telefon je přítomno stále.

BB umožňuje zadat heslo a šifrovat obsah telefonu. Uživatel má pak jistotu, že ze ztraceného telefonu nepůjdou získat citlivá data, jako jsou kontakty, emaily, smsky apod. iPhone ani Android nic takového k dispozici nemají. Android má ale tu výhodu, že je při tvorbě aplikací možné použít standardní šifrovací knihovny napsané v Javě a vytvořit si tak podobné zabezpečení, pokud je vyžadováno. Navíc všechny aplikace jsou si rovny, takže je možné nahradit aplikaci pro správu kontaktů vlastní aplikací, která bude kontaktní data šifrovat.

Vývoj, podepisování a distribuce aplikací

Všechny tři hlavní sledované platformy používají k distribuci aplikací řešení v podobě obchodu na internetu (Android Market, App Store – pro iPhone, App World – pro BB), který má v telefonu tlustého, předinstalovaného klienta. Kdokoli se může po zaplacení poplatku (výše poplatku se u jednotlivých obchodů liší) registrovat a distribuovat aplikace. Obchody pro Android, iPhone a BB se ale velice liší svou politikou. Android Market je ze zmíněných obchodů nejsvobodnější. Licenční podmínky zakazují k distribuci nejméně aplikací, což vede k tomu, že po odeslání si mohou uživatelé aplikaci stáhnouti během několika minut. Apple si naproti tomu vyhrazuje právo na testování a případné odmítnutí každé aplikace zaslané do iPhone obchodu. Kontrola průměrně vyžaduje tři týdny, než je aplikace k dispozici uživatelům. Na druhou stranu máte jistotu, že aplikaci Apple testoval a můžete více věřit, že vám na telefonu neprovede nic zákeřného.

Kromě Android Marketu můžete na Android instalovat i aplikace z jiných zdrojů, což vám umožní snadno provozovat firemní, uzavřené aplikace, které nechcete distribuovat dalším uživatelům přes Android Market. Pro srovnání na iPhone lze instalovat aplikace jedině z App Store, což znesnadňuje použití vlastních aplikací v tom smyslu, že je musíte distribuovat veřejně, nebo si pořídit drahou App Store enterprise licenci. Na BB lze instalovat cokoliv z libovolného zdroje podobně jako na Androidu.

Není ale instalace aplikací na Android z neověřených zdrojů nebezpečná? Není. Android běží na Linuxu a plně využívá a rozšiřuje jeho bezpečnostní model. Každá aplikaci je přiděleno unikátní UID (identifikace uživatele – běží jakoby pod jiným uživatelem), což jedné aplikaci efektivně zabraňuje přístupu k datům a kódu druhé aplikace. Navíc každá aplikace běží v samostatném sandboxu JVM (Java Virtual Machine) a s operačním systémem komunikuje pomocí přesně definovaných a přísně kontrolovaných rozhraní, k jejichž použití si musí před instalací vyžádat uživatelův souhlas.

Před nahráním na telefon s Androidem musí být aplikace podepsána certifikátem. Hlavním smyslem je ověřitelné spojení výrobce a aplikace samotné, aby se nestalo, že aplikaci nepřepíšete její novou verzí, kterou dodal někdo jiný než verzi původní a která by mohla obsahovat nebezpečné změny.

Pokud chcete vyvíjet pro Android, stačí vám SDK (software development kit – balík aplikací potřebných pro programování) a počítač. Nepotřebujete se nikde registrovat ani složitě získávat certifikáty. Navíc je vše zdarma. Teprve až se rozhodnete pro publikování aplikace v Android Marketu, musíte se za 25 dolarů registrovat a nechat si vygenerovat certifikát, kterým musíte před publikováním podepisovat své aplikace. Certifikát nemusí být ale ověřený žádnou certifikační autoritou. K programování v iPhone OS potřebujete minimálně vývojářskou registraci na iTunes, která stojí 99 dolarů a trvá zpravidla tři týdny. Bez této registrace si nenahrajete aplikaci ani do vlastního telefonu. Registrace pro vývoj na BB stojí 25 dolarů. Bez ní sice můžete pro BB vyvíjet, ale máte k dispozici pouze JavaME podmnožinu BB API. Pro přístup k proprietárnímu BB API je certifikát spojený s vývojářským účtem u RIM vyžadován.

Aktualizace

Systémové aktualizace přicházejí na řadu, pokud se v systému objeví zneužitelná bezpečnostní díra. Android disponuje automatickým systémem aktualizací, které se po odsouhlasení uživatelem automaticky nainstalují. Podobný systém je použit i pro nahrání nové verze operačního systému do telefonu. Tyto aktualizace přicházejí na telefon „OTA“ (“over-the-air“ – vzduchem) od mobilního operátora a nejsou zpoplatněny. V závislosti na operátorovi nebývají také zpoplatněny pouze bezpečnostní updaty. Samozřejmostí je při tom bezpečnost zajištěná tím, že aktualizace a bezpečnostní updaty jsou také podepisované.

Pokud se objeví aktualizace aplikace nainstalované na telefon přes Android Market, je uživatel upozorněn a může si aktualizaci stáhnout. Takto je zaručeno, že máte na telefonu vždy nejnovější verzi systému i aplikací.

Pokud používáte na telefonu vlastní vyvinuté aplikace (aplikace instalované mimo Android Market), nemůžete se na automatický aktualizační systém spolehnout a musíte ho do aplikace naprogramovat sami, což je velice jednoduché. Pokud aplikace komunikuje s firemním serverem, můžete do serverového API umístit příznak existence nové verze a aktualizace se potom sama stáhne a nainstaluje, nebo si aplikace v určeném časovém intervalu sama sleduje existenci nové verze.

Systém oprávnění

Některé aplikace potřebují ke své činnosti přistupovat k citlivým datům uloženým v telefonu (například informace o kontaktech) nebo používat hardware či pokročilé služby telefonu (například použití pozice z GPS či pozice z mobilní sítě). Tento přístup je kontrolován systémovými oprávněními přidělenými aplikaci. Na Androidu musíte během instalace aplikace odsouhlasit, že jí přidělujete práva, která ke své činnosti potřebuje. Jakmile odsouhlasíte, aplikace se nainstaluje a už nejste znovu dotazováni.

iPhone se vás dopředu při instalaci neptá, ale před každým prvním přístupem ke chráněným datům nebo hardwaru vás požádá o explicitní souhlas. Při instalaci aplikace na BB, která používá ke své činnosti pokročilé funkce systému, můžete aplikaci explicitně přidělit oprávnění, která má používat automaticky, jinak se bude při jejich potřebě ptát. Navíc použití příliš citlivých funkcí (např. prodloužení doby do zamknutí zařízení při jeho nepoužívání) je defaultně zakázáno a je zde problém v tom, že sama aplikace si neříká, jaká oprávnění potřebuje. V takovém případě musíte tedy hledat, které oprávnění je to správné a způsobuje chyby v chování aplikace.

Shrnutí

Bezpečnostní model Androidu je natolik silný, že dělá Androda dobrým kompromisem mezi aplikacemi z potenciálně nebezpečných zdrojů a příliš restriktivní politikou, která vám značně omezuje možnosti jeho nasazení.

Největší síla Androida spočívá v použití zkombinovaném s Google Apps. Získáte tak velice levnou a bezpečnou infrastrukturu poskytující vám přístup k emailu, kalendáři, kontaktům, dokumentům z libovolného místa, kam dosahuje mobilní internetové připojení. Vše plně synchronizované na pozadí bez jediného uživatelského zásahu. Pokud byste uvažovali o začlenění Androida do již existujícího firemního prostředí (MS Exchange, Lotus Notes, …), můžete narazit na integrační problémy a očekávat výdaje na licence pro používání synchronizačního softwaru.

Android také v současnosti nedosahuje enterprise úrovně zabezpečení telefonů BlackBerry. Na druhou stranu jeho pořízení a začlenění do firemní sítě je mnohem levnější. Android je natolik otevřený, že vám nic nebrání v tom, abyste si potřebnou část z celkově drahých bezpečnostních řešení nemohli naprogramovat sami.

Přejeme hodně úspěchů!

[aktualizace] – v článku byly opraveny dvě drobné nepřesnosti, na které nás upozornili čtenáři (viz diskuze níže). Moc děkujeme čtenářům Petr22 a boldrik za konstruktivní a pravdivé připomínky!

4 komentářů
Články

CyanogenMod vs. Google

Možná jste v posledních dnech zaznamenali v Android komunitě ruch okolo sporu společnosti Google s autorem zřejmě nejoblíbenější modifikace systému Android zvané CyanogenMod. Pokusíme se zde velmi stručně shrnout, o co vlastně jde.

Jak známo, Android je open-source software. Většina systému Android je vydávána pod Apache Softare License, která umožňuje vývojářům nejen stáhnutí stystému zdarma, ale také jeho modifikace a následné publikace změn. Už od začátku ale Google upozorňoval na to, že ne všechny části systému budou vydávány pod touto liberální licencí. Zejména samotné „Google Aplikace“ (Google Maps, GTalk, Android Market…) měly už od začátku jistá omezení.

Znamená to, že každý vývojář si může bez problémů stáhnou zdrojové kódy samotného systému Android. Může také zdrojové kódy upravit a vydat vlastní verzi OS Android, přesně tak, jak to dělá třeba Cyanogen. Problém ale nastává s přibalením Google Aplikací. Ty bohužel takto volně k dispozici nejsou a jejich volná distribuce odporuje licenčním podmínkam.

Před pár dny proto Cyanogenovi přisel z Google dopis, upozorňující na porušovaní těchto podmínek. Stížnost se rychle objevila na Internetu a začlo její lavinové šíření. Drtivá většina diskutéru bohužel jen přilévá olej do ohně bez toho, aby se pokusili porozumět motivacím jednotlivých stran tohoto minisporu (Cyanogen sám prohlásil, že lituje zveřejnění stížnosti, které přerostlo v nečekaně velkou kauzu).

Na fórech je samozřejmě slyšet mnoho argumentů, proč by šíření Google Aplikací nemělo být problém, například, že: „Cyanogen za svou distribuci nic nechce“, nebo: „aplikace jsou stejně zdarma“, či: „CyanogenMod je stejně pro telefony, kde předtím v rámci oficiálního Androida tyto aplikace byly“. Nic to bohužel nemění na tom, že jde o obcházení předem definovaných pravidel. Řekl bych, že nejde ani tak o to, kdo na tom něco vydělá a kdo ne, jde spíše o nebezpečný precedens. Neřešit takovéto „lehké porušení“ pravidel by mohlo v budoucnu znamenat problémy s řešením sporů daleko větších.

Pravdou ale zůstává, že stejně jako zbytek Android komunity, pevně věříme, že bude toto malé nedorozumění brzo vyřešeno ke spokojenosti všech. Cílem Google jistě není „zakázat“ CyanogenMod, takový boj proti vývojářům nad vlastní platformou by byl střelbou do vlastních řad. Uvidíme zda se Google s Cyanogenem dohodnou. Než se tak ale stane, nezbývá nám, než držet palce, aby vše skončilo bez poskvrnění otevřenosti naší oblíbené platformy.

A co si o tomto sporu myslíte vy? Vidíte celou kauzu úplně jinak? Pojďte nám o tom říct do diskuse pod článkem, moc rádi se na vše mrkneme i z jiné perspektivy.

Zdroje: CyanogenMod, Android Guys, Android Fórum, Android Developers Blog

6 komentářů
Články

Pod pokličkou OnTheRoad

device

Úvodní nástěnka aplikace

Pozorným sledovačům českého android dění není jistě třeba představovat poslední a zatím největší androidí produkt z Inmite dílny – tlustého klienta pro českou službu OnTheRoad (k dispozici zdarma v Android Marketu). Pro všechny ostatní rychle shrnu, o co se jedná. OnTheRoad je služba určená všem cestovatelům. Umožní vám publikovat cestovatelské zážitky během několika kliknutí či sekund. Android klient přináší možnost publikovat přímo z průběhu dění.

S OnTheRoad na Androidu můžete přímo na telefonu spravovat svůj účet, psát články, číst a odpovídat komentáře a to vše i offline, bez připojení k internetu. Jakmile se k internetu připojíte, všechny změny se automaticky synchronizují se serverem.

V tomto příspěvku bych vám chtěl umožnit nahlédnout trochu pod pokličku komplexní androidí aplikace a dát několik tipů pro tvorbu aplikací vlastních.

Uživatelské rozhraní

Pokud chcete uživateli ukázat několik typů informace tak, aby jimi mohl rychle procházet a listovat, jako nejvýhodnější se jeví použít záložky (TabActivity). Musíte ale pamatovat na to, že si budete muset ručně oprogramovat různá menu na různých záložkách a že z aktivity na záložce nespustíte další aktivitu voláním startActivityForResult(…). Pokud na to budete pamatovat již pří návrhu, ušetříte si tím spoustu nepříjemností.

Integrace se systémem

Integrace se systémem jsou drobnosti, ale dodají vaší aplikaci hodně profesionality. Jak jste si již možná všimli, aplikace se pomocí intentů integruje do systému a vy tak snadno můžete sdílet fotky a videa. K tomu, aby to bylo možné, je třeba jednotlivé aktivity navrhnout tak, aby byly co nejvíce samostatné a nepotřebovaly nic zbytečně z aktivit, které ještě nemusí být nastartované. Ideálně, pokud každá aktivita může žít samostatně.

Synchronizace se serverem

Veškerá komunikace se servery OnTheRoad probíhá pomocí xml-rpc. Pro tvorbu xml-rpc klienta mohu vřele doporučit open-source knihovnu android-xmlrpc, se kterou jsme neměli vůbec žádný problém. Jen si její volání budete muset obalit asynchronním wrapperem, protože samotná knihovna podporuje pouze synchronní volání, které si v android aktivitách nemůžete dovolit. My jsme zvolili obalení pomocí thread-poolu, takže v jeden okamžik je možno obsluhovat více klientských dotazů.

Progressbar při synchronizaci

Progressbar při synchronizaci

Synchronizace z klienta na server probíhá kompletně na pozadí a uživatel tak není ve své práci zdržován. Dlouhotrvající úlohy na pozadí se snadno implementují jako služby (Service), které s uživatelem komunikují pomocí notifikací (v našem případě notifikací s progressbarem pomocí RemoteView). Služba přijímá synchronizační požadavky od různých aktivit a posílá je worker-threadu, který provádí samotnou komunikaci se serverem. Je třeba myslet na to, že služba, podobně jako aktivita, může být kdykoliv systémem odstřelena, je proto výhodné ukládat si někam mezistavy komunikace, aby se vždy nemuselo začínat úplně od začátku. Nám se osvědčilo (kvůli rychlosti, jednoduchosti a spolehlivosti) ukládat metadata o synchronizaci jako Serializable objekty přímo přes ObjectStream do paměti telefonu.

Synchronizaci ze serveru na klienta provádíme jako blokující operaci. Uživatel v té chvíli nemůže s aplikací nic dělat a musí počkat, než synchronizace skončí. V takovém případě, kdy synchronizace probíhá pomocí aktivity, je třeba mít mechanizmus pro zastavení dlouhotrvající operace na pozadí při náhlém ukončení aktivity. Aby se nestalo, že synchronizace probíhá, aktivita skončí a znovu se spustí a spustí se druhá synchronizace, která bude s první kolidovat.

Dlouho nabíhající GPS

Vkládání nového článku, které na pozadí zjišťuje aktuální pozici.

Vkládání nového článku, které na pozadí zjišťuje aktuální pozici.

Taky se vám nelíbí, kolik času potřebuje k inicializaci GPSka, než vám dá správnou pozici? Klasické řešení, kdy se LocationListener registruje na onResume a deregistruje na onPause aktivity, trpí tím, že v aktivitě samotné nestrávíte tolik času, aby se získala GPS pozice. Můžete si všimnout, když píšete v OnTheRoad nový článek, že gpska hledá vaši pozici, i když zrovna pracujete v jiné aktivitě (například vybíráte další obrázek nebo video), a má tak dost času pozici nepřerušovaně najít, než článek celý napíšete. Řešení spočívá v tom, že necháte listenery registrované ještě chvíli po zavolání onPause. Nesmíte při tom ale zapomenout, že onPause může být taky poslední callback zavolaný systémem a že po něm může aktivita zrovna skončit.

Foťák kamenem úrazu

Pokud pouzijete k foceni standardní foťákovou aktivitu, dostanete fotky velikosti pouze zhruba 500×300 pixelů, dokonce i když aktivitě podstrčíte url, kam má fotku uložit. Takové rozlišení je i pro webovou prezentaci příliš málo.  Chyba byla již v Android 1.1. a existuje i v Android 1.5. Nezbývá tedy nic jiného, než si napsat aktivitu pro focení vlastní, což není nic jednoduchého, pokud chcete správně pracovat například se zaostřováním a změnami orientace. Tady by měli kluci z Googlu trochu máknout.

Závěrem

Děkujeme všem, kteří aplikaci již vyzkoušeli a napsali nám feedback. Pokud budete aplikaci zkoušet a budete nám chtít dát vědět, co se vám líbilo a nelíbilo, můžete tady v komentářích pod článkem, nebo na android fóru.

Přidat první komentář
Články
« Older Posts