Helymeghatározás Hol vagyok a világban?
Miről lesz mostanában szó? Módszerek Hálózati információk GPS és hálózat alapján Proximity események Google Geo API Térkép nézet Diploma tippek
Általánosságban Elvárt szolgáltatás Legtöbb készülékben van GPS Gyors és pontos (hétköznapi használatra) Módszerek: GPS Mobilhálózat alapú WIFI adatbázis alapú
Helyfüggés kihasználása Telefon mindig nálunk Tudhatjuk hol vagyunk Használjuk ki ezt az információt! Közeli helyek Navigáció Előre kitölthető elemek Szórakozás: Geocaching, Guide Társkeresés: Tinder
A mérleg két oldala Pontosság (GPS vs. hálózat alapú) Érdemes ellenőrizni a pontosságot És az időbélyeget Energiafogyasztás Pozíció frissítés gyakorisága Sikertelen frissítés esetén milyen gyakorisággal próbáljuk újra? Új pozíció esetén milyen műveleteket hajtunk végre?
WIFI alapú helymeghatározás WiFi Access Point adatbázis Keresés SSID MAC cím Jelerősség alapján Adatbázis pl. http://openbmap.org/api/ getgpsfromwifi.html
Cella alapú helymeghatározás Aktuális cella azonosító és környező cella azonosítók lekérdezése Jelerősség Háromszögelés Cella adatbázisok http://opencellid.org/ http://www.openbmap.org/
Cella központok a környéken
Háromszögelés feladat! public Point holvagyoken(list<torony>) ; Ahol a Torony osztálynak van X, Y koordinátája Iránya fokban Távolsága Milyen megoldási javaslatok vannak?
GPS alapokon 24 műhold tervezve (MEO) Valójában több lett 31 Vevő kicsi, így kis eszközökbe is beépíthető Sugárzott információ: Idő Műhold pozíció Rendszerállapot Becsült pozíció
GPS alapú helyzetmeghatározás A jel közel fénysebességű A vevő az érkezési idő felhasználásával számolja a pozíciót 3 műholdra elég rálátni, ha nanosec pontosságú az időbélyeg (nem az) 4 műholddal már hétköznapibb órák segítségével is működik a dolog
Android rendszerszolgáltatások Rendszertől elkérhető szolgáltatások Használtunk már ilyet többször is :) getsystemservice( ) Context.NOTIFICATION_SERVICE Context.ALARM_SERVICE Context.LOCATION_SERVICE Context.TELEPHONY_SERVICE LocationManager lm = (LocationManager) getsystemservice(context.location_service)
Diplomatippek Célszerű részek: Bevezetés, Tervezés, Megvalósítás, Összegzés Kifejezések, Felhasznált Irodalmak jegyzéke Idegen vs magyar szavak használata Egyes vagy többes első személy Forma Munka vs dokumentáció haladás
Telefónia szolgáltatás Cella állapot (CellID, LAC) Szomszédos cellák, és azok infói Cella pozíció Hálózati operátor neve IMEI Telefonesemények Engedélyek (AndroidManifest.xml)!!!
Pozíció meghatározás GPS, mobil és Wifi is adhat egyidőben Pontosság sebesség Folyamatos mozgás Pozíciók frissessége - pontossága
Location API Callback függvények itten is LocationManager locationmanager = (LocationManager) getsystemservice(context.location_servi CE); Folyamatos frissítés kérése locationmanager.requestlocationupdates(locati onmanager.network_provider, 0, 0, locationlistener);
Location API 2 requestlocationupdates paraméterei Provider típus (GPS, hálózat) Minimum idő 2 frissítés között Minimum távolság LocationListener interface implementációja LocationListener onlocationchanged onstatuschanged onproviderenabled onproviderdisabled
Location API, ha végeztünk removeupdates(...) Ha már nincs szükség további pozíció frissítésekre Tipikusan onpause, ondestroy... locationmanager.removeupdates(lo cationlistener)
Location API, mielőtt elkezdjük Manifest fájlba engedélyköteles <uses-permission android:name= android.permission.access_fin E_LOCATION /> ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION
Proximity Alertek Jelzés helyszín közelségére Gyakran szükség lehet rá Intelligensen választ providert Kelleni fog: Koordináta, sugár, amin belül jelezni kell PendingIntent, amit el lehet tüzelni, mint bekövetkezett esemény Lejárhat (timeout)
Ennyit mára. http://erdekes.herokuapp.com gyulavari.adam+petrik@gmail.com