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

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

ANDROID ALKALMAZÁSFEJLESZTÉS

Felhasználói felület megismerése, különböző felbontások támogatása

4. A konténerek Konténerek LinearLayout

ANDROID ALKALMAZÁSFEJLESZTÉS

ANDROID ALKALMAZÁSFEJLESZTÉS

3. Egyszerű komponensek

Alap számológép alkalmazás

Integrált fejlesztői környezet (IDE)

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

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

CitiDirect BE SM Felhasználói útmutató

A WORDPRESS TESTRESZABÁSA (MEGJELENÉS MENÜ ELEMEI)

Responsive Web Design. Dr. Nyéki Lajos 2019

Webshop készítése ASP.NET 3.5 ben I.

Használati utasítás a Betafence.lib GDL könyvtár használatához

Diagram készítése. Diagramok formázása

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

Oszkar.com Android alkalmazás v1.2

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

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

Közoktatási Statisztika Tájékoztató 2012/2013. Használati útmutató

Tartalom jegyzék 1 BEVEZETŐ SZOFTVER ÉS HARDVER KÖVETELMÉNYEK 2 2 TELEPÍTÉS 2 3 KEZELÉS 5

Vízcenter. Mobil alkalmazás

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

MÉRY Android Alkalmazás

Partner. kezelési útmutató

Android Wear programozás. Nyitrai István

Szilipet programok telepítése Hálózatos (kliens/szerver) telepítés Windows 7 operációs rendszer alatt

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

Programozási technológia

Online hirdetési specifikáció. Fidelio.hu


Egyéb 2D eszközök. Kitöltés. 5. gyakorlat. Kitöltés, Szöveg, Kép

Adatforgalomra vonatkozó beállítások. Lépjünk be a Beállítások menübe

Dokumentáció. IT Worx. Web eszközök Hír box. 1. Első lépések

VDT10 HASZNÁLATI UTASÍTÁS VDT10/D7 sorozatú készülékekhez

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

WebAromo elindítása, bejelentkezés

Csavarda mobil áruház

Táblázatok kezelése. 1. ábra Táblázat kezelése menüből

Fix és kalkulált menüár párhuzamos kezelése, kedvezményes ár algoritmus bővítése, engedmény fix árra

Útmutató parkolás indításához és leállításához

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

Tisztelt Telepítő! A központ és az alkalmazás összehangolását a következőképpen hajthatja végre:

Szöveges műveletek. Mielőtt nekikezdenénk első szövegünk bevitelének, tanuljunk meg néhány alapvető műveletet a 2003-as verzió segítségével:

Két csomag elemeiből lehet a felületet elkészíteni: awt: heavy weight komponensek; swing: light weight komponensek (időben később).

2-VEZETÉKES KAPUTELEFON RENDSZER Beltéri egység. VDT10 Felhasználói és telepítői kézikönyv VDT10. VDT10 Leírás v1.4.pdf

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

libgdx alapok, első alkalmazás

Autodesk Civil 3D 2014 magyar tartalom

A közép-európai nyelvekhez igazított funkciók Tartalom

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.


Hogyan készítsünk Colorbox-os képgalériát Drupal 7-ben?

Megjegyzés vezeték nélküli LAN felhasználóknak

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

HVK Adminisztrátori használati útmutató

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

Területi elemzések. Budapest, április

QGIS tanfolyam (ver.2.0)

A program telepítése

Használati utasítás.

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

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

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

CE52-24/F(C) Központi vezérlő. Kezelési kézikönyv

Adatintegritás ellenőrzés Felhasználói dokumentáció verzió 2.0 Budapest, 2008.

Hiba bejelentés azonnal a helyszínről elvégezhető. Egységes bejelentési forma jön létre Követhető, dokumentált folyamat. Regisztráció.

GráfRajz fejlesztői dokumentáció

Hiteles Elektronikus Postafiók

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

Új jelszó beállítása. Új jelszó beállítása az IFA rendszerhez. BIZALMAS INFORMÁCIÓ JET-SOL JET-SOL 2.0 verzió

Használati útmutató AX-5002

A MÉKISZ tanúsított minőség védjegy. A MÉKISZ tanúsított minőség védjegy megjelenésére, felhasználására vonatkozó szabályok gyűjteménye

DT-17 Felhasználói kézikönyv

VALUTAISMERTETŐ FUNKCIÓNÁLIS SPECIFIKÁCIÓ

Alapvető beállítások elvégzése Normál nézet

Előszó A Windows alkalmazásfejlesztés rövid története A Windows életútja A Windows 8 paradigmaváltása... 16

CE53-24/F(C) Központi vezérlő. Kezelési kézikönyv

ConnectAlarm alkalmazás Központ/modul programozási segédlet V1.0

O365 és felhő szolgáltatások igénybevételéhez szükséges beállítások

Gyors beállítási útmutató

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

Továbbá weboldalunkon, külön menüpont alatt weben is megjelennek az állashirdetések, ugyanúgy, mint egy állásportálon. ->

Programozási technológia

Interfészek. PPT 2007/2008 tavasz.

A webáruház kezdőlapján háromféle diavetítés beállítására van lehetőség:

BŐVÍTMÉNYEK TELEPÍTÉSE ÉS SZERKESZTÉSE WORDPRESS-BEN

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

Vásárhelyi Őszi Tárlat Jelentkezési rendszer. Felhasználói útmutató v1.2

Felhasználói kézikönyv

VDT10 HASZNÁLATI UTASÍTÁS

Inform Média Lapkiadó Kft. lokális piacvezető kiadóból multimédiás vállalat

Használati útmutató a Hungary Mérleg Kft. által forgalmazott T-Scale típusú hitelesített lapmérleghez

Phonak Remote. Használati útmutató

NHDR-3104AHD-II NHDR-3108AHD-II NHDR-3116AHD-II NHDR-5004AHD-II NHDR-5008AHD-II NHDR-5016AHD-II NHDR-5204AHD NHDR-5208AHD. Telepítői Segédlet

Mercedes XENTRY Portal Pro interfész

A Web Services protokoll használata hálózati szkennelésre (Windows Vista SP2 vagy újabb verzió, valamint Windows 7 és Windows 8 esetén)

Átírás:

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

FELHASZNÁLÓI FELÜLETEK Kialakításuk az egyik legfontosabb lépés az Android alkalmazásunk fejlesztése során. Vonzó, jól áttekinthető, jól kialakított felhasználóbarát A Google Play-en is először csak a felhasználói felülettel találkozunk Számos gyártó, számos készülékkel eltérő hardveres lehetőségek A sok eltérő képernyőméret és felbontás ellenére mindegyik eszközön ugyanúgy jelenjen meg alkalmazásunk!!!! LEHETETLEN!!! VAGY MÉGIS????? Elegendő elkészítenünk a megfelelő felületeket és grafikákat a megfelelő méretekben, és a rendszer a felületi elemeket az adott eszköz kijelző tulajdonságai szerint képes skálázni.

FELHASZNÁLÓI FELÜLETEK FONTOSABB FOGALMAK Képernyő méret A tényleges fizikai mérete képátlóban megadva. small, normal, large, extra large Képernyősűrűség Egy fizikai területen található pixelek sűrűsége dot per inch-ben (dpi) low, medium, high, extra high

FELHASZNÁLÓI FELÜLETEK FONTOSABB FOGALMAK Orientáció Ez lehet álló (portrait), vagy fekvő (landscape). Az orientáció előírható fixen, vagy futási időben megváltoztatható. Felbontás Az összes pixel száma a fizikai képernyőn. Az alkalmazások nem dolgoznak ezzel az értékkel, hanem helyette a képernyő méret és a képernyősűrűség értékeivel számolnak. Sűrűségfüggetlen pixel (dp) virtuális pixel egység Egy 160dpi-s képernyőn egy fizikai pixellel egyezik meg. A rendszer futási időben gondoskodik a dp egységek mértezéséről az aktuális képsűrűség függvényében. Az átváltás a dp egység és a pixel között: px=dp*(dpi/160). Pl.: egy 200 dpi-s képernyőn 1 dp 1,25 fizikai pixelnek felel meg.

KÉPERNYŐMÉRET, KÉPERNYŐSŰRŰSÉG Minimális méretek: xlarge : 960dp x 720dp large: 640dp x 480dp normal: 470dp x 320dp small: 426dp 320dp A rendszer az aktuális képernyősűrűségnek megfelelően a dp kiszámítása alapján skálázza a felhasználói felületet A rendszer a képernyősűrűség felhasználásával automatikusan átméretezi a képerőforrásokat

MÉRETEZÉS, MINŐSÍTŐK A grafikus erőforrások átméretezését nem célszerű a rendszerre hagyni Célszerű a grafikus elemeket is négyfajta méretben elkészíteni a 3:4:6:8 aránynak megfelelően A képek a res/drawable alkönyvtárba kerülhetnek Minősítőket használhatunk Fontosabb minősítők: <erőforrás_azonosító> - <módosító> Pl.: drawable-small, drawable-small-mdpi Képernyőméret: small, normal, large, xlarge Sűrűség: ldpi, mdpi, hdpi, xhdpi, nodpi (sűrűség független), tvdpi (megközelítőleg 213dpi) Orientáció: land, port Képarány: long, notlong

GRAFIKUS ELEMEK MEGJELENÍTÉSE 1. Az Android először az eszköz paramétereinek megfelelő módosítókkal ellátott erőforrásokat próbálja használni 2. Ha nem talál ilyet, akkor az alapértelmezett erőforrást használja, és az adott képernyő mérethez és sűrűséghez igazodva nagyítja, vagy kicsinyíti az adott elemet. 3. A legjobb megjelenés elérése érdekében a rendszer néha az alapértelmezett erőforrás helyett egy másik felbontás specifikus erőforrást használ. PL.: ha az alapértelmezett elemnél nagyobb felbontású elem létezik az alkalmazásban, akkor a rendszer előnyben fogja részesíteni a nagy felbontású képet, mert annak kicsinyítése sokkal szebb megjelenést tesz lehetővé.

KÉPERNYŐMÉRET ELŐÍRÁSOK A MANIFEST ÁLLOMÁNYBAN android:requiressmallestwidthdp Az alkalmazás futtatásához szükséges legkisebb szélességet írja elő. android:compatiblewidthlimitdp Ha az itt megadott értéknél nagyobb a képernyő szélessége, akkor a rendszer felajánlja, hogy az alkalmazás kompatibilis megjelenési módban fusson. Ez a kompatibilitási mód kikapcsolható a rendszer menüből bármikor. android:largestwidthlimitdp Az előzővel egyezik meg, azaz az alkalmazás itt is kompatibilis módban fog futni, azonban ebben az esetben ez a mód nem kapcsolható ki. <manifest... > <supports-screens android:requiressmallestwidthdp="400" />... </manifest>

JÓ TANÁCSOK GRAFIKUS ERŐFORRÁSOKHOZ Kerüljük a pixel (px) mértékegység használatát használjunk a density-independent pixelt (dp), a wrap_content, fill_parent jellemzőkkel. Szövegek esetében a scale-independent pixel (sp) mértékegységet használjuk Kerüljük az AbsoluteLayout használatát Használjunk képernyőméret és sűrűség specifikus erőforrásokat

LAYOUT A felhasználói felület struktúráját definiálja Layout állomány gyökér eleme lehet View négyszögletes felület, amely rajzolásáért és a rajta bekövetkező eseményekért felelős ViewGroup A View osztály leszármazottja, és tartalmazhat további View osztálybeli elemeket. Felelős a közvetlen gyermekelemei kirajzolásáért és elhelyezéséért Az Activity a gyökérelemet utasítja a megjelenítésre, amely rekurzívan utasítja a gyermekelemeit ugyanerre

LINEARLAYOUT horizontálisan, vagy vertikálisan kerülnek egymás után elhelyezésre a View elemek android:orientation tulajdonság : Horizontal vertical Az elemeket ezen belül igazíthatjuk az android:gravity Az android:layout_weight tulajdonsággal egy fontossági értéket adhatunk meg az egyes elemeknek. a nagyobb súllyal rendelkező elem fogja kitölteni a szülő elem maradék részeit. alapértelmezett értéke 0.

RELATIVELAYOUT Az elemeket elhelyezkedését az egymáshoz viszonyított helyzetükkel lehet meghatározni Pl.: egy elem egy másik alatt jelenjen meg, akkor használjuk a android:layout_below tulajdonságot, amely értékéül annak az elemnek az azonosítóját kell megadni, amelyik alá szeretnének az új elemünket elhelyezni. android:layout_alignright="@+id/checkbox1" android:layout_below="@+id/checkbox1" Több, mint 20 különböző RelativeLayout paraméter áll rendelkezésünkre

LEGGYAKRABBAN HASZNÁLT LAYOUT-OK AbsoluteLayout: az elemeket abszolút pozíciójuk alapján helyezhetjük el benne GridView: két dimenziós gördíthető elrendezést ad ListView: listanézetben jelennek meg az elemek MapView: térképnézeteket helyezhetünk el vele TableLayout: táblázatos elrendezést biztosít WebView: weboldalak megjelenítésére alkalmas

INTERAKTÍV VEZÉRLŐ ELEMEK Button (Button osztály) A grafikus felhasználói felületeken már megszokott tulajdonsággal rendelkező nyomógomb. Checkbox (CheckBox osztály) Kijelölő négyzet. lehet be, illetve kikapcsolt. Radio button (RadioButton és RadioGroup osztályok) Az egy csoportba tartozó választási lehetőségek közül csak egy jelölhető ki. Spinner (Spinner osztály) Egy legördülő lista elemeiből választhat ki egyet. Textfield (EditText osztály) Szerkeszthető szöveges beviteli mező. Az AutoCompleteTextView osztály segítségével olyan beviteli mező készíthető, mely a begépelt betűk alapján egy listát ajánl fel a lehetséges értékekről. Toggle button (ToggleButton és Switch osztály) Egy ki- és bekapcsolható gomb, mely a bekapcsolt állapotát az On feliraton kívül egy kis fénycsíkkal is jelzi. Az Android 4.0 verziótól rendelkezésünkre áll egy másik csúsztatható fajtája is. Pickers (DatePicker és TimePicker osztályok) Valós dátumot és időpontot lehet beállítani a beállított nyelvi környezetnek megfelelően.

VEZÉRLŐ ELEMEK ALAPTULAJDONSÁGAI android:layout_height és android:layout_width a ViewGroup osztály tulajdonságai, és az adott elem magasságát és szélességét állíthatjuk be velük. Értéke lehet valamilyen konkrét érték, vagy a követező konstansok egyike: fill_parent Az elem olyan nagy lesz, mint a szülő eleme. (Korábban match_parent). match_parent wrap_content a tartalomhoz igazítja a méretet. android:textsize A szöveg mérete állítható be vele, amit célszerű "sp", azaz scaled-pixels mértékegységben megadni. android:textstyle A szöveg stílusa: normal, bold vagy italic. Ha egyszerre szeretnék félkövér és dőlt betűt, akkor a két konstanst a (bitenkénti vagy) művelettel kell összekötni. android:autolink a szövegünkben előforduló url címek, vagy e-mail címek automatikusan átkonvertálódjanak-e klikkelhető linkké. Konstansai lehetnek a következők: none 0x00 Match no patterns (default). web webcímeket illeszt. email - email címeket illeszt. phone telefonszámokat illeszt. map térkép címeket illeszt. all mindent illeszt. Megegyezik a web email phone map megadással.

TULAJDONSÁGOK MÉRTÉKEGYSÉGEI dp (Density-independent Pixels) sűrűség független pixel. sp (Scale-independent Pixels) Hasonló, mint a dp, csak ezt a betűk méretének megadására használhatjuk. pt nyomdászati pont, ami a méter 2660-ad része (1/72 inch). px Pixel. mm Milliméter. In Hüvelyk. Az utolsó négy mértékegység használata kevésbé ajánlott Ezek az aktuális képernyő fizikai tulajdonságaitól függnek Nem garantálják a megfelelő megjelenést a különböző méretű és tulajdonságú kijelzőkön.

A VIEW OSZTÁLY ESEMÉNYFIGYELŐ INTERFÉSZEK Callback metódusok: onclick() (View.OnClickListener interfész) akkor hívódik meg, ha a felhasználó megérinti az adott elemet onlongclick() (View.OnLongClickListener interfész) akkor hívódik meg, ha a felhasználó megérinti az adott elemet, és továbbra is nyomva tartja azt. onfocuschange() (View.OnFocusChangeListener interfész) akkor hívódik meg, ha a felhasználó az adott elemre, vagy arról elnavigál. onkey() (View.OnKeyListener interfész) - akkor hívódik meg, ha a fókusz az adott elemen van, és a felhasználó megnyom, vagy felenged egy hardveres gombot ontouch() (View.OnTouchListener) akkor hívódik meg, ha a felhasználó végrehajt egy érintési eseményt, ami lehet lenyomás, felengedés, vagy egyéb mozgatással járókézmozdulat

STÍLUSOK ÉS TÉMÁK Hasonló a CSS stíluslapokhoz Stílus a létrehozott stílus a felhasználói felület egyetlen View elemére vonatkozik csak. Téma az elkészített stílust egy Activity-re, vagy akár a teljes alkalmazásra vonatkozik. A res/values alkönyvtárba kell elhelyeznünk Az állomány gyökéreleme: <resources> stílust definiáló elemek: <style> - kötelező attribútuma a name Stílustulajdonságok: <item> - kötelező name tulajdonság. Ez tartalmazza a stílus tulajdonság értékét. Stílusok öröklődhetnek. Az összes tulajdonság átöröklődik a szülő stílusból a gyerek stílusba. Az öröklődés megadása a <style> elem name attribútumában történhet, a következő módon: szülőstílus_azonosítója.gyermekstílus_azonosítója.

PÉLDA STÍLUSOKRA <resources xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Base application theme for API 14+. This theme completely replaces AppBaseTheme from BOTH res/values/styles.xml and res/values-v11/styles.xml on API 14+ devices. --> <style name="appbasetheme" > </style> <!-- API 14 theme customizations can go here. --> <item name="android:textcolor">#00ff00</item> <item name="android:textsize">22sp</item> <item name="android:textstyle">italic</item> <style name="beviteli"> </style> <item name="android:textcolor">@color/feher</item>

STÍLUS BEÁLLÍTÁSA A felhasználandó témát az AndroidManifest.xml állományban állíthatjuk be android:theme tulajdonságnál megadva a téma azonosítóját. Ha az android:theme tulajdonság az <activity> elemen belül szerepel, akkor az adott Activity-re fog vonatkozni a téma Ha az <application> elemen belü szerepel, akkor a teljes alkalmazásra. Forráskódból is beállítható: settheme() metódust kell meghívnunk az oncreate() metódusban a hívás még a felhasználói felület elemeinek létrehozása előtt kell megtenni.

LOKALIZÁCIÓ Több nyelven is elérhetővé érdemes tennünk az alkalmazásunkat A minősítők használatával oldható meg. Az alkalmazásunkban található szöveges elemet alapértelmezetten a res/values/strings.xml állományba kell elhelyezni. Az Android azonban lehetővé teszi, hogy ezen felül a values könyvtárhoz minősítőket tegyünk, és így ott az adott nyelvnek megfelelő változatban hozzuk létre a strings.xml állomány tartalmát. angol verzió esetén hozzuk létre a values-en alkönyvtárt magyar verzió esetén hozzuk létre a values-hu alkönyvtárt ezekbe tároljuk a nyelv specifikus strings.xml erőforrás állományt. A values alkönyvtárban lévő strings.xml állomány az alapértelmezett Ennek hiánya hibát okozhat, ha olyan nyelven szeretné megnézni valaki az alkalmazásunkat, melyhez nem hoztunk létre nyelv specifikus részt.