ANDROID. Ing. Ladislav Pešička



Podobné dokumenty
Začínáme s vývojem pro Android

(c) Miroslav Balík, Ondřej Kroupa, Martin Pelant 11/29/ přednáška. Android projekt. Manifest. Activity. Uživatelské rozhraní (základy)

Android 100% Java telefon. Petr Musil

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Sem vložte zadání Vaší práce.

MATURITNÍ PRÁCE dokumentace

Uživatelské rozhraní. Layouty FrameLayout LinearLayout RelativeLayout TableLayout ScrollView Taby Dialogy ViewFlipper 11/29/11

JAVA Android Java, letní semestr

Obsah. Úvod 11. Vytvoření emulátoru 20 Vytvoření emulátoru platformy Android 4.4 Wearable 22 Spouštění aplikací na reálném zařízení 23

3. ŽIVOTNÍ CYKLUS ACTIVITY

Obsah. Životní cyklus activity Context Intent Spouštění aktivit Interakce s uživatelem. Toast. (c) Miroslav Balík, Ondřej Kroupa, Martin Pelant

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Diplomová práce. Rozvrh hodin pro

Vývoj SW pro mobilní zařízení s Androidem. Ing. Jan Kaláb, IPEX a.s.,

OSOBNÍ PLÁNOVAČ FINANCÍ PRO OS ANDROID

KMI / TMA Tvorba mobilních aplikací

Mobilní malware na platformě Android Přednáška 2. Ing. Milan Oulehla

KMI / TMA Tvorba mobilních aplikací. 2. seminář ZS 2016/2017 Středa 13:15-15:45

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Android za hranicemi Hello World

11/29/11. (c) Miroslav Balík, Ondřej Kroupa, Martin Pelant. 12. Přednáška. Zjišťování polohy Google Mapy OverlayItem Zálohování.

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE. Parametry okolních buněk

Klient Stagu pro Android

Vysoká škola ekonomická v Praze

Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka

Nástroje pro vývoj a publikaci mobilní aplikace v Qt. Martin Straka

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Úvodem 17. Začínáme 21. Výzvy vývoje aplikací pro chytré telefony 22 Z čeho se aplikace pro systém Android skládají 23 Co máte k dispozici 24

Obsah. Úvodem KAPITOLA 1 Začínáme KAPITOLA 2 Projekty a jejich cíle...25

Mobilní malware na platformě Android Přednáška 1. Ing. Milan Oulehla

1. PŘEDSTAVENÍ PLATFORMY ANDROID

Android. Programujeme pro. Jiří Vávrů, Miroslav Ujbányai. DRUHÉ, rozší řené v ydání

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ KATEDRA TECHNOLOGIÍ A MĚŘENÍ BAKALÁŘSKÁ PRÁCE

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika

Začínáme NSZ-GS7. Síťový multimediální přehrávač. Obsah obrazovek, způsob ovládání a technické parametry se mohou změnit bez předchozího upozornění.

České vysoké učení technické v Praze. Fakulta Elektrotechniky XD39NUR. Semestrální práce. Ovládání videokonferencí pomocí mobilního telefonu

Příklad zobrazení toastu s vlastním designem

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

4. UŽIVATELSKÉ ROZHRANÍ

SPRÁVA NÁKLADŮ NA PROVOZ AUTOMOBILU PRO ANDROID

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Ovládání systému inels a imm v OS Android

JAVA. Real-Time Java

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Využití ArcGIS Runtime SDK for Android při vývoji mapových aplikací

KMI / TMA Tvorba mobilních aplikací. 3. seminář ZS 2016/2017 Středa 13:15-15:45

log in AHD_DVR Průvodce rychlým startem První část: základní operace

Rikomagic MK902 II. Uživatelská příručka CZ

Obsah. LayoutInflater. UI model KeyEvent View Tvorba vlastních komponent Canvas Matrix Vlastní EditText

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Boříme zdi klienta Lotus Notes 8. Jan Krejcárek DIGI TRADE

JAVA. Real-Time Java

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

1. ÚVOD 2. ARCHITEKTURA MOBILNÍHO TERMINÁLU 2.1. HARDWARE TERMINÁLU PRO SYMBIAN OS S OS SYMBIAN 2009/

MOBILNÍ OVLÁDAČ PC (MOBIL JAKO VZDÁLENÉ OVLÁDÁNÍ) MOBILE CONTROLLER FOR PC (MOBILE PHONE AS REMOTE CONTROLLER)

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

RMI Remote Method Invocation

KMI / TMA. Tvorba mobilních aplikací. 8. seminář ZS 2017/2018 ČTVRTEK 13:15-15:45

Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13

Vývoj multiplatformní aplikace v Qt

Android. Programujeme pro. Jiří Vávrů, Miroslav Ujbányai. DRUHÉ, rozší řené v ydání

Česká zemědělská univerzita v Praze

Technologie. Osnovy kurzu: Školení správců systému. 1. den, dopolední blok

UJO Framework. revoluční architektura beans. verze

KMI / TMA Tvorba mobilních aplikací

KMI / TMA. Tvorba mobilních aplikací. 3. seminář ZS 2017/2018 ČTVRTEK 13:15-15:45

Mobile application developent

Programování v Javě I. Leden 2008

Rozšíření aplikace mobilního rozhraní pro nevidomé (BlindShell) o přídavné moduly

Android. Programujeme pro. Jiří Vávrů, Miroslav Ujbányai. DRUHÉ, rozší řené v ydání

Programování v Javě I. Únor 2009

Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Tento manuál popisuje kroky potřebné pro update hlavní jednotky Bluetooth firmware. Přečtěte si všechna varování a kroky pečlivě před tím než začnete

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

ROZŠÍŘENÁ REALITA PRO PLATFORMU ANDROID

Rikomagic MK05. Uživatelská příručka CZ

(c) Miroslav Balík, Ondřej Kroupa, Martin Pelant 11/29/ Přednáška. PreferenceActivity. Intenty (pokročilé) Vývojářské nástroje

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

VYUŽITÍ MOBILNÍ PLATFORMY ANDROID K OVLÁDÁNÍ PŘÍSTROJOVÉ TECHNIKY

1.2 Operační systémy, aplikace

Programátorská příručka

První kapitola úvod do problematiky

Uživatelská příručka CZ

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

Bezpečnost OS Android Bezpečnost instalačních APK balíčků OS Android

[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI - SERVEROVÁ ČÁST]

Apache Cordova (PhoneGap 3)

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY ANDROID APLIKACE PRO VÝUKU SLOVNÍ ZÁSOBY ANDROID APPLICATION FOR LEARNING VOCABULARY

Registrace do systému AirKey

ANT. Aplikační programování v Javě (BI-APJ) - 1 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Úvod do programovacích jazyků (Java)

MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ

Android. Programujeme pro. Miroslav Ujbányai

Mobilní aplikace pro ovládání laboratorního napájecího zdroje

Transkript:

ANDROID Ing. Ladislav Pešička

HISTORIE 2005 Google kupuje Android, Inc. 2007 ohlášena Open Handset Alliance Android je open sourced 2008 Android SDK 1.0 vydáno telefon G1 od HTC 2009 nové verze 1.5, 1.6, 2.0, 2.1, > 20 zařízení na Androidu 2010 verze 2.2 (Froyo), > 60 zařízení 2011 Barcelona Mobile Congress 2011 převládala zelená barva 2011 verze 4.0 (Android Ice Cream Sandwitch) 2

VÝVOJ Android SDK zdarma včetně emulátoru zařízení Eclipse + ADT plugin celá řada dalších vývojových nástrojů a prostředí, např. Adobe AIR, App Inventor http://appinventor.googlelabs.com/about/ 3

EMULÁTOR klávesové zkratky: C:\sw\android-sdk-windows\tools>emulator -help-keys Klávesová zkratka činnost Ctrl+F11, Ctrl+F12 Emulátor na výšku / šířku Home Tlačítko Home Escape Tlačítko Back F2, PageUp Tlačítko Menu Alt+Enter fullscreen

HALLO WORLD package com.example.helloandroid; import android.app.activity; import android.os.bundle; import android.widget.textview; public class HelloAndroid extends Activity { @Override public void oncreate(bundle savedinstancestate) { } } super.oncreate(savedinstancestate); TextView tv = new TextView(this); tv.settext("hello, Android"); setcontentview(tv); UI v programu 5

HALLO WORLD PO ANDROIDSKU package com.example.helloandroid; import android.app.activity; import android.os.bundle; public class HelloAndroid extends Activity { @Override public void oncreate(bundle savedinstancestate) { } super.oncreate(savedinstancestate); setcontentview(r.layout.main); } UI definované 6 v XML souboru

AUTOMATICKY GENEROVANÁ R TŘÍDA package com.example.helloandroid; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class id { public static final int textview=0x7f050000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } } 7

ANDROID V KOSTCE Linuxové jádro řady 2.6 Abstrakce - odděluje HW a zbytek SW Správa procesů, paměti, síťování, bezpečnost Dalvik virtul machine Syntaxe Javy, ale pozor není kompatibilní s J2ME Může běžet více virtuálních strojů současně Formát.dex (Dalvik executable) Každá Android aplikace samostatný proces vlastní Dalvik virtual machine unikátní Linux userid 8

ANDROID V KOSTCE Linuxové jádro Jazyk C Není standardní glibc knihovna, ale libc odvozená od BSD Uživatelské aplikace V Javě (lze i nativní kód ale obvykle víc starostí než přínos) Pouze syntax jazyka Java Odlišnosti oproti J2SE i J2ME Distribuce aplikací Android package.apk 9

ANDROID - BEZPEČNOST iphone 1 zdroj aplikací x Android více možností (různé přístupy) uživatel při instalaci aplikace musí schválit práva (co aplikace vyžaduje) otázkou je, zda tak nečiní formálně http://mobil.idnes.cz/aplikace.asp?c=a100810_193609_programy_vok http://mobil.idnes.cz/aplikace.asp?c=a100818_205228_tech-a-trendy_ram http://www.viry.cz/go.php?p=viry&t=novinka&id=2681 (vzdálená instalace aplikací) 10

LINUXOVÉ JÁDRO verze 2.6.* základní systémové služby: bezpečnost správa paměti správa procesů síťování (network stack) ovladače (driver model) oddělení HW a SW 11

APLIKACE - OCHRANA psány v Javě kompilovány do Android Package (.apk) 1.apk 1 aplikace každá aplikace vlastní security box každá odlišný uživatel (Linux user ID) práva na všechny soubory aplikace jen tomuto uživateli každý proces má vlastní virtuální stroj (izolace) každý aplikace běží ve vlastním procesu 12

APLIKACE - SDÍLENÍ DAT 2 aplikace sdílet stejné UserID => přistupovat ke stejným datům, lze i ve stejném procesu, sdílet stejnou VM aplikace může vyžádat přístup ke kontaktům uživatele, SMS zprávám, SD kartě, kameře, Bluetooth aj. všechna práva musí udělit uživatel v době instalace aplikace 13

NATIVNÍ KNIHOVNY C/C++ open source knihovny, mimo jiné: Apache Harmony implementace Javy Webkit web rendering engine (používá Safari, Chrome) SQLite SQL databáze OpenGL 3D grafika OpenSSL přepsaná verze standardní C knihovny (Bionic) 14

DALVIK VM pro Android bere v úvahu omezení (baterie, paměť, výkon CPU) jsme zvyklí: Java Source Code => Java Byte Code Android: Java Source Code => Java Byte Code => Dalvik Byte Code nástroj dex: *.class -> *.dex 15

PŘEKLAD KÓDU dex compiler využívá byte code, nikoliv java source zdroj: http://ofps.oreilly.com/ titles/9781449390501/ ch02.html 16

APLIKACE předinstalované stažené z Android marketů vámi vytvořené.apk (application package file) dalvik executable + resources + native code náš kód v Javě (převedený) obrázky, hudba,video, XML popis layoutů, jazykové verze 17

PODPISOVÁNÍ APLIKACÍ aplikace musí být podepsány před instalací na zařízení pro vývoj podepsané debug key (pozor, může vypršet, viz dále) pro distribuci podepsané vlastním privátním klíčem, nejde debug klíčem vypršení certifikátu se testuje jen v době instalace update aplikace podepsat stejným certifikátem (pokud nesouhlasí, chce jiný package name jako úplně novou aplikaci) 18

EXPIRACE DEBUG CERTIFIKÁTU vyprší 365 dní po vytvoření debug: [echo] Packaging bin/samples-debug.apk, and signing it with a debug key... [exec] Debug Certificate expired on 8/4/08 3:43 PM řešení: smazat c:\users\jmeno\.android\ debug.keystore znovu se vytvoří více info ohledně certifikace aplikací viz http://developer.android.com/guide/publishing/app-signing.html 19

VERZOVÁNÍ APLIKACE aplikace musí být verzovaná součástí manifestu aplikace, 2 atributy android:versioncode integer číslo, nová verze aplikace vyšší číslo lze ho snadno programově porovnat android:versionname řetězec, vhodné pro uživatele <major>.<minor>.<point> 20

PŘ. VERZE APLIKACE <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.package.name" android:versioncode="2" android:versionname="1.1"> <application android:icon="@drawable/icon" android:label="@string/app_name">... </application> </manifest> 21

VERZE PLATFORMY API LEVEL - velmi rychlý vývoj verzí - jednoduchá identifikace (celé číslo int) Android platforma poskytuje framwork API: Základní množina balíků a tříd Množina XML elementů a atributů Pro deklarování manifestu Pro deklarování a přístup ke zdrojům Množina intentů Množina práv, které aplikace může žádat 22

API LEVEL Další informace: http://developer.android.com/guide/appendix/ api-levels.html verze název API level Android 4.0 Ice Cream Sandwitch 14 Android 3.2 Honeycomb mr2 13 Android 3.1x Honeycomb mr1 12 Android 3.0 Honeycomb 11 Android 2.3.3 Gingerbread 10 Android 2.3 Gingerbread 9 Android 2.2 Froyo 8 Android 2.1 Eclair 7 Android 2.0.1 Eclair 6 Android 2.0 Eclair 5 Android 1.6 Donut 4 Android 1.5 Cupcake 3 23

SOCHY PŘED SÍDLE GOOGLE 24

POUŽITÍ API LEVEL V MANIFESTU Element v manifestu <uses-sdk> Tři základní atributy: android:minsdkversion Minimální API, kterou aplikace vyžaduje android:targetsdkversion API pro které je aplikace navržena, testována android:maxsdkversion Max. API na kterém je aplikace schopna běžet Nedoporučuje se příliš využívat v novějších verzích není vynucováno Použití i pro filtrování v Android Marketu 25

PŘ. ANDROID 2.3.3 PLATFORM API level: 10 přidává např: NFC, Bluetooth non-secure socket connection vestavěné aplikace: Browser, Calculator, Camera, Clock, Contacts Custom Locale, Dev Tools, Downloads, Email Gallery, Messaging, Music IME Japonstina, Cinstina, Latin Phone, Search, Settings, Speech Recorder Spare Parts (developer app) 26

27

ZÁKLADNÍ STAVEBNÍ BLOKY Activity jedna obrazovka UI, nezávislé na sobě můžeme pustit aktivitu jiné aplikace Service běží na pozadí, nemá UI př. přehrávání hudby, stahování dat na pozadí Content Provider správa sdílených dat (fs, databáze, web, ) aplikace se může dotazovat na data nebo je měnit jak sdílet data ven z aplikace (sms, kontakty, ) Broadcast Receiver reaguje na zprávy vně i zevnitř aplikace 28

ACTIVITY Hlavní stavební blok aplikací aplikace se může skládat z 1 nebo několika aktivit Představuje vizuální UI, např. výběr položky z menu, zobrazení fotky atd. Příklad 4 aktivit dialer, contacts, view contact, new contact 29

PŘ: KALENDÁŘ, HRA Kalendář - aktivity Zobrazit den Zobrazit týden Zobrazit měsíc Zobrazit agendu Editace události Editace preferencí Zobrazení alertu Hra aktivity Hraní hry Nastavení hry 30

ACTIVITY STACK Systém si pamatuje historii aktivit, jak se uživatel přesune k nové aktivitě Lineární navigační historie aktivit Tlačítkem BACK se lze vrátit k předchozí aktivitě 31

TASK Posloupnost aktivit, kterou uživatel vykoná pro splnění nějakého cíle Př.: poslání textové zprávy s přílohou 32

SPUŠTĚNÍ AKTIVITY VLIV TLAČÍTEK BACK, HOME Tlačítko BACK zrušení aktivity Tlačítko HOME přesun aktivity do pozadí 33

NAHRAZENÍ AKTIVITY 34

MULTITASKING př.: zatímco se načítá mapa, prohlédnu si kalendář a pak se vrátím k mapě 35

INTENT (ZÁMĚR) Když uživatel vykoná určitou akci nad nějakými daty, např. touching mailto:info@nekde.neco.cz inicializuje se intent (intent objekt) a výsledkem může pak být spuštění aktivity abstrakce operace, kterou je třeba provést 36

INTENT generované systémem přišla SMS, změna polohy, generované aplikací otevři URL, vyfoť snímek, přehraj hudbu databáze intentů: http://www.openintents.org/en/intentstable 37

VSTUPNÍ BODY APLIKACE tzv. LAUNCHER, viz manifest seznam všech launcherů v telefonu seznam aplikací na domovské obrazovce reakce na Intent kombinace akce a např. URL akce: android.intent.action.view android.intent.action.send na Intent může reagovat více aplikací 38

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="toast.pesi.cz" android:versioncode="1" android:versionname="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".toastik" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher"/> </intent-filter> </activity> </application> </manifest> 39

MANIFEST AndroidManifest.xml deklarace komponent deklarace práv, které aplikace požaduje (přístup k síti, čtení kontaktů, ) deklarace minimum API level deklarace používaného hw,sw (kamera, bluetooth služby, multitouch ) API library, které chce využívat (např. Google Maps library klíč) 40

MANIFEST - KOMPONENTY komponenty je potřeba deklarovat: <activity>.. pro aktivity <service>.. pro služby <receiver>.. pro broadcast receivery <provider>.. pro content provider pokud jsou komponenty ve zdrojovém kódu, ale nejsou v manifestu nemohou být spuštěny (výjimkou broadcast receiver) 41

MANIFEST - CAPABILITY jaké intenty může aplikace poskytnout ostatním přidání elementu <intent-filter> systém identifikuje komponenty, které mohou reagovat na intent tím, že prohledá přijatý intent s intent filters v manifestech aplikací 42

MANIFEST POŽADAVKY APLIKACE např: chci kameru a API Level 7 screen size and density (<supports-screens>) input configuration <uses-configuration> hw klávesnice, trackball, device features <uses-feature> kamera, světelný senzor, bluetooth platform version <uses-sdk> Je třeba mít na paměti rozmanitost zařízení, kde všude Android běží 43

MANIFEST - PERMISSIONS chránit kritická data a služby přes zneužitím každé právo jednoznačný název android.permission.call_emergency_number S android.permission.read_owner_data android.permission.set_wallpaper android.permission.device_power aplikace deklaruje v <uses-permission> 44

PERMISSIONS PŘÍKLAD <uses-permission android:name="android.permission.access_wifi_state" /> <uses-permission android:name="android.permission.change_wifi_state" /> seznam: http://developer.android.com/reference/android/manifest.permissio n.html 45

USER INTERFACE - LAYOUT Programově XML soubor <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi d" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello, I am a Button" /> </LinearLayout> 46

DEFINICE UI Definice v layout xml souboru, unikátní id: <Button android:id="@+id/my_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/my_button_text"/> Vytvoření instance s využitím layoutu: Button mybutton = (Button) findviewbyid(r.id.my_button); R.id.my_button Pro usnadnění internacionalizace nemusíme text vkládat přímo 47

ŽIVOTNÍ CYKLUS AKTIVITY Aktivní, running Na popředí obrazovky, zaměřena pozornost uživatele Paused Ztracen focus, stále viditelná (částečně) uživateli Např. leží pod jinou aktivitou, která nezakrývá celou plochu Stopped Překryta jinou aktivitou 48

FCE VOLANÉ PŘI PŘECHODU MEZI STAVY AKTIVITY void oncreate(bundle savedinstancestate) void onstart() void onrestart() void onresume() void onpause() void onstop() void ondestroy() 49

50

OBSLUHA UDÁLOSTI - TLAČÍTKO Listener (posluchač) Programově Deklarativně Každé tlačítko vlastní posluchač (typicky anonymní třída) Lze i společný listener 51

DEKLARACE LISTENERU V souboru main.xml: android:id="@+id/button1" android:text="konec" android:onclick="stisknutotlacitko" Deklarace události Obslužná funkce: public void StisknutoTlacitko(View v) { } finish(); 52

LISTENER PROGRAMOVĚ Do metody oncreate() přidáme: final Button button3 = (Button) findviewbyid(r.id.button3); Použití anonymní třídy button3.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { Toast.makeText(v.getContext(), "ahoj", Toast.LENGTH_LONG).show(); } }); Zobrazí info zprávu (toast) 53

EDITTEXT POUŽITÍ final EditText edit1 = (EditText) findviewbyid(r.id.edittext1); // získání číselné hodnoty int cislo = Integer.parseInt(edit1.getText().toString()); // změna obsahu edit1.settext(string.valueof(cislo)); 54

POUŽITÁ LITERATURA Zpracováno s využitím materiálů a obrázků z: http://developer.android.com/ http://www.root.cz/clanky/programovani-pro-android-v-prikladech/ http://zdrojak.root.cz/clanky/vyvoj-pro-android-ii/ http://www.onlinecomputerbooks.com/free-android-books.php 55