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



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

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

1. PŘEDSTAVENÍ PLATFORMY ANDROID

ANDROID. Ing. Ladislav Pešička

MATURITNÍ PRÁCE dokumentace

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

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

TECHNOLOGIE NFC A JEJÍ ZABEZPEČENÍ

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

Témata v MarushkaDesignu

Kali Pwn Pad ~ vyzbrojen tabletem je nebezpečím pro společnost Kamil Vávra

Apache Cordova (PhoneGap 3)

Android 100% Java telefon. Petr Musil

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

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

Technická specifikace

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

ZŠ ÚnO, Bratří Čapků 1332

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

Configuration Management

Ant aneb Ferda Mravenec, práce všeho druhu

Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Mobilní aplikace pro správu UHF RFID čtečky

Tablexia. Vývoj multiplatformních her pomocí opensource technologie libgdx. Matyáš Latner

Životopis Jakub Dušek

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

ZÁVĚREČNÁ STUDIJNÍ PRÁCE dokumentace

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

Bankovní institut vysoká škola Praha

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

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

ONLINESKLAD.CZ. Vysvětlení pojmů: V tomto manuálu i v celém systému figurují 3 základní osoby: Popis administračního rozhraní

UNIVERZITA PALACKÉHO V OLOMOUCI. PEDAGOGICKÁ FAKULTA Katedra technické a informační výchovy. Bakalářská práce. David Veselý

Selenium, Emma, Checkstyle. Jiří Mach

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

Vývoj software pro Linuxové distribuce. Installfest Praha,

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

OSOBNÍ PLÁNOVAČ FINANCÍ PRO OS ANDROID

DTM (Digitální technická mapa) v Marushka Designu

Vysoká škola ekonomická v Praze

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

Android. Programujeme pro. Miroslav Ujbányai

Vizualizace TIN (trojúhelníková nepravidelná síť) v Marushka Designu

Starting Guide PortStore4 První kroky sběru dat z PBX a ipbx pomocí PortStore4

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

Android. Programujeme pro. Miroslav Ujbányai

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

Odhady, nabídky, měření a historie

ZŠ ÚnO, Bratří Čapků 1332

Portál veřejné správy

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

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

WPA - Konfigurace Java EE aplikace (Maven, struktura war arch. kontejnerem Tomcat 8

HTML šablona v MarushkaDesignu

Relé WiFi modul ESP-01

OpenNebula pro začátečníky SUT Tomáš Kukrál

Vkládání dat do databázové aplikace

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE. Určení polohy objektu pomocí kombinace sensorů mobilního telefonu

3D vektory a mračna bodů v Marushka Designu

IRAE 07/08 Přednáška č. 10

SDC aplikace. Zrychlený návod na zprovoznění

16.990,- Xperia Z MOBILNÍ TELEFONY GSM PŘÍSLUŠENSTVÍ 3.490, ,- březen. to nejlepší od Sony ve smartphonu. Xperia miro.

První kapitola úvod do problematiky

NEJRYCHLEJŠÍ INTERNET V POLABÍ CENÍK

Instalace a konfigurace ústředen Asterisk. Bc. Marek Červenka, IPEX a.s.,

Damocles 2404i manuál

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

- Aplikace je napsána v C#.NET, je instalována na webovém serveru - Data jsou ukládána v databázi MS-SQL 2005 a vyšší

Portál veřejné správy

Zadávací dokumentace Stránka 1 z 8

1. V notebooku (v hlavním hostitelském operačním systému (MS Windows)) mít nainstalováno a nakonfigurováno:

Linux na mobilních telefonech

První kroky s METEL IEC IDE

Bezpečnostní IP kamera

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

ZÁPADOČESKÁ UNIVERZITA V PLZNI

JAVA Android Java, letní semestr

KMI / TMA Tvorba mobilních aplikací

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

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

Software process (improvement)

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


KIV/PIA 2013 Jan Tichava

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í.

REZERVACE24 S.R.O. PROVOZOVATEL SYSTÉMU RISORSA PRO VĚRNOSTNÍ PROGRAMY. Případová studie. Implementace věrnostního programu s.

[ASP].NET Core Demystified. Miroslav Holec. Konzultant a lektor [ASP].NET Core.

BAKALÁŘSKÁ PRÁCE. Aplikace Spotting pro OS Android Milan Jiříček. Vedoucí práce: Mgr. Jiří Zacpal, Ph.D.

Informační ikony v MarushkaDesignu

D2 - GUI design. Radek Mečiar

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

1 z :17

Specifikace pro SW aplikaci Start-up business.

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

Inthouse Systems s.r.o. Specifikace. Inthouse App a Inthouse Studio pro Siemens Climatix 6XX. Verze software 1.X. Revize dokumentu 6

ZŠ ÚnO, Bratří Čapků 1332

Transkript:

Ing. Jan Kaláb, IPEX a.s., 6.12.2012

Obsah 1. Histrie OS Andrid a vývjvé milníky 2. Vnitřní architektura systému 3. Prgramvací jazyky 4. Vývjvá prstředí 5. Ladění 6. Distribuce aplikací 7. Dem aplikace pr tut knferenci 8. Užitečné dkazy

Histrie OS Andrid a vývjvé milníky 2003 2005 2007 2008 Andrid Inc. Andy Rubin Ggle kupuje Andrid Open Handset Alliance HTC Dream (G1) 2009 2010 2011 2012 1.5 Cupcake 1.6 Dnut 2.0 Eclair 2.2 Fry 2.3 Gingerbread 3.0 Hneycmb 4.0 Ice Cream Sandwich 4.1 Jelly Bean 4.2...

Vnitřní architektura systému https://cmmns.wikimedia.rg/wiki/file:andrid-system-architecture.svg

Prgramvací jazyky Java 6 Dpručen Dalvik VM Spr s Oracle XML Ppis zdrjů UI Řetězce Styly C NDK JNI SDL Různé architektury! Další Bash SL4A Pythn, Lua, Perl, PHP,

Vývjvá prstředí Eclipse Dpručen ADT Dá se naklikat vše UI Šablny aplikací Build Emulátr Debugger Ant CLI Build, install, lint,

Vývjvá prstředí NetBeans NBAndrid Visual Studi NDK Maven andrid-maven-plugin vim vim-andrid

Ladění Andrid Debug Bridge adb lgcat stack trace filtr (dalvikvm:s) andrid.util.lg.wtf("tag", "zpráva"); I/Velvet.VelvetFactry( 1728): refreshing search histry. I/LcatinManagerService( 291): request netwrk (pid 1728) 300000 300000 E/GPS ( 291): [gps_inject_lcatin][line = 721] : Failed with GPS driver is nt initialized I/Gmail ( 2138): MainSyncRequestPrt: lwestbkwdcnvid: 0, highesthandledserverop: 2326570, nrmalsync: true D/Digital Clck( 1987): Update bradcast received.

Ladění Device Mnitr Švýcarský nůž lgcat Hierarchie UI Prfilvání OpenGL

Distribuce aplikací Play Stre Registrace 25 $ Omezená velikst 50 MB APK 2 2 GB data Statistiky Aktualizace Crash reprty Licencvání Ruční distribuce Umístíte APK na web Nutn pvlit instalace v zařízení Alternativní markety GetJar SlideMe Amazn

Služby a funkce API Ntifikace Telefnie Kntakty SIP Zprávy NFC Gelkace Senzry OpenGL Media Bluetth Síťvá spjení Správa účtů Rzpznávání hlasu Syntéza hlasu Ftaparát Vstupní metdy Gesta SQLite databáze

DEMO Zadání: Vytvřit dednduchu aplikaci s jedním tlačítkem, která p stisknutí tevře prhlížeč s webem knference Terie a praxe IP telefnie. SDK https://develper.andrid.cm/sdk Windws, Linux, Mac

Zalžení prjektu andrid create prject -t andrid-4 #1.6 -p. -k cz.ipex.iptelefn -a IpActivity git init git add git cmmit ant debug install

AndridManifest.xml <?xml versin="1.0" encding="utf-8"?> <manifest xmlns:andrid="http://schemas.andrid.cm/apk/res/andrid" package="cz.ipex.iptelefn" andrid:versincde="1" andrid:versinname="1.0" > <uses-sdk andrid:minsdkversin="4" andrid:targetsdkversin="16" /> <applicatin andrid:label="@string/app_name" andrid:allwbackup="true"> <activity andrid:name="ipactivity" andrid:label="@string/app_name"> <intent-filter> <actin andrid:name="andrid.intent.actin.main" /> <categry andrid:name="andrid.intent.categry.launcher" /> </intent-filter> </activity> </applicatin> </manifest>

Zdrje res values (řetězce, styly, metriky, barvy, ple, ) values-cs (české řetězce, styly, metriky, barvy, ) layut (vzhled) layut-large (vzhled pr tablety) layut-land (vzhled na šířku) drawable (bitmapy) drawable-hdpi (bitmapy ve vyském rzlišení) menu raw

Řetězce values/strings.xml <?xml versin="1.0" encding="utf-8"?> <resurces> <string name="app_name" translatable="false">terie a praxe IP telefnie</string> <string name="buttn">open web</string> </resurces> values-cs/strings.xml <?xml versin="1.0" encding="utf-8"?> <resurces> <string name="buttn">otevřít web</string> </resurces>

Layut <?xml versin="1.0" encding="utf-8"?> <RelativeLayut xmlns:andrid="http://schemas.andrid.cm/ apk/res/andrid" andrid:layut_width="fill_parent" andrid:layut_height="fill_parent" > <Buttn andrid:id="@+id/buttn" andrid:layut_width="wrap_cntent" andrid:layut_height="wrap_cntent" andrid:text="@string/buttn" andrid:layut_centerinparent="true" andrid:nclick="penbrwser" /> </RelativeLayut>

Crash! P stisku tlačítka aplikace spadne! Prč?

Crash! P stisku tlačítka aplikace spadne! Prč? Lgcat! E/AndridRuntime(14716): FATAL EXCEPTION: main E/AndridRuntime(14716): java.lang.illegalstateexceptin: Culd nt find a methd penbrwser(view) in the activity class cz.ipex.iptelefn.ipactivity fr nclick handler n view class andrid.widget.buttn with id 'buttn' E/AndridRuntime(14716): at andrid.view.view$1.nclick(view.java:3578) E/AndridRuntime(14716): at andrid.view.view.perfrmclick(view.java:4084) E/AndridRuntime(14716): at andrid.view.view$perfrmclick.run(view.java:16966) E/AndridRuntime(14716): at andrid.s.handler.handlecallback(handler.java:615) E/AndridRuntime(14716): at andrid.s.handler.dispatchmessage(handler.java:92) E/AndridRuntime(14716): at andrid.s.lper.lp(lper.java:137) E/AndridRuntime(14716): at andrid.app.activitythread.main(activitythread.java:4931) E/AndridRuntime(14716): at java.lang.reflect.methd.invkenative(native Methd) E/AndridRuntime(14716): at java.lang.reflect.methd.invke(methd.java:511) E/AndridRuntime(14716): at cm.andrid.internal.s.zygteinit$methdandargscaller.run (ZygteInit.java:791) E/AndridRuntime(14716): at cm.andrid.internal.s.zygteinit.main(zygteinit.java:558) E/AndridRuntime(14716): at dalvik.system.nativestart.main(native Methd) E/AndridRuntime(14716): Caused by: java.lang.nsuchmethdexceptin: penbrwser [class andrid.view.view] E/AndridRuntime(14716): at java.lang.class.getcnstructrormethd(class.java:460) E/AndridRuntime(14716): at java.lang.class.getmethd(class.java:915) E/AndridRuntime(14716): at andrid.view.view$1.nclick(view.java:3571) E/AndridRuntime(14716):... 11 mre

Aktivity T, c uživatel vidí Živtní cyklus Back stack

IpActivity.java package cz.ipex.iptelefn; imprt andrid.app.activity; imprt andrid.cntent.intent; imprt andrid.net.uri; imprt andrid.s.bundle; imprt andrid.view.view; public class IpActivity extends Activity { @Override public vid ncreate(bundle savedinstancestate) { super.ncreate(savedinstancestate); setcntentview(r.layut.main); } public vid penbrwser(view view) { if (BuildCnfig.DEBUG) Lg.i("ip-telefn", "Click!"); startactivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.iptelefn.cz"))); } }

Intent Záměry, akce Otevření prhlížeče Odeslání zprávy Sdílení na sciální síť Navigace Andrid ví, c která aplikace umí a můžeme mu říct, c umí naše aplikace.

Release keytl -genkey -v -keystre release.key -alias ip-telefn -keyalg RSA -keysize 2048 -validity 10000 ant.prperties key.stre=release.key key.alias=ip-telefn prject.prperties prguard.cnfig=${sdk.dir}/tls/prguard/prguardandrid.txt:prguard-prject.txt Ant ant clean && ant release bin/ipactivity-release.apk

Htvá aplikace ke stažení na Play Stre Pdmínky pr publikvání: Ikna Grafika, vide Ppisky Kntakty Instalace htvé aplikace ke stažení:

Užitečné dkazy Zdrjvé subry dema aplikace https://github.cm/pitel/ip-telefn Dkumentace, tutriály, blg, design, https://d.andrid.cm Seriál na Zdrják.cz http://www.zdrjak.cz/serialy/vyvijime-pr-andrid

Instalace a knfigurace ústředen Asterisk Děkuji za pzrnst