ANDROID ALKALMAZÁSFEJLESZTÉS

Hasonló dokumentumok
ANDROID ALKALMAZÁSFEJLESZTÉS

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

ANDROID ALKALMAZÁSFEJLESZTÉS

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

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

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

Broadcast Service Widget

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

4. A konténerek Konténerek LinearLayout

Alap számológép alkalmazás

ANDROID ALKALMAZÁSFEJLESZTÉS

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

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

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

3. Egyszerű komponensek

Android Pie újdonságai

- láda- vagy játékleírásból láda/játéklistába visszatérve nem a lista elejére ugrik, hanem ugyanoda, ahol voltunk a listában

Android Wear programozás. Nyitrai István

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

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

Adattárolás Szenzorok

Avery Design Pro 4.0

Képek és grafikák. A Beszúrás/Kép parancsot választva beszúrhatunk képet ClipArt gyűjteményből, vagy fájlból. 1. ábra Kép beszúrása

1. Prestigio MultiPad 2. Tápadapter 3. Hordozótok 4. USB-kábel 5. Rövid használati útmutató 6. Garancialevél 7. Jogi és biztonsági közlemény


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

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

libgdx alapok, első alkalmazás

Programozási technológia

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

Android 5.0.

Programozási nyelvek Java

Windows hálózati adminisztráció segédlet a gyakorlati órákhoz

Grafikus felületek készítése 1.

ZH mintapélda. Feladat. Felület

Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer

ANDROID ALKALMAZÁSFEJLESZTÉS

Programozási környezetek

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

VISUAL BASIC ALAPISMERETEK

DKÜ ZRT. A Portál rendszer felületének általános bemutatása. Felhasználói útmutató. Támogatott böngészők. Felületek felépítése. Információs kártyák

Adobe. indesign. Kezdő. lépések. + hasznos tippek és trükkök. Kiadás dátuma: :00

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Szuper leaderboard. Display hirdetések. A főoldal tetején, a profession fejléc felett megjelenő banner típus. MÉRET (PX): 980x100. HETI ÁR: Ft

Kedves versenyző, az alábbi feladatok illetve egy interneten kitöltendő teszt megoldására 90 perc áll rendelkezésedre.

3. modul - Szövegszerkesztés

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

Szakköri segédanyag. Írta: Bátfai Norbert október 26.

A Java nyelv. Dialógus ablakok. Elek Tibor

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

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

T52WA 15 -os szélesvásznú LCD monitor Felhasználói kézikönyv

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

Oszkar.com Android alkalmazás v1.2

Point of View Mobii 945 IPS Android 4.1 Tablet PC. Tartalomjegyzék Általános tudnivalók használathoz Jogi nyilatkozat...

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

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

T201W/T201WA 20 -os szélesvásznú LCD monitor Felhasználói kézikönyv

Kézikönyv. Áfa analitika lekérdezése

Bevezetés a Python programozási nyelvbe

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

1. Prestigio MultiPad 2. Tápadapter 3. Hordozótok 4. USB-kábel 5. Rövid használati útmutató 6. Garancialevél 7. Jogi és biztonsági közlemény

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

ANDROID ALKALMAZÁSFEJLESZTÉS

Gate Control okostelefon-alkalmazás

C++ programozási nyelv

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

Programozási technológia

Programozás II gyakorlat. 6. Polimorfizmus

ANDROID ALKALMAZÁSFEJLESZTÉS

12.óra jquery Framework #1. Gyimesi Ákos

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

Komplex feliratok készítése Maplex-el. Beke Dániel

Word VI. Lábjegyzet. Ebben a részben megadhatjuk, hogy hol szerepeljen a lábjegyzet (oldal alján, szöveg alatt).

Point of View Android 2.3 Tablet Kézikönyv ProTab 2XL

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

Tartalomjegyzék. 1. Rövid áttekintés Az alkalmazás bemutatása Vonalak Részletes lista... 5

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

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

Fogalomtérkép. IHMC CmapTools version Felhasználása. Elérhetőség. Rendszerkövetelmény (Windows OS esetén):

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

A TANTÁRGY ADATLAPJA

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

Mobil Informatikai Rendszerek

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

Multimédiás adatbázisok

Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika

Gate Control okostelefon-alkalmazás

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

Tájékoztató a kollégiumi internet beállításához

Microsoft Office PowerPoint 2007 fájlműveletei

Az AutoCAD Architecture 2012 újdonságai

8. fejezet: Kijelölések és görbék. A kijelölés alapjai. A fejezet tartalmából:

Java programozási nyelv 6. rész Java a gyakorlatban

BEÁGYAZOTT RENDSZEREK ALAPJAI. Grafikus benchmark alkalmazás

SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME

Duál Reklám weboldal Adminisztrátor kézikönyv

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Programozás II gyakorlat. 7. Példák a polimorfizmus alkalmazásaira

Hogyan készítsünk e-adóbevallást? Segédlet a Főpolgármesteri Hivatal Adó Főosztályához benyújtható elektronikus iparűzési adóbevalláshoz

Átírás:

ANDROID ALKALMAZÁSFEJLESZTÉS Felhasználói felület megismerése Különböző felbontások támogatása s i c z - 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 2013. szeptember 20.

Deprecated Layouts 2 Ősosztály: ViewGroup Olyan tárolók, melynek gyermeke lehet: View / Widget Tároló / Layout TableLayout AbsoluteLayout TabLayout Gallery LinearLayout UI elemek egymás után. Horizontal vagy Vertical. Méretezés arányokkal. RelativeLayout Egymáshoz képest adhatjuk meg pozíciót. Leghatékonyabb layout. Speciálisak ScrollView HorizontalScrollView ListView GridView ViewPager ViewFlipper FrameLayout Minden gyermek a bal felső sarokhoz igazodik GridLayout Mozaik szerű elrendezés Android 4.0-tól!= GridView! Bővebben itt!

View / Widget 3 Button, TextView, EditText, Checkbox, Radio button, Toogle button, Spinner, ImageView,. <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/txt"... /> Egyedi azonosító, hivatkozás: Java: R.id.button1 XML: @id/button1 Méret szélesség, magasság: MATCH_PARENT WRAP_CONTENT [SIZE][dp px] Resource elérés, res/strings.xml: <item name="txt">gomb</item>

Dialogs 4 Ősosztály: Dialog Az aktuális Activity / Fragment előtt jelenik meg Beépített gombok: PositiveButton NegativeButton NeutralButton AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setmessage(r.string.dialog_message).settitle(r.string.dialog_title); AlertDialog dialog = builder.create();

Pickers Lényegében funkció specifikus Dialog: DatePicker TimePicker Bővebben: http://developer.android.com/guide/topics/ ui/controls/pickers.html 5

Notifications Toast notification Egyszerű szöveges mező, felbukkanó buborékban Toast.makeText( getapplicationcontext(), "Buborék", Toast.LENGTH_SHORT ).show(); 6 Status Bar notification Egy értesítési terület. Jelly Bean óta kibontható. Notifications: Egyszeri értesítés, Clear gomb hatására törölhető Ongoing: folyamatban lévőekről értesítés Pl.: zenelejátszó. Nem törölhető. 1. Content title 2. Large icon 3. Content text 4. Content info 5. Small icon 6. Time

ActionBar 7 Android 3.0 (API level 11) óta érhető el: Kitüntetett hely az alkalmazás nevének és ikonjának - brand Navigáció: beépített Tab kontroll a Fragment váltásokhoz Jellemző funkciók (Pl.: keresés, megosztás, létrehozás) megszokott helyen Bővebben: http://developer.android.com/guide/topics/ui/actionbar.html

Adapter views 8 ListView, GridView, Spinner, ViewPager, Gallery Az adatokat egy adapteren keresztül biztosítjuk az UI számára. Előre implementált adapter (Pl.: ArrayAdapter) Mi implementáljuk (BaseAdapter leszármazott) Módszer előnyei Az adatok tárolási módja nem meghatározott Pl.: SD kártya, SQLite adatbázis, internet, Vagy: lista, tömb, hashmap, UI szétválasztva az adattól Optimális erőforrás felhasználás Nagy adatmennyiség kezelése (akár >10E listaelem kezelése)

Adapter views (2) hogyan működik? 9 Ősosztály: BaseAdapter Implementációk: ArrayAdapter, SpinnerAdapter, CursorAdapter, public class CustomAdapter extends BaseAdapter{ int getcount() {} Object getitem(int position) {} long getitemid(int position) {} View getview(int position, View convertview, ViewGroup parent) {} }

Adapter views (3) hogyan működik jól? 10 Probléma: Minden pozicióban: Adapter.getView(); Minden esetben új View objektumot létrehozni költséges! Több ezer elem esetén? Nem látható UI elemek újrahasznosítása: public View getview(int position, View convertview, ViewGroup parent) { ViewHolder holder; if (convertview == null) { convertview = minflater.inflate(r.layout.list_item, null); holder = new ViewHolder(); holder.text = (TextView) convertview.findviewbyid(r.id.text); convertview.settag(holder); } else holder = (ViewHolder) convertview.gettag(); } holder.text.settext(data[position]); return convertview;

XML drawables 11 Egyszerűbb alakzatokat, rajzokat, képeket, viselkedéseket leírhatunk XML-ben is Példák Layer-list Több kép együttes kezelése rétegekben. State-list Különböző állapotokhoz rendelt grafikai elemek. Például focused, pressed, hover, stb Level-list Különböző szintekhez rendelt grafikai elemek. Például Wi-Fi, fényerő vagy akkumulátor állapotokat ábrázoló képek. Shape Egy egyszerű alakzat (rectangle, oval, ) leírása. Kitöltési szín, vonal szín, sarkok kerekítése,

Styles / Themes 12 Stílusok alakíthatóak ki, melyeket nagy hatékonysággal lehet újrahasznosítani, és egységesen kezelni. res/values/styles.xml <resource> <style name="mystyle" parent="@android:style/widget.button"> <item name="android:background">#556677</item> </style> </resource> res/layout/activity_main.xml <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="gomb" style="@style/mystyle" />

Különböző felbontású készülékek támogatása

Problémák 14

Qualifiers (minősítők) 15 Különböző esetekre különböző megközelítés szükséges. Sok IF és SWITCH helyett minősítőket definiáltak. Automatikus kiértékelés, aktuálisan jellemző mappából dolgozik. Néhány minősítő: Gyakorlatban: Ugyanaz a kép 3 különböző méretben Kombinálhatóak! Ugyanazon felület különböző leírása portrai és landscape Ikon méretek 36x36 for low-density 48x48 for medium-density 72x72 for high-density 96x96 for extra high-density

9-Patch 16 Dinamikus tartalom esetén, ha egyéni hátteret használunk akkor az eltorzulhat. Pl.: egy gombnál Speciális PNG fájllal meghatározhatjuk mely részeket nyújthatjuk meg a mintaképen. (bal oldal és fent) Szélén fekete pixelekkel jelöljük meg ezt a nyújtható területet. Jobb oldalt és lent a kitöltési területet jelölhetjük meg. Mindig *.9.png kiterjesztésű Van hozzá eszköz: [SDK path] / tools / draw9patch.bat

Density Independent Pixel (DIP, DP) 17 DP vagy DIP (Density-Independent Pixel) Egy virtuális pixel-egység, sűrűség-független képpont. 160dpi felbontású készüléken 1dp = 1px. Eltérő pixelsűrűség esetén automatikusan átváltja az alábbi módon: pixels = dips * (density / 160) Ez alapján néhány példa: 160dpi felbontás esetén, 10dp = 10px 240dpi felbontás esetén, 10dp = 15px SP vagy SIP (Scale-Independent Pixel) Mint a DP, csak szöveg esetén használatos. android:textsize="16sp"

Responsive design 18