SZOFTVERFEJLESZTÉS ANDROID PLATFORMRA. Dr. Iszály György Barna

Hasonló dokumentumok
ANDROID ALKALMAZÁSFEJLESZTÉS

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

Adattárolás Szenzorok

ANDROID ALKALMAZÁSFEJLESZTÉS


Pénzügyi algoritmusok

Programozási nyelvek Java

Programozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Operációs rendszerek. UNIX/Linux fájlrendszerek

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Példaprogramok Android alá (Lista, mentés, visszatöltés, pattogó android figura) Android alapok. Android játékfejlesztés.

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Listák, szótárak, fájlok Listák, szótárak, fájlok

OE-NIK 2010/11 ősz OE-NIK ősz

HÁLÓZATBIZTONSÁG II. rész. Összeállította: Huszár István

2. modul - Operációs rendszerek

Java gyakorlat feladatai e s megolda sai ( )

JAVA ALKALMAZÁSOK 5. ELŐADÁS 1/9/2017 1

18. témakör. Jogosultságok (Windows és Linux jogosultságok összehasonlítása, helyi és megosztási jogosultságok)

Programozási nyelvek Java

SZOFTVERFEJLESZTÉS ANDROID PLATFORMRA. Dr. Iszály György Barna

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

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Adatbázis rendszerek Gy: Az adattárolás fejlődése

A L I N U X f e l é p í t é s e

Rendszerkezelési útmutató

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Input Output Műveletek

Telepítési útmutató. 1.1 lépés : Telepítés típusa - ablak :

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

Java programozási nyelv 10. rész Input/output kezelés

A fájlkezelés alapjai

Fájlkezelés. Szöveges fájlok kezelése

Munka állományokkal. mv: áthelyezés (átnevezés) rm: törlés. rmdir: üres könyvtár törlése. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

ELTE SAP Excellence Center Oktatóanyag 1

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

Programozási nyelvek II. JAVA

Hálózati operációs rendszerek II. OES biztonsági rendszere

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Készítsen egy adatbázist (egytáblásat) egy számítástechnikai tanfolyam résztvevőiről. Az adattábla rögzítse a következőket:

Az operációs rendszer fogalma

Programozási technológia

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

1. A Windows Vista munkakörnyezete 1

Thermo1 Graph. Felhasználói segédlet

Munka a fájlokkal. Az általánosan használt fájltípusok. Programfájlok. Adatfájlok

Köszönetnyilvánítás... xv Bevezetés az otthoni hálózatok használatába... xvii. A könyv jellegzetességei és jelölései... xxi Segítségkérés...

Segédanyag: Java alkalmazások gyakorlat

BME MOGI Gépészeti informatika 8.

Osztályszintű elérés, kivételkezelés, fájlkezelés

Java-s Nyomtatványkitöltő Program Súgó

Programozási nyelvek II.: JAVA

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

A szerzőkről... xiii A csapat... xiv Az Online Training Solutions, Inc. (OTSI)... xiv

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

OOP és UML Áttekintés

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Hálózati operációs rendszerek II.

Szoftvertechnológia alapjai Java előadások

BASH script programozás II. Vezérlési szerkezetek

Vodafone HomeNet Használati útmutató

1. Az Access 2000 indítása után válasszuk az Üres adatbázis létrehozása pontot,

Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

Operációs rendszerek 1.

Netlock Kft. által kibocsátott elektronikus aláírás telepítése Windows XP SP3 Internet Explorer 8 böngészőbe

7. gyakorlat Sorozatok, Fájlkezelés

JAVA PROGRAMOZÁS 8.ELŐADÁS

Oktatási cloud használata

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

Iman 3.0 szoftverdokumentáció

Tájékoztató. Használható segédeszköz: -

A C programozási nyelv VI. Parancssori argumentumok File kezelés

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

1.2. NFS kliens telepítése és beállítása

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Informatika terméktervezőknek

Objektumorientált programozás C# nyelven

Operációs rendszerek I. IIII. gyakorlat

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Java-s Nyomtatványkitöltő Program Súgó

BaBér bérügyviteli rendszer telepítési segédlete év

Programozási nyelvek Python

Java programozási nyelv

A mappák használata. Mappa létrehozása

Bánsághi Anna 2014 Bánsághi Anna 1 of 35

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

Synology NAS integrálása inels IMM szerverhez

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.

Parlagfű Bejelentő Rendszer

UNIX: folyamatok kommunikációja

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Microsec Zrt. által kibocsátott elektronikus aláírás telepítése Windows 7 (x86/x64) Internet Explorer 9 (32 bites) böngészőbe

Segédanyag: Java alkalmazások gyakorlat

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Átírás:

SZOFTVERFEJLESZTÉS ANDROID PLATFORMRA Dr. Iszály György Barna

TÁROLÁSI LEHETŐSÉGEK Shared preferences: egyszerű kulcs-érték párral leírható adatok tárolására Internal Storage: az alkalmazásunk privát adatainak tárolására szolgáló megoldás External Storage: másokkal megosztható információk rögzítését oldhatjuk meg a segítségével SQLite adatbázis: strukturált adatok tárolása egy privát adatbázis által Hálózati kapcsolat: az adatok weben keresztüli rögzítése

KULCS-ÉRTÉK PÁROK TÁROLÁSA SharedPreferences osztály segítségével Primitív adattípusok (int, float, boolean, String, stb.) adatait tárolhatjunk szöveges típusú kulcsok segítségével Az Activityhez tartozó privát területen tárolódnak az értékek Metódusai: getsharedpreferences(): nevesített állomány létrehozására, illetve megnyitására szolgáló függvény getpreferences(): ha az Activity csupán egyetlen preferencia fájlt kíván tárolni, név megadására nincs is szükség Ha a sharedpref.getstring() metódus nem találja a fájlban a kulcsot, alapértelmezett értékkel tér vissza. Ha a preference fájl létezik, de rossz típusú metódussal próbálunk olvsani belőle, ClassCastException típusú kivételt dob.

INPUT OUTPUT MEGVALÓSÍTÁSA Írás Az Editor osztály egy objektumát kell használni az íráshoz put<típus>(string kulcs, <típus> érték) Olvasás A SharedPreferences osztály metódusaival get<típus>() Törlés egyetlen kulcs-értékpárt: remove(string kulcs) valamennyi kulcs-értékpárt törlése: clear() Jóváhagyás commit() apply() aszinkron függvénnyel

PÉLDA Adatok tárolása SharedPreferences sharedpref = getsharedpreferences( FileNeve, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedpref.edit(); editor.putstring( Kulcs, Érték ); editor.commit(); Adatok visszaolvasása SharedPreferences sharedpref = getsharedpreferences( FileNeve,Context.MODE_PRIVATE); textview1.settext(sharedpref.getstring( Kulcs, "A preference nem található"));

INTERNAL STORAGE HASZNÁLATA Csak az alkalmazásunk számára elérhető adatok tárolására szolgál Az alkalmazás eltávolításakor a rögzített adatok is eltávolításra kerülhetnek Létrehozás Az openfileoutput() függvény hívása a létrehozandó fájl nevével és a hozzáférés módjával. Visszatérési értéke egy FileOutputStream. Írás a write() függvény segítségével. Lezárás a close() metódussal lehetséges. A létrehozandó fájl hozzáférésének módjai: MODE_PRIVATE: mindenki elől rejtett MODE_WORLD_READABLE: publikus olvasási lehetőség MODE_WORLD_WRITABLE: publikus írási opció MODE_APPEND: meglévő állomány bővítése hozzáfűzéssel

INTERNAL STORAGE HASZNÁLATA Olvasás: openfileinput() hívása, a visszaadott eredmény FileInputStream. Olvasás a read() metódussal. A stream lezárása a close() hívásával. Ha a file nem létezik, nyitáskor FileNotFoundExceptiont kapunk. További metódusok: getfilesdir(): visszaadja az adatokat tartalmazó könyvtár elérési útját egy File objektumba. getdir(): létrehozza, vagy megnyitja a már létező könyvtárat a könyvtárunkon belül. deletefile(): törli a kijelölt fájlt a tárolóból.

TELEPÍTÉSKOR MÁR ELÉRHETŐ ADATFÁJLOK LÉTREHOZÁSA Telepítéskor már rendelkezésre álló adathalmazt szeretnénk készíteni, akkor ezeket a fejlesztés ideje alatt kell létrehozni: A fájl(ok) mentése történjen a res/raw könyvtárba. A megnyitás az openrawresource() segítségével lehetséges, a megfelelő erőforrása azonosítójának megadásával. Ennek képzése: R.raw.<fájl neve> A fenti metódus InputStreammel tér vissza, ami képes olvasni a fájlt. Az eredeti állomány nem írható.

PÉLDA SZÖVEGES ÁLLOMÁNY LÉTREHOZÁSA String file_neve = "hello_vilag"; String szoveg = "Helló Világ!"; FileOutputStream fki; try{ } finally { } fki = openfileoutput(file_neve, Context.MODE_PRIVATE); fki.write(string.getbytes()); fki.close();

EXTERNAL STORAGE HASZNÁLATA External Storage külső adattárolóknak a használata, amelyekre adatokat menthetünk Beépített, fix eszköz is lehet FAT fájlrendszerek használja Több partíció is kialakítható rajtuk, támogatottak az ext típusú fájlrendszerek is Az adatok bárki számára elérhetőek, módosíthatóak, ha a felhasználó az USB mass storage funkcióját aktiválja Az eszköz akár fizikailag is eltávolítható - az itt található adatok az alkalmazásunk számára ideiglenesen, vagy tartósan is elérhetetlenné válhatnak. Fontos vizsgálni!!!

EXTERNAL STORAGE HASZNÁLATA getexternalstoragestate() az External Storage állapotának lekérdezése Az állapot String típusú konstans: MEDIA_MOUNTED: a lemezterület felcsatolt MEDIA_MOUNTED_READ_ONLY: csak olvasható módon hozzáférhető a tároló. MEDIA_BAD_REMOVAL: szabálytalanul lett a tároló eltávolítva (lecsatolás nélkül) MEDIA_CHECKING: a tárolót érzékeltük, lemezellenőrzés zajlik MEDIA_NOFS: a tároló üres, vagy nem támogatott fájlrendszert tartalmaz. MEDIA_REMOVED: a tároló le van csatolva (eltávolított). MEDIA_SHARED: a tároló USB mass storage alatt megosztott. MEDIA_UNMOUNTABLE: a tároló érzékelve, de nem felcsatolható. MEDIA_UNMOUNTED: a tároló érzékelve, de nincs felcsatolva.

EXTERNAL STORAGE HASZNÁLATA Tároló menet közbeni eltávolítása Intent Filterrel kell figyelni (Intent.ACTION_MEDIA_REMOVED) Eltávolításkor értesítést kaphatunk egy saját broadcast receiver segítségével. Android 2.2 (API Level 8) vagy újabb Android esetén bizonyos fájltípusokat szervezetten, egy-egy dedikált mappában tárolhatunk getexternalfilesdir() - paraméteréül megadott String típus segítségével visszaad egy javasolt teljes elérési útvonalat az adott fájltípus számára Pár fájltípusokhoz tartozó String: DIRECTORY_PICTURES: képek tárolására szolgáló mappa DIRECTORY_MUSIC: zenék tárolásához. DIRECTORY_RINGTONES: csengőhangok számára kijelölt könyvtár. Ha a típus hiányzik, a tároló gyökérkönyvtárát adja vissza.

EXTERNAL STORAGE HASZNÁLATA A 2.2-nél korábbi Android esetében getexternalstoragedirectory() ezzel elérhetjük a gyökérkönyvárat. A javasolt könyvtárszerkezet a tároláshoz: /Android/data/<alkalmazás csomagneve>/files/ Az újabb Androidok az alkalmazás eltávolításakor ezeket a mappákat törlik! Jelenleg valamennyi alkalmazás olvashatja a külső tárolókat külön engedély nélkül is. A külső tároló olvasásához jogosultság szükséges <uses-permission android:name="android.permission.read_external_storage" /> A meglévő írási jog egyúttal olvasási jogot is jelent.

PÉLDA AZ EXTERNAL STORAGE HASZNÁLATÁRA Jogosultságot először meg kell adni <uses-permission android:name="android.permission.write_external_storage" /> if(environment.media_mounted.equals(environment.getexternalstorage State())){ File root =android.os.environment.getexternalstoragedirectory(); File dir = new File (root.getabsolutepath()+"/sajat_konyvtar"); dir.mkdirs(); File file = new File(dir, "hello.txt"); FileOutputStream f; PrintWriter pw; Állomány létrehozása Saját könyvtár létrehozása A külső tároló elérhetőségéne k vizsgálata. Gyökérkönyvtár meghatározása

PÉLDA AZ EXTERNAL STORAGE HASZNÁLATÁRA } try { f = new FileOutputStream(file); pw = new PrintWriter(f); pw.println("helló Világ!"); pw.flush(); } catch (FileNotFoundException e) { e.printstacktrace(); Írás az állományba Log.e(getString(R.string.app_name), "A fájl nem található. Írási jogosultság?"); } finally { pw.close(); f.close(); }