GSM alapú helymeghatározó alkalmazás készítése Android környezetben. Maczák Balázs Mérnök Informatikus MSc

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "GSM alapú helymeghatározó alkalmazás készítése Android környezetben. Maczák Balázs Mérnök Informatikus MSc"

Átírás

1 GSM alapú helymeghatározó alkalmazás készítése Android környezetben Maczák Balázs Mérnök Informatikus MSc Témavezető: Tihanyi Attila 2012

2 Nyilatkozat Alulírott Maczák Balázs, a Pázmány Péter Katolikus Egyetem Információs Technológiai Karának hallgatója kijelentem, hogy ezt a szakdolgozatot meg nem engedett segítség nélkül, saját magam készítettem, és a diplomamunkában csak a megadott forrásokat használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen a forrás megadásával megjelöltem. Ezt a Szakdolgozatot más szakon még nem nyújtottam be.... Maczák Balázs 2

3 1. Tartalom Nyilatkozat...2 Tartalmi összefoglaló Abstract Bevezetés Helymeghatározás Módszerek GPS alapú helymeghatározás [1] Leszármazott autonóm helymeghatározás GSM alapú helymeghatározás Helymeghatározás a szolgáltató által GSM alapú helymeghatározás Cella ID segítségével Helymeghatározás ívmetszéssel [3] Helymeghatározás a háromszögelés elvével Helymeghatározás elve az észlelt időkülönbség mérése alapján A PPKE-ITK által kidolgozott megoldás [4] Korábbi eredmények Mérőalkalmazás A mérőalkalmazás struktúrája A program működése Az adatbázis A mért GSM adatok és a pozíció kapcsolatának vizsgálata korrelációs módszerekkel [6] Mérési adatok transzformációja metrikus térbe A mérési adatok korrelációjának meghatározása Eredmények értékelése A feladat leírása

4 7.1 Az Android rendszerről röviden Fejlesztés Android környezetben Android alkalmazások felépítése [7] Az Android rendszerben hozzáférhető GSM adatok A helymeghatározó modul implementálása A fejlesztés során használt tervezési minták [9] Template method Facade Bridge Observer A kész modul felépítése GmsLocationChangedListener GsmLocationRanger GsmLocationProvider GsmLocationManager A modult használó tesztalkalmazás Problémák, további feladatok Továbbfejlesztési lehetőségek Konklúzió Függelék A tesztalkalmazás Activity-jének forráskódja Rövidítések jegyzéke Felhasznált irodalom

5 Tartalmi összefoglaló Korunk fejlett technológiájának köszönhetően egyre elterjedtebbek az olyan alkalmazások, rendszerek, amelyek valamilyen módon egy mobil készülék pozíciójának meghatározására épülnek. A legelterjedtebb módszer a GPS (Global Positioning System), mely a föld körül keringő 24 műhold segítségével, a műholdaktól való távolság alapján végzi a helymeghatározást. Ez a rendszer valóban hibátlanul működik abban az esetben, ha a Föld körül keringő műholdak láthatók. Ellenkező esetben viszont (például beltéren, esetleg szűk utcákban) a műholdaktól való távolság ismeretének hiányában a GPS alapú helymeghatározás sem lehetséges. Erre a problémára kívánunk megoldást nyújtani egy alternatív helymeghatározási lehetőséggel, mely nem a GPS műholdakra, hanem a GSM (Global System for Mobile Communications) adótornyokra épít, így ugyanúgy működik, akár kültéren van a készülék, akár beltéren. Korábbi években az én feladatom volt egy olyan Android mérőalkalmazás készítése, mely képes egy terület a helymeghatározás számára releváns adatainak rögzítésére. Az elmúlt egy évben arra kerestem a választ, hogy a mérőalkalmazás által rögzített adatokból milyen módszerrel, és mekkora pontossággal nyerhetők ki a pozícióra vonatkozó információk. Jelen dolgozatban ismertetem az elkészült rendszert (mérő- és helymeghatározó alkalmazás) külön tekintettel e féléves munkámra, valamint egy tesztalkalmazáson keresztül bemutatom az elért eredményeket. 5

6 2. Abstract Due to recent developed technologies, such softwares and systems which are built to appoint the position of a device are getting more and more prevalent. The most prevalent method for localisation is GPS (Global Positioning System) which with the help of 24 earth satellites, calculates the position by the distance from the satellites. This system does really work perfectly in that case when the earth satellites are visible. Otherwise, like in narrow streets or indoor, in the lack of knowing the distance from the satellites, the GPS localisation is not possible. We would like to give a solution for this problem by an alternative localisational possibility. It is based on GSM cell towers instead of GPS satellites so it works in the same way no matter we are indoor or outdoor. In the past few years I was working on an Android application that is able to record the GSM data of a selected area needed for the GSM based localisation. Int he last year I tried to find out the method, and the accuracy the position can be calculated with from the collected data. In this paper I would like to introduce the system (consists of a collector- and a positioning application) especially the work of this year, and throu a test application I would like to present the results. 6

7 3. Bevezetés Az Egyetemen régebb óta folyik egy kutatási project az alternatív helymeghatározási módszerekkel, mint például a GSM alapú rendszer. Az én feladatom a továbbfejlesztéssel kapcsolatban: Az eddigi helymeghatározási módszerek összefoglalása, valamint ezen keresztül annak bemutatása, hogy a GSM alapú helymeghatározástól milyen tulajdonságok várhatók Az összefoglalás felhasználásával a szükséges, valamint az Android rendszerben elérhető adatok körének meghatározása Annak leírása, hogy a GSM alapú helymeghatározási technológia mely esetekben alkalmazható Alkalmazás készítése, mely alkalmas egy terület GSM adatainak rögzítésére, valamint adatbázisba helyezésére a meglévő adatmodellek használatával Korrelációs módszerrel a GSM adatok és a pozíció kapcsolatának vizsgálata Feladataim ebben a szemeszterben: Metrika meghatározása a mért GSM adatok halmazán Helymeghatározó modul készítése szem előtt tartva a hordozhatóság és újra felhasználhatóság elvét Az elkészült modulhoz tesztalkalmazás készítése, mely képes az eredmények térképen való megjelenítésére 7

8 4. Helymeghatározás A technológia fejlődésének köszönhetően egyre elterjedtebbé válnak az olyan szolgáltatások, alkalmazások, melyek valamilyen módon vagy a saját, vagy mások pozíciójának ismeretén alapulnak. Gondoljunk például egy autóban a GPS alapú navigációs segédeszközre, vagy, hogy a Google Maps is mutatja a készülék pozícióját a megjelenített térképen. Ezek az alkalmazások mind-mind ugyanarra az alapvető kérdésre vezethetők vissza: hogyan tudjuk megmondani egy készülék helyzetét? 5. Módszerek A következő fejezetben ismertetném a helymeghatározásban eddig használt főbb megoldásokat, ezek előnyeit, illetve hiányosságait. 5.1 GPS alapú helymeghatározás [1] A ma használt talán legelterjedtebb helymeghatározási módszer a GPS. Ebben az esetben a helymeghatározás 24 db műhold segítségével történik, amiből egyszerre általában 7-12 látható. A műholdas helymeghatározó rendszer időmérésre visszavezetett távolságmérésen alapul. Mivel ismerjük a rádióhullámok terjedési sebességét, és a rádióhullám kibocsátásának és beérkezésének idejét, ezek alapján meghatározhatjuk a forrás távolságát. A háromdimenziós térben három ismert helyzetű ponttól mért távolság pontos ismeretében már meg tudjuk határozni a pozíciót. Ennek a módszernek a pontossága általában méteres nagyságrendben mozog, de léteznek olyan mérnöki felszerelések, melyek 0.5 cm es pontosságot is adnak, ám ezek a műszerek sem méretük, sem áruk miatt nem alkalmasak mindennapi használatra. A másik probléma a GPS rendszerrel, hogy mivel műholdakkal történő kommunikáción alapszik, beltéren, vagy szűk utcákban megbízhatatlan, vagy egyáltalán nem működik, ezen kívül használata speciális készüléket igényel, tekintve, hogy a telefonok többsége még nincs felszerelve az adott technológiához szükséges hardwareel. 8

9 5.2 Leszármazott autonóm helymeghatározás Ez a módszer a GPS alapú helymeghatározásra épít, de előnye vele szemben, hogy nem igényel folyamatos GPS jelet. Lényege, hogy a mobiltelefon kezdeti helyzetét meghatározzuk GPS rendszer segítségével, majd a későbbi pozíciókat a készülék maga számolja oly módon, hogy a kiindulási ponttól számítva folyamatosan méri a gyorsulásának nagyságát és irányát, amelyből a pontos eltelt idő ismeretében a sebesség, és abból az elmozdulás számolható. Nagy előnye, hogy a mobiltelefon akkor is képes a pozíciójának meghatározására, ha megszűnt a kapcsolata a GPS műholdakkal. 5.3 GSM alapú helymeghatározás Egy másik lehetséges megközelítése a helymeghatározásnak nem a GPS technológián alapul, hanem azokon az információkon, melyeknek minden telefon a birtokában van, mivel nélkülözhetetlenek a mobiltelefonos kommunikációhoz. 5.4 Helymeghatározás a szolgáltató által Néhány mobiltelefon-hálózat üzemeltető nyújt szolgáltatásokat helymeghatározásra, ám ez igen ritka, használata nehézkes, és ha el is érhető, igen drága. A Cell ID-hez hasonló technikán alapszik, de mivel a szolgáltató számára több információ áll rendelkezésre, valamivel pontosabb. 5.5 GSM alapú helymeghatározás Cella ID segítségével Ez a technológia kizárólag olyan információkon alapul, melyeknek minden mobiltelefon a birtokában van. Ebben az esetben azt használjuk ki, hogy a telefon mindig a hozzá legközelebb lévő toronyhoz van csatlakozva (persze ezen még lát több tornyot is), így pontosan tudjuk, hogy melyik cellában vagyunk. Egy ilyen cella mérete országonként változhat, Magyarországon az átlagos cellaméret 1191 m [2], de ez persze lakott területen jóval kisebb, és a forgalomsűrűség növekedésével szükségszerűen zsugorodik. Ezen kívül a szomszédos cellák figyelésével és követésével a pontosság tovább javítható (ez a tapasztalatok alapján nagyvárosban körülbelül 20 méteres pontosságot jelent)[1]. 9

10 5.6 Helymeghatározás ívmetszéssel [3] Ennek a módszernek a lényege, hogy ha meg tudjuk határozni a távolságunkat két adótoronytól, akkor a lehetséges pozíciónk kér körív mentén adódik, amelyek rendszerint két pontban metszik egymást. Ha ezek után vesszük a távolságunkat egy harmadik toronytól, akkor a helyzetünket egyértelműen meg tudjuk határozni igen jó közelítéssel. Az adótoronytól való távolság mérésére két alapvető módszert ismertetnék. 1. ábra: Az ívmetszés elve 10

11 1. Távolságmérés a vett jel szintje alapján A távolságmérés alapulhat a jel szintjén, mivel a jelszint a következőktől függ: az adó és a vevő távolságától az adó teljesítményétől az adóantenna nyereségétől iránykarakterisztikájától a vevőantenna nyereségétől a terjedést befolyásoló tényezőktől Városi környezetben a veszteség számítására használható az Okumura-Hata modell: Ahol: = Veszteség városi területen. Mértékegysége: decibel (db) = Adó antenna magassága. Mértékegysége: méter (m) = Vevő antenna magassága. Mértékegysége: méter (m) = Átviteli frekvencia. Mértékegysége: megahertz (MHz) = Antenna magasságának korrekciós faktora = Távolság az adó és a vevő között. Mértékegység: kilométer (km) Valamint kis városokban: Nagy városokban: 11

12 2. Távolságmérés a vett jel késleltetése alapján Abban az esetben, ha az adó és a vevő szinkronizált, a vett jel késleltetése az adó és a vevő távolságától függ (tegyük fel, hogy a terjedési sebesség ismert). GPS műholdak esetében a szinkronizált adó a műholdakon van, a vevő órája nem szinkronizált. Az ebből fakadó hibákat a négy műhold alapján számolt egyenletekkel küszöbölik ki. Elvben semmilyen akadálya nincs annak, hogy ugyanezen az elven telefonhálózatoknál is meg tudjuk határozni a távolságot például az alábbi módon: a mobiltelefon-készülék egy bázisállomás utasítására egy jelcsomagot küld ki, amely tartalmazza a küldés időpontját. A bázisállomás veszi a jelet és a küldési és beérkezési idő különbsége alapján jó közelítéssel számolni tudja a távolságot a készülék és maga között. A harmadik generációs (3G) mobil rendszerekben az ilyen elven működő helymeghatározások elterjedt nevei: AFLT Advanced Forward Link Trilateration EFLT Enhaced Forward Link Trilateration. Az, hogy egy adott esetben a felmenő vagy a lemenő irányú terjedés ideje alkalmasabb a helymeghatározásra, a műszaki kérdéseken kívül számos jogi és biztonságtechnikai megfontolás alapján dönthető el. 12

13 5.7 Helymeghatározás a háromszögelés elvével Ez a rádióállomások (például tipikusan a kalózadók) bemérésének hagyományos módszere. Működésének alapelve az, hogy különböző helyeken megmérik, hogy a keresett adó jele milyen irányból érkezik. Elméletben két mérési pont alapján már meghatározható az adó pozíciója oly módon, hogy a két mérőpontból képzeletben kibocsájtunk egy-egy egyenest a vett jel érkezési irányába, és ezek metszéspontja adja ki a keresett helyet. Természetesen a gyakorlatban itt is megjelenik egy bizonyos hibafaktor, ám ez több mérés készítésével csökkenthető. Több, egymás melletti vevőantennát antennavektorként használva, az iránymérés az időkülönbségek alapján oldható meg. 2. ábra: Helymeghatározás a vett rádiójelek alapján 13

14 5.8 Helymeghatározás elve az észlelt időkülönbség mérése alapján Abban az esetben, ha a bázisállomások órái szinkronizálva működnek, egy több adótól egyszerre elküldött jel beérkezési idejének időkülönbségei a bázisállomástól való távolságtól függenek. A mobiltelefon saját pontos, de nem szinkronizált órája alapján ugyanazt a jelsorozatot generálva korrelációs módszerrel azt tudja kellő pontossággal mérni, hogy különböző bázisállomásokról egyszerre küldött kódsorozatot milyen időeltéréssel veszi (T3-T1, T3-T2, T2-T1). A bázisállomások helye a hálózatüzemeltető számára ismert. Azok a pontok, amelyeknek távolságkülönbsége egy bázisállomás-pártól állandó, egy hiperbola mentén helyezkednek el. A mobilkészülék helye tehát a hiperbolák metszéspontjában van. 3. ábra: Helymeghatározás az észlelt időkülönbség mérése alapján 14

15 5.9 A PPKE-ITK által kidolgozott megoldás [4] A saját módszerünk lényege, hogy az alkalmazás várható helyének területén előzetes méréseket végzünk és ezeket a pozícióval együtt egy adatbázisban eltároljuk. Ezután ezen a területen a cellainformációkat lekérve az eredményeket összevetjük az adatbázisban letároltakkal, és megkapjuk az aktuális pozíciónkat. Ezzel a megközelítéssel természetesen nagyságrendekkel jobb pontosság érhető el, mint az online megoldások segítségével, ám előzetes mérést igényel. A rendszer már korábban kidolgozásra került Karunkon [5], elsőként egy laptop-ra csatolt USB-s GSM adó-vevő (Falcom Samba 75) és egy USB-s GPS vevő segítségével mértek, és határozták meg a pozíciót. Korábbi tanulmányaim során ennek a rendszernek a mintájára készítettem egy alkalmazást Android platformra, mely képes az Androidon elérhető, és a helymeghatározás szempontjából releváns adatok mérésére, és tárolására. 4. ábra: Korábbi mérőállomás (bal oldalon a Falcom Samba 75) 15

16 6. 6. Korábbi eredmények Korábbi tanulmányaim során a fent leírt módszer Android környezetében való alkalmazásával foglalkoztam. Elsőként egy merőalkalmazást készítettem, mely futása alatt másodpercenként készít méréseket az aktuális GPS és GSM adatokról, és ezeket egy SQLite adatbázisba helyezi. Következő lépésként korrelációs módszerrel vizsgáltam az alkalmazás által mért GSM adatok és az adott adatokhoz tartozó pozíció közti kapcsolatot. A következőkben ezeket ismertetném röviden. 6.1 Mérőalkalmazás A program megírása során törekedte arra, hogy a komponensei később könnyen újrafelhasználhatóak, struktúrája pedig könnyen érthető legyen, így ebben a félévben már lehetőségem volt a korábban megírt alkalmazáskomponensekre támaszkodni A mérőalkalmazás struktúrája A program fő komponensei a következők voltak: MenuActivity: egy Activity osztály, ezt látja elsőként a felhasználó, amikor elindítja a programot. LoggerActivity: színtén egy Activity, ez felel az adatok rögzítéséért, és adatbázisba helyezéséért. BrowserActivity: ezen keresztül van lehetősége a felhasználónak a már korábban rögzítésre került adatok megjelenítésére LogEntry: ez tartalmazza az egy adott pillanatban rögzített adatokat (GSM, GPS, idő, stb ) DBAdapter: az adatbázissal való kommunikáció ezen az osztályon keresztül valósítható meg, biztosítja a fontosabb adatbázis funkciókat MyCellInfo: ez tárolja egy időpillanatban mért GSM információit az kurrens toronynak MyLocationListener: ez az osztály értesül a GPS adatok változásáról, és megjegyzi azokat. Ezen kívül ez az osztály felel azért is, hogy az adatok rögzítése másodpercenként megtörténjen MyPhoneStateLisntener: ez az osztály értesül térerősség változásáról, és megjegyzi azt 16

17 A program osztályhierarchiája a következő képen látható: 5. ábra: A mérőalkalmazás osztálydiagramja A program két alapvető funkcióval rendelkezik: adatokat tud gyűjteni egy terület GSM adatairól, és azokat az SD kártyára képes menteni a meglévő adatbázis adatait képes megjeleníteni egy lista formájában. 17

18 6.1.2 A program működése Egy menüvel indul a program, ahol a felhasználó választhat, hogy melyik opciót kívánja használni. Amennyiben a Start logging funkcióra kattint, elkezdődik a terület adatainak rögzítése. Amennyiben a felhasználó megnyomja a készülék vissza gombját, az adatok mentésre kerülnek az adatbázisba. A Home gomb megnyomására a program nem áll meg, hanem a háttérben fut tovább. 6. ábra: A mérőalkalmazás működése mérés közben Az adatbázis tartalmának megjelenítése a következő módon történik: 7. ábra: A mérőalkalmazás működése a mért adatok listázása közben 18

19 6.1.3 Az adatbázis A program, mint azt már korábban írtam, a mért adatokat az SD kártyára menti le a mérés végén. Ez egy SQLite adatbázis, mely struktúrája a központi adatbázis leegyszerűsített változata (sok adat vagy nem elérhető, vagy irreleváns). A korreláció számolásához ezt az adatbázist használtam. Az alábbi ábrán látható a központi, valamint az SD kártyán található adatbázis diagramja: 8. ábra: Az adatbázis felépítése 19

20 6.2 A mért GSM adatok és a pozíció kapcsolatának vizsgálata korrelációs módszerekkel [6] A statisztikában a korreláció jelzi két tetszőleges érték közötti lineáris kapcsolat nagyságát és irányát (avagy ezek egymáshoz való viszonyát). Az általános statisztikai használat során a korreláció jelzi azt, hogy két tetszőleges érték nem független egymástól. Az ilyen széles körű használat során számos együttható, érték jellemzi a korrelációt, alkalmazkodva az adatok fajtájához. A korreláció a következőképp számolható: A gyakorlatban, és jelen esetünkben is nem álnak rendelkezésre az elméleti adatok, ezért az úgynevezett tapasztalati korreláció használható, melyet a következőképp számolunk: A megoldáson való munkám során a következő problémával szembesültem: a korrelációs módszer feltételezi, hogy metrikus téren dolgozunk, azaz definiálva van két elem távolsága. Esetünkben viszont ez nem igaz, tekintve, hogy az adatok nagy része (pl.: cella azonosító) úgynevezett nominális adatok. Emiatt, annak érdekében, hogy a korrelációs módszer alkalmazható legyen, meg kellett határoznom egy metrikát. 20

21 6.2.1 Mérési adatok transzformációja metrikus térbe Mint azt említettem, annak érdekében, hogy a korrelációs módszer alkalmazható legyen, elsőként szűkség van a mérési adatok transzformációjára. Ez egyrészt ahhoz kell, hogy a tapasztalati korrigált szórásnégyzetek, és a tapasztalati várható értékek számolhatóak legyenek, másrészt pedig, hogy az egyes mérési pontok távolságát meg tudjuk határozni ezektől az értékektől. Ehhez arra van szűkség, hogy az mérési ponthoz tartozó minden adat metrikus legyen. Ezt úgy oldottam meg, hogy minden mérési ponthoz a mérési sorozat során látott összes tornyot rögzítettem, ha az adott pontban az nem volt látható, akkor 0 jelerősséggel. Az így kapott adatok elhelyezhetőek egy többdimenziós térben, és a távolság a következőképp értelmezhető: ahol x és y a két mérési pont, k a mérési sorozat során látott tornyok száma, és pedig az i. cellaazonosítóhoz tartozó jelerősség az x, illetve y mérési pontban, vagy 0, ha az adott pontban az i. torony nem volt látható. A tapasztalati várható értékek ez alapján a következő módon számolható: Ahol száma, pontban. az i. cellaazonosítóhoz tartozó tapasztalati várható érték, N a mérési pontok pedig az i. cellaazonosítóhoz tartozó vétel oldali jelerőség a k. mérési Az így kapott értékekből konstruálható egy fiktív mérési pont, amely a mérési sorozat tapasztalati várható értéke lesz. 21

22 6.2.2 A mérési adatok korrelációjának meghatározása A korreláció alap esetben arra szolgál, hogy két adatsor közötti kapcsolatot tudjunk meghatározni. A módszernek létezik egy változata, mely egy adatsor és időben eltoltjának korrelációját adja meg. Ezt a módszert autokorrelációnak nevezik, és a következőképpen számolható: Ahol az i. mérési pont metrikus térbe való transzformáltja, N a mérési pontok száma, a mérési sorozat tapasztalati várható értéke, N a mérési pontok száma, t pedig azt jelöli, hogy hány időegységgel toltuk el az adatsort az autókorrelációhoz. Jelen esetben, ha a mérési sorozaton végzett autókorreláció eredményeképpen 1- et kapnánk, az azt jelentené, hogy a GSM adatok egy adott pozícióban teljes mértékben idő invariánsak, azaz nem változnak az idő függvényében. Ez természetes lehetetlen a külső behatások (időjárás, mozgó tárgyak, reflexió) miatt, de mindenesetre az lenne a GSM alapú helymeghatározási módszer számára a legoptimálisabb, ha a korrelációs számolás eredménye közel 1 lenne. Ezen kívül érdekes még az is, hogy az időeltolás mértékét növelve hogyan változik a korreláció mértéke. 22

23 6.2.3 Eredmények értékelése A fent leírt programot több időkülönbségre is lefuttattam, az eredményeket a kölünböző t értékekre az alábbi táblázat tartalmazza: t R(t) A fenti eredményekből kiolvasható, hogy az azonos pozícióhoz tartozó GSM adatok szoros összefüggésben vannak egymással. Ez azért bír nagy jelentőséggel, mert e nélkül a GSM alapú helymeghatározó módszer megbízhatatlan lenne. 23

24 Mivel a gyakorlatban a mérést felölelő időtartamnál jóval nagyobb különbség lesz a mérések, valamint a gyakorlati felhasználás között, ezért az eredmények értékei mellett annak is jelentősége van, hogy az időeltolás mértéke milyen összefüggésben van a korrelációval. Az alábbi diagramon láthatóak a korrelációs értékek az időeltolás mértékének függvényében: 9. ábra: Az autokorreláció alakulása az időkülönbség függvéynében A grafikon alapján az is megállapítható, hogy a korreláció az adatsor és eltoltja között nem csökken meghatározóan az időkülönbség növelésével. Ezek alapján kijelenthető, hogy az Egyetem által kifejlesztett módszer használható Android készülékeken az adatok időérzékenysége alapján. 24

25 7. A feladat leírása Az én feladatom egy mérőalkalmazás készítése volt Android telefonra, mely hordozhatóbb, mint a fent említett mérőrendszer, valamint olyan szempontból is előnyösebb, hogy ez esetben az adatok egyből egy, a későbbi végfelhasználó által használt készüléken vannak. 7.1 Az Android rendszerről röviden Az Android a Google vezetésével fejlesztett nyílt forráskódú Linux alapú mobil platform, mely mögé több tucat világhírű cég sorakozott fel. A fejlesztők reményei szerint ez a rendszer fogja meghatározni a jövőben a mobil telekommunikációt. A rendszer részesedése az okostelefon-platformok között kiemelkedő, fő hiányossága ahogy erre majd részletesebben ki is térek megegyezik fő erősségével: a fragmentáltsággal. Ez azt jelenti, hogy nyílt forráskódú operációs rendszer révén a készülékgyártó cégek zöld utat kaptak a platform használatára. Ez ezt eredményezi, hogy az elérhető készülékek terén a vásárlóknak jóval nagyobb választék áll a rendelkezésükre, mint például az iphone esetében, ám a különböző Android implementációk igen megnehezítik a fejlesztést. 7.2 Fejlesztés Android környezetben Android operációs rendszerre a fejlesztés történhet Java, vagy C++ nyelven. A Java nyelv használata esetén használható az alkalmazásfejlesztők számára készített eclipse-plugin, mely nagyban megkönnyíti az implementációs folyamatot. A rendszer fejlesztői a rendszerbe integráltak egy saját maguk által készített Java virtuális gépet (Dalvik). Regiszter alapú virtuális gépről van szó, így kevesebb helyet foglal, mint más virtuális gépek. Egyszerre több Dalvik példány is futhat egy készüléken, mégis hatékony marad. Minden Android alkalmazás saját DVM példánnyal rendelkezik. Java alapú programozási nyelvvel lehet fejleszteni, de nem teljesen Java, mivel sok asztali Java könyvtárra nincs szűkség egy telefonon, így az android-ból kihagytak néhány java package-et pl.: java.applet, java.beans,javax.rmi,javax.print. 25

26 Az Android rendszer maga több különböző szoftverfajta együttese: middlewareek, core-alkalmazások és maga az operációs rendszer. 10. ábra: Az Android rendszer architektúrája [6] Az Android operációs rendszer alapja egy Linux kernel, továbbá absztrakciós szint a hardware és a software között. Memória-, energia-, hálózat kezelés Driver modellek Linux v.2.6-os alapokon Az App framework tartalmaz minden olyan kódot, amire egy alkalmazás fejlesztése során szűkségünk lehet. Nagy szabadsággal rendelkezünk, ugyanazokat a forrásokat használjuk, mint a Google által fejlesztett alapértelmezett alkalmazások, le is lehet cserélni azokat, így saját arcunkra szabhatjuk a rendszert. 26

27 7.2.1 Android alkalmazások felépítése [7] Bár az Android alkalmazás implementálása általában Java nyelven történik, sokban eltér a szokványos Java alkalmazásoktól. A legfontosabb különbség talán az alkalmazások felépítésében van. Az Android rendszerben ugyani az alkalmazások nem alkotnak annyira jól elkülöníthető egységeket, mit a klasszikus értelemben vett szoftverek. Egy Android alkalmazásnak például nem csak egy belépési pontja van, hanem a fejlesztő tetszőlegeset definiálhat. Ez azt is jelenti, hogy egy Android alkalmazás nem rendelkezik main függvénnyel. Ehelyett kisebb komponensből épül fel, melyek, ha a fogadó fél engedi, akár alkalmazások között is képesek együttműködni (például lehetőségünk van az SMS alkalmazás elindítására a saját alkalmazásunkból is). Az Android alkalmazás alapvető építőelemei az úgynevezett alkalmazáskomponensek. Mindegyik az alkalmazás egy lehetséges belépési pontja. A felhasználó számára nem mindegyik funkcionál belépési pontként, de mindegyik külön, jól elkülöníthető szerepet játszik az alkalmazásban. Activity: Egy képernyőhöz tartozó felhasználói felület a mögötte lévő logikával (például: kliens esetében külön Activity-k: olvasása, írása, bejövő mappa, stb.). Egy külső alkalmazás elindíthatja az író Activity-t pl. megosztásra kattintva. Service: Háttérben futó folyamat falhasználó felület nélkül, általában egy Activity-ből vezéreljük (pl. zenelejátszó) Broadcast reciever: rendszer szintű üzenetekre lehet figyelni vele (pl. új sms) Content provider: Az alkalmazás megosztott adatainak kezelése (pl. névjegyzék) Intent: Olyan üzenet, mellyel az egyes komponensek egymás között tudnak kommunikálni, akár egy alkalmazáshoz tartoznak, akár nem. 27

28 7.2.2 Az Android rendszerben hozzáférhető GSM adatok A főcella esetében: o Cell ID (Cella azonosító) o LAC (Location Area Code) o MCC (Mobile Country Code) o MNC (Mobile Network Code) o RSSI (Received Signal Strength Indicator) A mellékcellák lehetnek GSM vagy CMDA típusúak is. Előbbi esetében az azonosítás a cellaazonosító alapján történik, utóbbinál az ún. Primary Scrambling Code használható erre a célra, ugyanis ebben az esetben a cellaazonosító -1.[8] o Cell ID GSM hálózat esetén a cellaazonosító, CMDA esetében pedig a PSC o RSSI o LAC o Type a következő értékeket veheti fel: GPRS EDGE HSDPA HSUPA HSPA 28

29 7.3 A helymeghatározó modul implementálása A következő fejezetben ismertetném a GSM alapú helymeghatározó modul implementációjának és működésének részleteit, a megoldás során alkalmazott tervezési mintákat, valamint a lehetséges és választott megoldási alternatívákat. Az implementáció során a fő hangsúlyt az újrafelhasználhatóságra és a hordozhatóságra fektettem, azaz igyekeztem a modult úgy megírni, hogy a későbbiekben a lehető legkönnyebb legyen a működés megváltoztatása az eredeti kód módosítása nélkül. Ezen kívül a tervezés során szem előtt tartottam azt is, hogy a felhasználó - vagyis a fejlesztő, aki a jövőben a modult kívánja használni elől a modul belső felépítése és logikája a lehető legnagyobb mértékben el legyen rejtve. Összefoglalva tehát célom az volt, hogy egy olyan modult készítsek, amelynek működése egyszerűen testre szabható a belső szerkezet és működés ismerete nélkül. Tanulmányaim, illetve munkám során azt tapasztaltam, hogy a legtöbb, gyakran előforduló kérdésre, és problémára a szoftveripar korábban már választ adott. Ezen tapasztalatokat, bevált módszereket hívjuk gyűjtőnéven programtervezési mintáknak. Az angolul csak Gang of Four vagy GoF-ként emlegetett Erich Gamma, Richard Helm, Ralph Johnson és John Vlissides programozó négyes a 90-es évek elején írta meg Programtervezési minták című könyvét, amely ma is alapjául szolgál az objektumorientált programozási minták kutatásának. Ez a könyv összesen 23 mintát mutat be, viselkedési minta, szerkezeti minta és létrehozási minta csoportokba sorolva őket. A szerzők kiemelik, hogy egyáltalán nem a valóságtól elrugaszkodott és elvont mintákat találtak ki, hanem csak összegyűjtötték a sokszor előforduló problémákat és a rájuk adott válaszokat, kielemezték őket, és a látottak alapján megpróbáltak általános megoldásokat nyújtani. A könyvben minden minta mellé leírták azt, hogy milyen felmerülő problémára adhat választ, alkalmazásának előnyeit és hátrányait, a megvalósítás lehetséges buktatóit, ismert felhasználásokat és példakódot, így teljes képet adva azok lehetséges használatának körülményeiről és eredményéről. Ez a könyv ma is referenciaként szolgál minden objektumorientált mintákkal kapcsolatos munkához. [9] 29

ANDROID mobiltelefon alkalmazása GSM alapú helymeghatározó rendszerben. Maczák Balázs Mérnök Informatikus BSc.

ANDROID mobiltelefon alkalmazása GSM alapú helymeghatározó rendszerben. Maczák Balázs Mérnök Informatikus BSc. ANDROID mobiltelefon alkalmazása GSM alapú helymeghatározó rendszerben Maczák Balázs Mérnök Informatikus BSc. Témavezetők: Tihanyi Attila Takács György 2010 1 Nyilatkozat Alulírott Maczák Balázs, a Pázmány

Részletesebben

Önálló laboratórium beszámoló

Önálló laboratórium beszámoló Önálló laboratórium beszámoló A dolgozat címe: GSM alapú helymeghatározás Android környezetben, RCL szintű hívások feltérképezése Konzulensek nevei: Tihanyi Attila, Dr. Takács György, Feldhoffer Gergely

Részletesebben

ANDROID mobiltelefon alkalmazása GSM alapú helymeghatározó rendszerben. Maczák Balázs Mérnök Informatikus BSc.

ANDROID mobiltelefon alkalmazása GSM alapú helymeghatározó rendszerben. Maczák Balázs Mérnök Informatikus BSc. ANDROID mobiltelefon alkalmazása GSM alapú helymeghatározó rendszerben Maczák Balázs Mérnök Informatikus BSc. Témavezetők: Tihanyi Attila Takács György Feldhoffer Gergely 2010 1 1. Nyilatkozat Alulírott

Részletesebben

Android Wear programozás. Nyitrai István nyitrai.istvan@bmeautsoft.hu

Android Wear programozás. Nyitrai István nyitrai.istvan@bmeautsoft.hu Android Wear programozás Nyitrai István nyitrai.istvan@bmeautsoft.hu Amiről szó lesz A platformról dióhéjban Felületi újdonságok Fejlesztői környezet beállítása Értesítések Példa #1 Kommunikáció Példa

Részletesebben

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

Helymeghatározás. Hol vagyok a világban? 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

Részletesebben

Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.

Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. KIINDULÁS Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. Programozás III Az egyszerűség kedvéért mindegyiket a nevük alapján regisztráljuk,

Részletesebben

Új szolgáltatási képességek I.: földrajzi hely alapú szolgáltatások

Új szolgáltatási képességek I.: földrajzi hely alapú szolgáltatások Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Mérnök informatikus szak, mesterképzés Hírközlő rendszerek biztonsága szakirány Villamosmérnöki szak, mesterképzés - Újgenerációs

Részletesebben

Már megismert fogalmak áttekintése

Már megismert fogalmak áttekintése Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak

Részletesebben

Broadcast Service Widget

Broadcast Service Widget OE-NIK 2012. április 22. Sicz-Mesziár János sicz-mesziar.janos@ nik.uni-obuda.hu Broadcast Service Widget Broadcast Mi is ez? Aszinkron, üzenetszórásos értesítés Azok akik felregisztráltak rá értesülnek

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és Függvénysablonok Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben

Részletesebben

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

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet

Részletesebben

OOP: Java 8.Gy: Abstract osztályok, interfészek

OOP: Java 8.Gy: Abstract osztályok, interfészek OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus

Részletesebben

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

I. 288.: Utcai WiFi térkép I. 288.: Utcai WiFi térkép Azért ezt választottam, mert az iskolánkban viszonylag kevés WiFi hálózat található. Az adatok gyűjtéséhez saját programot készítettem androidos mobilomra a http://marakana.com/forums/android/examples/40.html

Részletesebben

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

Overview. Service. Application Activity Activity 2 Activity 3. Fragment. Fragment. Fragment. Frag ment. Fragment. Broadcast Receiver ANDROID ALKALMAZÁSFEJLESZTÉS Android komponensek használata Activity Fragment Service Broadcast Recevier 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 2015. március

Részletesebben

Interfészek. PPT 2007/2008 tavasz.

Interfészek. PPT 2007/2008 tavasz. Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált

Részletesebben

Android Pie újdonságai

Android Pie újdonságai Android Pie újdonságai Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Android 9 újdonságok Fejlesztői érdekességek API változások Mit tartogat a jövő? Android 9 újdonságok Testreszabott rendszer Egyszerűbb,

Részletesebben

iphone és Android két jó barát...

iphone és Android két jó barát... iphone és Android két jó barát... Multiplatform alkalmazásfejlesztés a gyakorlatban Kis Gergely MattaKis Consulting 1 Tartalom Miért multiplatform fejlesztés? Multiplatform fejlesztési módszerek A közös

Részletesebben

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás.   Szénási Sándor. Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb

Részletesebben

Java programozási nyelv 5. rész Osztályok III.

Java programozási nyelv 5. rész Osztályok III. Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

Iman 3.0 szoftverdokumentáció

Iman 3.0 szoftverdokumentáció Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3

Részletesebben

ANDROID ALKALMAZÁS FEJLESZTÉS

ANDROID ALKALMAZÁS FEJLESZTÉS ANDROID ALKALMAZÁS FEJLESZTÉS 2017/18 II. félév Android alapú fejlesztés Mobil rendszerek programozása I. Sicz-Mesziár János sicz-mesziar.janos@nik.uni-obuda.hu Mezei József mezei.jozsef@nik.uni-obuda.hu

Részletesebben

1. Az Android platform bemutatása (Ekler Péter)... 1 1.1. Az Android sikerességének okai... 1 1.2. Az Android platform története... 3 1.3. Android-verziók... 5 1.4. Android Market (Google Play)... 13 1.5.

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:

Részletesebben

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

Pozícióinformáció. Sikeres helyfüggő szolgáltatások mobilra Distributed Systems A hely nem elég MTA SZTAKI Elosztott Rendszerek Osztály - Mátételki Péter matetelki@sztaki.hu Mihez nem elég a hely? Sikeres helyfüggő szolgáltatások mobilra Navigáció (hely + térkép

Részletesebben

Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2010/2011-2 félév, 11. gyakorlat (az előző 2 gyak közül az egyiken ZH volt, a másik szünet miatt elmaradt) 1 JAR fájl készítés A JAR (Java

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

C++ programozási nyelv Konstruktorok-destruktorok

C++ programozási nyelv Konstruktorok-destruktorok C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

Programozási alapismeretek 4.

Programozási alapismeretek 4. Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)

Részletesebben

és az instanceof operátor

és az instanceof operátor Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv

Részletesebben

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv

Részletesebben

Esri Arcpad 7.0.1. Utó- feldolgozás. Oktatási anyag - utókorrekció

Esri Arcpad 7.0.1. Utó- feldolgozás. Oktatási anyag - utókorrekció Esri Arcpad 7.0.1 & MobileMapper CE Utó- feldolgozás Oktatási anyag - utókorrekció Tartalomjegyzék GPS- MÉRÉSEK UTÓ- FELDOLGOZÁSA... 3 1.1 MŰHOLD ADATOK GYŰJTÉSÉNEK ELINDÍTÁSA, A ESRI ArcPad PROGRAMMAL

Részletesebben

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY FVM VIDÉKFEJLESZTÉSI, KÉPZÉSI ÉS SZAKTANÁCSADÁSI INTÉZET NYUGAT MAGYARORSZÁGI EGYETEM GEOINFORMATIKAI KAR MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY 2008/2009. TANÉV Az I. FORDULÓ FELADATAI NÉV:... Tudnivalók

Részletesebben

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén

Részletesebben

Felhasználói kézikönyv - Android kliens

Felhasználói kézikönyv - Android kliens Felhasználói kézikönyv - Android kliens Tartalom Telepítés Indítás Fő képernyők Térkép Rétegválasztó ablak Kilépés Keresés Lista Részletek Telepítés Az Élő Berek Android alkalmazás letölthető a www.e-berek.hu

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

TaxiLike használati bemutató Taxitársaságok és Taxisofőrök részére

TaxiLike használati bemutató Taxitársaságok és Taxisofőrök részére TaxiLike használati bemutató Taxitársaságok és Taxisofőrök részére 2012 09 03 Tartalom I. TaxiLike rövid bemutatás II. Első lépések Taxitársaság és Taxisofőrök részére III. TaxiLike Driver használata munka

Részletesebben

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010

INFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010 INFORMATIKA ÁGAZATI ALKALMAZÁSAI Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010 10. GPS, GPRS (mobilkommunikációs) ismeretek Helymeghatározás GPS rendszer alapelve GNSS rendszerek

Részletesebben

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti

Részletesebben

Név: Neptun kód: Pontszám:

Név: Neptun kód: Pontszám: Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:

Részletesebben

Pick Pack Pont kereső és boltválasztó alkalmazás

Pick Pack Pont kereső és boltválasztó alkalmazás Pick Pack Pont kereső és boltválasztó alkalmazás www.pickpackpont.hu online.sprinter.hu/terkep Dokumentáció V5 2018. október Sprinter Futárszolgálat Kft. 2018. Minden jog fenntartva! Tartalomjegyzék Funkciók

Részletesebben

BME MOGI Gépészeti informatika 8.

BME MOGI Gépészeti informatika 8. BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező

Részletesebben

Felhasználó által definiált adattípus

Felhasználó által definiált adattípus Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési

Részletesebben

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II. Tervezési minták Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 8. E. Gamma, R. Helm, R. Johnson, J. Vlissides:Design patterns: Elements

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

Hely- és kontextusfüggő alkalmazások fejlesztését támogató keretrendszer mobil környezetben

Hely- és kontextusfüggő alkalmazások fejlesztését támogató keretrendszer mobil környezetben Department of Distributed Systems Hely- és kontextusfüggő alkalmazások fejlesztését támogató keretrendszer mobil környezetben MTA SZTAKI Elosztott Rendszerek Osztály - Mátételki Péter matetelki@sztaki.hu

Részletesebben

2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,

Részletesebben

Matematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

Matematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27. Matematika 11 Koordináta geometria Juhász László matematika és fizika szakos középiskolai tanár > o < 2015. szeptember 27. copyright: c Juhász László Ennek a könyvnek a használatát szerzői jog védi. A

Részletesebben

DIGITÁLIS TEREPMODELL A TÁJRENDEZÉSBEN

DIGITÁLIS TEREPMODELL A TÁJRENDEZÉSBEN DIGITÁLIS TEREPMODELL A TÁJRENDEZÉSBEN DR. GIMESI LÁSZLÓ Bevezetés Pécsett és környékén végzett bányászati tevékenység felszámolása kapcsán szükségessé vált az e tevékenység során keletkezett meddők, zagytározók,

Részletesebben

Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 12. gyakorlat 1 Távoli metódushívás Java-ban (RMI) Java-ban a távoli metódushívás ( Remote Method Invocation, RMI) egy

Részletesebben

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"

Részletesebben

Mobil helymeghatározás. Zsiborás Attila

Mobil helymeghatározás. Zsiborás Attila Mobil helymeghatározás Zsiborás Attila Miről lesz szó? És miről nem Szóbeszéd, közhiedelem, tévinformáció Jogi, szabályozási háttér Mobil helymeghatározás műszaki megoldásai Mobil hálózat alapú megoldások

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked

Részletesebben

Enhanced Observed Time Difference (E- OTD)

Enhanced Observed Time Difference (E- OTD) Enhanced Observed Time Difference (E- OTD) dr. Paller Gábor Készült Axel Küpper: Location-Based Services: Fundamentals and Operation c. könyve alapján E-OTD E-OTD: hiperbolikus háromszögelés a terminál

Részletesebben

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

Google Maps használata OSM, mint alternatív térkép OE-NIK 2012. március 19. Sicz-Mesziár János sicz-mesziar.janos@ nik.uni-obuda.hu Google Maps használata OSM, mint alternatív térkép Google Maps Jól használható külső library. Használatához regisztráció

Részletesebben

Csináljunk az adatból információt! A Lone-Soft listázó keretrendszerrel

Csináljunk az adatból információt! A Lone-Soft listázó keretrendszerrel Csináljunk az adatból információt! A Lone-Soft listázó keretrendszerrel A piacon lévő ügyviteli szoftverek jó részének legnagyobb hibája, hogy a letárolt adatokat nem képesek a felhasználó által hasznosítható

Részletesebben

Szoftvertechnolo gia 7. gyakorlat

Szoftvertechnolo gia 7. gyakorlat Szoftvertechnolo gia 7. gyakorlat Román Gábor 1. Feladat Készítsen az alábbi leírás alapján egy Egyed kapcsolat (EK) diagramot, majd annak alapján Visual Studio 2013-ban Entity Framework entitás diagramot!

Részletesebben

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR LabVIEW-ról National Instruments (NI) által fejlesztett Grafikus programfejlesztő környezet, méréstechnikai, vezérlési, jelfeldolgozási feladatok

Részletesebben

Cellaazonosító és timing advance

Cellaazonosító és timing advance Cellaazonosító és timing advance dr. Paller Gábor Készült Axel Küpper: Location-Based Services: Fundamentals and Operation c. könyve alapján GSM rádiós interfész GSM frekvenciák: 850 MHz Észak-Amerika

Részletesebben

Objektumorientált paradigma és programfejlesztés Bevezető

Objektumorientált paradigma és programfejlesztés Bevezető Objektumorientált paradigma és programfejlesztés Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján

Részletesebben

OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. OOP #6 (VMT és DMT) v1.0 2003.03.07. 19:33:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_06-1 - E jegyzet másolata

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is

Részletesebben

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1 Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

A rendszer legfontosabb jellemzőit az alábbiakban foglalhatjuk össze:

A rendszer legfontosabb jellemzőit az alábbiakban foglalhatjuk össze: GPS nyomkövető készülék, illetve navigációs rendszerek A GPS a Global Positioning System angol rövidítése és globális helymeghatározó rendszert jelent. Egy rendszer, amely 24 műholdból áll, melyet az USA

Részletesebben

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Enterprise JavaBeans 1.4 platform (EJB 2.0) Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans

Részletesebben

Verifikáció és validáció Általános bevezető

Verifikáció és validáció Általános bevezető Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának

Részletesebben

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus

Részletesebben

Java Programozás 11. Ea: MVC modell

Java Programozás 11. Ea: MVC modell Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát

Részletesebben

Java programozási nyelv 4. rész Osztályok II.

Java programozási nyelv 4. rész Osztályok II. Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék

Részletesebben

BARANGOLÁS AZ E-KÖNYVEK BIRODALMÁBAN Milyen legyen az elektonikus könyv?

BARANGOLÁS AZ E-KÖNYVEK BIRODALMÁBAN Milyen legyen az elektonikus könyv? BARANGOLÁS AZ E-KÖNYVEK BIRODALMÁBAN Milyen legyen az elektonikus könyv? Készítették: Névery Tibor és Széll Ildikó PPKE I. évf. kiadói szerkesztő hallgatók, közösen 1 BEVEZETŐ Az elektronikus könyv valamilyen

Részletesebben

Összefoglalás. Készítette: Siklósi Zsolt info2007

Összefoglalás. Készítette: Siklósi Zsolt info2007 Szoftvertechnikák Tervezési minták Összefoglalás Készítette: Siklósi Zsolt info2007 Bevezetés Definíció: A tervezési minta leír egy gyakran előforduló problémát, annak környezetét és a megoldás magját,

Részletesebben

HVK Adminisztrátori használati útmutató

HVK Adminisztrátori használati útmutató HVK Adminisztrátori használati útmutató Tartalom felöltés, Hírek karbantartása A www.mvfportal.hu oldalon a bejelentkezést követően a rendszer a felhasználó jogosultsági besorolásának megfelelő nyitó oldalra

Részletesebben

Szakdolgozat. GSM hálózat alapú helymeghatározásban beltéri adatbázis használata

Szakdolgozat. GSM hálózat alapú helymeghatározásban beltéri adatbázis használata GSM hálózat alapú helymeghatározásban beltéri adatbázis használata Szakdolgozat Készítette: Baranyi István Mérnök informatikus szak 2010.február- május Konzulensek: Dr. Takács György Tihanyi Attila 1 Alulírott

Részletesebben

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig

Részletesebben

Bevezetés a méréstechinkába, és jelfeldologzásba jegyzőkönyv

Bevezetés a méréstechinkába, és jelfeldologzásba jegyzőkönyv Bevezetés a méréstechinkába, és jelfeldologzásba jegyzőkönyv Lódi Péter(D1WBA1) Módli Hunor(HHW6Q9) 2015 Április 15. Mérés helye: Mérés ideje: Mérés tárgya: Mérés eszköze: PPKE-ITK 3. emeleti 321-es Mérőlabor,

Részletesebben

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

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet    Copyright 2008 Johanyák Zsolt Csaba Ugráló gomb Készítsünk egy egyszerű játékprogramot, ami egy mozgó nyomógombot tartalmaz. A nyomógomb beállított ideig marad egy helyben, majd az ablakon számára elhatárolt terület (panel) egy véletlenszerűen

Részletesebben

GSM azonosítók, hitelesítés és titkosítás a GSM rendszerben, a kommunikáció rétegei, mobil hálózatok fejlődése

GSM azonosítók, hitelesítés és titkosítás a GSM rendszerben, a kommunikáció rétegei, mobil hálózatok fejlődése Mobil Informatika Dr. Kutor László GSM azonosítók, hitelesítés és titkosítás a GSM rendszerben, a kommunikáció rétegei, mobil hálózatok fejlődése http://uni-obuda.hu/users/kutor/ Bejelentkezés a hálózatba

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)

Részletesebben

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.

Részletesebben

Alap számológép alkalmazás

Alap számológép alkalmazás Első Androidos programom - Egyszerű műveleteket használó számológép elkészítése Android Developer Tools (ADT) segítségével Alap számológép alkalmazás Android programfejlesztés Tompos Szabolcs Tartalom

Részletesebben

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E Követelmény A beadandó dokumentációját a Keszthelyi Zsolt honlapján található pdf alapján kell elkészíteni http://people.inf.elte.hu/keszthelyi/alkalmazasok_fejlesztese

Részletesebben

Az Internet jövője Internet of Things

Az Internet jövője Internet of Things Az Internet jövője Dr. Bakonyi Péter c. docens 2011.01.24. 2 2011.01.24. 3 2011.01.24. 4 2011.01.24. 5 2011.01.24. 6 1 Az ( IoT ) egy világméretű számítógéphálózaton ( Internet ) szabványos protokollok

Részletesebben

MÉRY Android Alkalmazás

MÉRY Android Alkalmazás MÉRY Android Alkalmazás Felhasználói kézikönyv Di-Care Zrt. Utolsó módosítás: 2014.06.12 Oldal: 1 / 7 Tartalomjegyzék 1. Bevezetés 3 1.1. MÉRY Android alkalmazás 3 1.2. A MÉRY Android alkalmazás funkciói

Részletesebben

Fine-Grained Network Time Synchronization using Reference Broadcast

Fine-Grained Network Time Synchronization using Reference Broadcast Fine-Grained Network Time Synchronization using Reference Broadcast Ofszet Az indítás óta eltelt idıt mérik Az ofszet változása: skew Az órák sebességének különbsége Oka: Az óra az oszcillátor pontatlanságát

Részletesebben

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

Generikus osztályok, gyűjtemények és algoritmusok

Generikus osztályok, gyűjtemények és algoritmusok Programozási, gyűjtemények és algoritmusok bejárása Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 bejárása 2 bejárása 2 Java-ban és UML-ben bejárása Az UML-beli paraméteres osztályok a Java

Részletesebben

A Java EE 5 plattform

A Java EE 5 plattform A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting http://www.mattakis.com

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting http://www.mattakis.com Google App Engine az Oktatásban Kis 1.0 Gergely ügyvezető MattaKis Consulting http://www.mattakis.com Bemutatkozás 1998-2002 között LME aktivista 2004-2007 Siemens PSE mobiltelefon szoftverfejlesztés,

Részletesebben

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és

Részletesebben

ANDROID ALKALMAZÁSFEJLESZTÉS

ANDROID ALKALMAZÁSFEJLESZTÉS ANDROID ALKALMAZÁSFEJLESZTÉS Android komponensek használata Activity Fragment Service Broadcast Recevier Runtime permissions 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

Részletesebben

A RoadOn+ Flottamenedzser használata

A RoadOn+ Flottamenedzser használata A RoadOn+ Flottamenedzser használata 1 Elérés A webes felhasználói felület Fleet manager ikonjára kattintva új lapon nyílik meg a funkció 2 Járműadatok A menüpontban lehetőség van a rendszerben kezelt

Részletesebben

1. Alapok. Programozás II

1. Alapok. Programozás II 1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph

Részletesebben

3. Osztályok II. Programozás II

3. Osztályok II. Programozás II 3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt

Részletesebben

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*; Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely

Részletesebben