ANDROID ALKALMAZÁSFEJLESZTÉS

Hasonló dokumentumok
Adattárolás Szenzorok

Szenzorok megismerése Érzékelők használata

Helymeghatározás. Hol vagyok a világban?

Overview. Service. Application Activity Activity 2 Activity 3. Fragment. Fragment. Fragment. Frag ment. Fragment. Broadcast Receiver

Intelligens közlekedési rendszerek (ITS)

Android Wear programozás. Nyitrai István

ANDROID ALKALMAZÁSFEJLESZTÉS

Deep Learning a gyakorlatban Python és LUA alapon Felhasználói viselkedés modellezés

iphone programozás alapjai IV. Gyakorlat

ANDROID ALKALMAZÁSFEJLESZTÉS

ANDROID ALKALMAZÁSFEJLESZTÉS


ANDROID ALKALMAZÁS FEJLESZTÉS

Broadcast Service Widget

VMD960 MB. Digitális video mozgásérzékelő Egycsatornás verzió. Jellemzői

Google Maps használata Alternatív térképek

GPS mérési jegyz könyv

Szálkezelés Rajzolás képernyőre Bevitel kezelése - Érintő képernyő - Billentyűzet

I. 288.: Utcai WiFi térkép

iphone programozás alapjai

ROVER. Felhasználói kézikönyv V 1.0

ANDROID ALKALMAZÁSFEJLESZTÉS

Google Maps használata OSM, mint alternatív térkép

Újdonságok a Google műhelyéből. Péter Ekler

Mobil Informatikai Rendszerek

UI megismerése - 2. rész Adattárolás

Szálkezelés Rajzolás képernyőre Bevitel kezelése - Érintő képernyő - Billentyűzet

Android Pie újdonságai

Google Maps V2. OpenStreetMap, Mapsforge

UI megismerése, különböző felbontások támogatása, használati jogok kérése

ANDROID ALKALMAZÁSFEJLESZTÉS

ANDROID ALKALMAZÁSFEJLESZTÉS

Felhasználói kézikönyv

Kiterjesztett valóság (Augmented Reality) alkalmazási lehetősége a villamosenergia iparban

MINERVA TÉRINFORMATIKAI RENDSZER

Irányító és kommunikációs rendszerek III. Előadás 13

Üzemanyagfogyasztást becslő rendszer fejlesztése mobilapplikációval BARTA TAMÁS (EWGO7V)

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Optimalizálás Hatékony alkalmazás Androidra

Gyors felszerelési útmutató

1/9. Sunell IP kamerák webes felületének használati útmutatója. Élő kép (Live Video)

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Kulcsár Attila. A második szint GeoCalc GIS 2. GISopen 2012 konfrencia.

Szoftvertechnológia alapjai Java előadások

ANDROID ALKALMAZÁSFEJLESZTÉS

SWS 500 HU FELHASZNÁLÓI KÉZIKÖNYV. Megjegyzés: A mobiltelefon nem tartozék.

Android Commander Felhasználói kézikönyv

Smart Strategic Planner

Mobilalkalmazás fejlesztés. Android I. előadás

HecPoll a vezérlő rendszer

READy Suite: mobil és fix kiolvasó hálózat fogyasztásmérőkhöz

Szoftverfejlesztés a Google Android OS-re (Android 3.0, API level 11)

VIDEÓ INTERNET PROTOKOLL VIP RENDSZER

REM Trade Hungary Kft. Budapest III.1036 Lajos utca 129.

Mobil Informatikai Rendszerek

Pályázat a terep-rallye szakágban alkalmazandó GPS alapú,on-line nyomkövető rendszerre FELOLVASÓ LAP

Gyakorlatok. VITMMA09 Okos város MSc mellékspecializáció

libgdx alapú program létrehozása, kép importálása, mozgatása libgdx alapok Android játékfejlesztés Soós András

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

REM Trade Hungary Kft. Budapest III.1036 Lajos utca 129.

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

3D-s technológiák a játékfejlesztésben UDK bevezetés

RTCM alapú VITEL transzformáció felhasználó oldali beállítása Trimble Survey Controller szoftver használata esetén

Mobil Informatikai Rendszerek

Erőforrás gazdálkodás a bevetésirányításban

A GNSS SZOLGÁLTAT LTATÓ. Mnyerczán András FÖMI Kozmikus Geodéziai Obszervatórium. GIS Open, 2007 március 12, Székesfehérvár

Legújabb technológiai fejlesztések a Leica Geosystems-től

Használati utasítás. D12 Wifi termosztát padló és levegőszondával. DIMAT KFT Pécs Pósa Lajos u

Android alapok. Android játékfejlesztés

BT-R820 Használati utasítás BT-R820 Wireless GPS Egység Használati utasítás Dátum: Szeptember, 2006 Verzió: 1.1

Vezeték nélküli hálózat tervezése és méréstechnikája Ekahau Wi-Fi mérések

Felhasználói kézikönyv

Túl szűk vagy éppen túl tágas terek 3D-szkennelése a Geodézia Zrt.-nél Stenzel Sándor - Geodézia Zrt. MFTTT 31. Vándorgyűlés, Szekszárd

Vodafone-os beállítások Android operációs rendszer esetében

GNSS, Android OS és Felhő

EDUROAM wifi beállítás

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

Adatbázis rendszerek 7. előadás State of the art

Leica Geosystems. Építőipari Viszonteladói Nap

Weboldalak fejlesztése mobil eszközökre

Kommunikáció Androidon GSM hívás SMS küldés, fogadás Bluetooth NFC USB

KÖZPONTI OKOSHÁLÓZATI MINTAPROJEKT

Mobil helymeghatározás. Zsiborás Attila

KML Keyhole Markup Language

Rövid útmutató P2P IP kamerákhoz

UJJLENYOMAT OLVASÓ. Kezelői Kézikönyv

S2302RF vezeték nélküli programozható digitális szobatermosztát

Foscam kamera szett: FN3108XE-B4-1T - 4 x 1Mp, 1TB HDD, saját PoE - KIFUTOTT, NEM ELÉRHETŐ

Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0

1 lakásos Felületre szerelhető Kártyaolvasó nélkül. 2 lakásos Felületre szerelhető Kártyaolvasó nélkül DT607-ID-FE-S1. 1 lakásos

Kulcsár Attila. GisOpen Térbeli adatbázisok gyakorlati szemmel GeoCalc GIS. GisOpen 2009 Konferencia

Az ÚJ Leica DISTO X-range

HÁLÓZATI BEÁLLÍTÁS. Videorögzítőkhöz

Zimbra levelező rendszer

Pozícióinformáció. Sikeres helyfüggő szolgáltatások mobilra

GOKI GQ-8505A 4 CSATORNÁS KÉPOSZTÓ. Felhasználói kézikönyv

Routing Útnyilvántartás iphone-hoz Felhasználói kézikönyv 2013 Bensoft

BusEye online személyre szabott utastájékoztató mobil alkalmazás fejlesztése

Mobiltelefon szenzorainak méréstechnikai alkalmazása

Átírás:

ANDROID ALKALMAZÁSFEJLESZTÉS Szenzorok, GPS helymeghatározás sicz- m e s z i a r. j a n o s @ n i k. u n i - o b u d a. h u Sicz-Mesziár János 2016. március 28.

Szenzorok Androidon Mozgásérzékelők Pozíciós szenzorok Környezeti szenzorok Accelerometer Hardware Mozgás detektálás(shake, tilt, ) Gravity Hardware/Software Mozgás detektálás (shake, tilt, ) Gyroscope Hardware Forgás detektálása (spin, turn, ) Linear acceleration Hardware/Software Gyorsulás adott tengely mentén Rotation vector Hardware/Software Mozgás és forgás detektálás Tipikus felhasználás Magnetic field Hardware Iránytű Orientation Software Eszköz helyzetének meghatározása Proximity Hardware Telefon helyzete a hívás alatt Ambient temperature Hardware Környezeti hőmérséklet mérése Light Hardware Háttérvilágítás szabályzása Pressure Hardware Légnyomás változás figyelése Relative humidity Hardware Abszolút, relatív páratartalom Temperature Hardware Belső, eszköz hőmérséklet 2

Tudni érdemes 3 Szenzor támogatás gyártó és Android verzió függő http://developer.android.com/guide/topics/sensors/sensors_overview.html Koordináta rendszer 3 tengelyű koordináta rendszer. (X, Y, Z) Portrai mód az alapértelmezett. Landscape: a koordinátarendszer nem fordul el. (hasonlóan az OpenGL koordináta rendszerhez) De forgatható: SensorManager.remapCoordinateSystem()

Tudni érdemes (2) 4 Az emulátor nem támogatja a szenzorok emulálását! De van alternatíva OpenIntents SensorSimulator http://code.google.com/p/openintents/wiki/sensorsimulator Mintavételezés és áramfelvétel HTC Dream esetén SENSOR_DELAY_NORMAL SENSOR_DELAY_UI SENSOR_DELAY_GAME SENSOR_DELAY_FASTEST Az adat egy float[] tömben érkezik values[0] values[1] values[2] Kamera, mikrofon, touchscreen is szenzor, csak másképpen kezeljük. Ajánlott videó a szenzorokkal kapcsolatban: http://www.youtube.com/watch?v=c7jq7rpwn2k

Szenzorok elérése a gyakorlatban 5 Jogosultság kérése ebben az esetben nem szükséges. SensorManager példányosítása: SensorManager manager = (SensorManager)getSystemService(SENSOR_SERVICE); SensorEventListener implementálása: SensorEventListener listener = new SensorEventListener(){ public void onsensorchanged(sensorevent event){} public void onaccuracychanged(sensor s, int a){} }; Feliratkozás a szenzor adatokra manager.registerlistener( listener, manager.getdefaultsensor(sensor.type_proximity), SensorManager.SENSOR_DELAY_FASTEST );

GPS

Helymeghatározás Android alatt 7 Adatok forrása: An Android phone always knows where it is. GPS : legpontosabb, de csak kültéren használható, nagyobb fogyasztás, lassú információszerzés (mint ahogy felhasználó szeretné) Hálózati információk alapján (Wi-Fi, Cell-ID) : kevésbé pontos, kültéri és beltéri használat, gyors információszerzés, kevesebb fogyasztás Ed Burnette Hello, Android

Nehézségek 8 Felhasználó helymeghatározásában rejlő nehézségek: Felhasználó mozgásban (gyakori mérés kell) Változó pontosság: Lehet, hogy a 10mp-el korábbi adat pontosabb, mint az új adatból származó becslés Van-e GPS a készülékben? Be van-e kapcsolva? Elérhető-e adat? Elég pontos-e? Pozíció meghatározásának ideje Google I/O 2009: Fogyasztás?

Helymeghatározás a gyakorlatban 9 1. Jogosultság kérése: AndroidManifest.xml / Permissions android.permission.access_fine_location android.permission.access_coarse_location android.permission.access_mock_location 2. LocationManager elérése LocationManager locationmanager = (LocationManager)getSystemService(LOCATION_SERVICE); 3. LocationListener definiálása LocationListener mylistener = new LocationListener() { public void onstatuschanged(...){} GPS status változik public void onproviderenabled(...){} Szolgáltatás elérhető public void onproviderdisabled(...){} Szolgáltatás nem elérhető public void onlocationchanged(...){} Pozíció változik }; 4. A mylistener regisztrálása Pontos adatok Közelítő adatok Hamis adatok - emulátorhoz locationmanager.requestlocationupdates( LocationManager.GPS_PROVIDER, 0, 0, mylistener);

GPS adatok szimulálása 10

További érdekes adatok 11 A felhasználó szeretne gyorsan pozíciót kapni, ezért lekérhető az utoljára ismert helyzete: locationmanager.getlastknowlocation(); Két pont közötti távolság: Location.distanceTo(Location dest); Szatellit információk GpsStatus.Listener megvalósítása: public void ongpsstatuschanged(int event){ switch(event){ case GpsStatus.GPS_EVENT_FIRST_FIX: break; case GpsStatus.GPS_EVENT_STARTED: break; case GpsStatus.GPS_EVENT_STOPPED: break; case GpsStatus.GPS_EVENT_SATELLITE_STATUS: GpsStatus status = locmanager.getgpsstatus(null); for(gpssatellite sat:status.getsatellites()){ /**/ } break; } } WGS84 ellipszoid támogatás locmanager.addgpsstatuslistener(new GpsStatus.Listener(){ });

NMEA nyersadatok 12 ASCII alapú adatközlés, szabványos mondatok formájában: $ jellel kezdődnek Ezt követi a küldő fél + mondat típusa Adatok vesszővel vannak elszeparálva * jelzi az utolsó értéket, utána checksum (XOR) Gyakorlatban: locationmanager.addnmealistener( new NmeaListener(){ public void onnmeareceived(long t, String nmea){ Log.d("NIK", nmea); } } ); $GPGLL,4916.45,N,12311.12,W,225444,A,*1D

Proximity Alert 13 Közelségi riasztás,!= proximity sensor Jelzés, ha az adott pozícióhoz megadott rádiuszon belülre / kívülre kerülünk. Jelzés Intent kibocsátása Extra data (KEY_PROXIMITY_ENTERING) Boolean típusú: True: belép a területre False: kilép a területről Energiatakarékos!: Kellően nagy távolság esetén csak a hálózat adataira épít. Kis távolság esetén automatikusan GPS-re vált. Lekapcsolt képernyő esetén, csak 4 percenként ellenőriz.

Fájl formátumok 14 GPX - GPS exchange file XML alapú adattárolás Egyéni értékekkel is bővíthető KML - Keyhole Markup Language file XML alapú formátum Pontok, vonalak, képek, sokszögek és megjelenítési modellek tárolására és modellezésére találták ki KMZ a KML tömörített formátuma CSV Comma-separated values TCX - Training Center XML Garmin szabványa, hasonló, mint a GPX Tárol aktív sportolói életben szokásos jellemzőket is, mint: szívverés, kalória, kerékpárnál fordulat/perc,

Location APIs 15 A Google Play Services része: https://developer.android.com/google/play-services/location.html Fused location provider Továbbfejlesztett helymeghatározás, egyszerűbb API, azonnali hozzáférés az utolsó pozícióhoz, Activity Recognitaion fizikai tevékenységek detektálása, mint például áll, gyalogol, fut, vezet, kerékpár, + egyéni mozgás minták alkalmazása Geofencig APIs kijelölt területre való belépés és kilépés detektálása