Jednoduchý klient pro FourSquare na Windows Mobile

Tomáš Herceg       22.04.2010       Offtopic       11291 zobrazení

Nedávno jsem někde něco četl o FourSquare a docela mě ta služba zaujala. Ne proto, že bych měl potřebu nějak šířit, kde právě jsem a co dělám (resp. co mě zase sere), protože na to mám Twitter. Jen tak z čiré zvědavosti jsem si tam založil account s tím, že když někam půjdu, udělám check in.

Bohužel od té doby jsem udělal jeden check in a víc nic. Proč? Jednak moc nikam nechodím, druhak když někam jdu, dost často si nevzpomenu dát to na FourSquare. Největším problémem byla ale nedostupnoust klienta pro Windows Mobile. Existuje sice aplikace WinMoSquare, ale ta mi velmi nevyhovuje z několika důvodů.

Požaduje GPS a neumí si zjistit polohu z mobilní sítě. To je velmi nepříjemné, protože málokdy se mám čas a můžu lítat a honit satelity. Navíc to má větší spotřebu baterie.

Dalším problémem je GUI. Než se aplikace spustí a já mohu něco udělat, musím si prohlídnout asi 15 sekund animace a úvodní obrazovky. Proboha a sakra proč? Ovládání té aplikace je přizpůsobeno pro patlání na displeji, samé animace, které zdržují, no hrůza. Takhle by se aplikace dělat neměly. Když už vlastní vzhledy a animace, tak tak, aby to nerušilo a aby to bylo rychlé. Jinak je to cesta do pekel.

WinMoSquare mi tedy nevyhovoval a když jsem nedávno zjišťoval, jak vykopat z ID buňky mobilní sítě GPS pozici, našel jsem článek Learn How to Find GPS Location on Any SmartPhone, and Then Make it Relevant na CodeProjectu.

A tak jsem dnes asi v jednu hodinu odpoledne sednul k Visual Studiu, vykopal pár tříd z výše uvedeného článku a udělal jednoduché GUI. Celkem to zabralo něco málo přes 2 hodiny i s napsáním tohoto článku. Není to vzor elegance, zvláště třídy, které pracují s mobilní sítí a GPS by zasloužily dost refaktoringu (nechal jsem je tak, jak jsou, jen je použil), rozhodně by aplikaci neškodil robustnější návrh atd.

Ale základní funkcionalitu, kterou chci a která mi stačí, to nějak umí. Seznam naposledy navštívených míst (abych mohl dělat check in na oblíbených místech i bez chytání polohy), nalezení polohy dle mobilní buňky a zobrazení zajímavých míst poblíž. Neztrácel jsem čas s implementací nějakých odznaků, starostů, diskusí u míst a já nevím čeho všeho ještě, to si můžu prohlédnout na webu, když na to budu mít čas. Neumí to přidávání nových míst, ale to také nebudu dělat nijak často. Heslo se posílá po síti v plaintextu (je tam jen basic authentication), ukládá se také nešifrované. Je to opravdu jen triviální a velmi rychlá implementace.

Naposledy navštívená místa Místa v nejbližším okolí Check In

Aplikace vyžaduje .NET Compact Framework 3.5 a testoval jsem ji jen na svém zařízení s rozlišením 480x640. Na jiných nevím, jak to bude vypadat a fungovat.

Pokud má někdo o tuto aplikaci (polotovar, nedodělek, open source) zájem, můžete si ji stáhnout následujícím odkazem. Pokud byste měli zájem doimplementovat do ní nějaké další funkce, můžete to zkusit. V nejbližších dnech ji dám na CodePlex, takže o úpravy se budete moci podělit.

Pokud nechcete zdrojové kódy, ale jen aplikaci, zkopírujte si obsah složky Bin\Debug do adresáře na kartě nebo v Program Files a vytvořte si ve Start Menu odkaz.

 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Diskuse: Jednoduchý klient pro FourSquare na Windows Mobile

Ahoj,

zkoušel jsem tvoji aplikaci na HTC HD2. Hned po startu (ještě před přihlášením) vypisuje chybu:

NullReferenceException

v

MobileSquare.MainForm.get_CurrentPositon()

...

Pokud máš zájem, můžu poslat celou chybu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Jednoduchý klient pro FourSquare na Windows Mobile

V článku je překlep na webové adrese hned v prvním odkazu. Má tam být http://foursquare.com/

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Diskuse: Jednoduchý klient pro FourSquare na Windows Mobile

Ahoj, tak jsem teda stáhl aplikaci a použil jsem jen Debug adresář, jenž jsem šoupnul na Internal Storage (vestavěnou paměť) v Diamondu (WM 6.1 professional, jakejsi image). Po spuštění mi to hodilo výjimku NullReferenceException v několika funkcích (namátkou get_CurrentPosition(), get_HasPosition(), timer1_Tick(Object Sender, EventArgs e) a dalších nejspíš systémových funkcích. Vypadá to tedy na GPS problém, jinde mi GPS volání funguje.

Nechci si sem instalovat prostředí, abych to kompiloval, píšu to jen jako ticker do buglistu. V podstatě tomu ani nemusíš věnovat pozornost, ale pokud by se ti to chtělo opravit nebo tak něco, tak by to bylo fajn.

Resp. asi by mi stačilo porazení nějakého opravdu lehkého kompilátoru třeba do příkazový řádky nebo tak něco, ať nemusím instalovat celý prostředí.

Jirka

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Máš tam .NET Compact Framework 3.5? http://www.microsoft.com/downloads/detai...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ju, dokonce jsem to ted zkoušel i znova instalovat. taky mi to je divný.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak v tom případě je to asi chyba v aplikaci, mrknu, čím by to mohlo být.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dík, pač ta aplikace od toho ... nevím ... je dost na prd. A na mobilní webový verzi je to otrava. :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Jednoduchý klient pro FourSquare na Windows Mobile

Nemáš na sledování tvého pohybu lepší google latitude?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já ho nechci sledovat permanentně, ale jenom když řeknu, že jsem právě tady. Navíc FourSquare je spíš databáze hospod a restaurací :-).

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback