Apache Cordova (PhoneGap 3)

Podobné dokumenty
Tvorba mobilních aplikací

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

Vývoj aplikací v Qt pro mobilní zařízení

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

Vývoj Internetových Aplikací

iphone vývoj aplikací Jiří Vávrů

Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž.

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

Jak bude? To ví jen... Váš mobil!

Měření nativních mobilních aplikací v rámci NetMonitoru

UNICORN COLLEGE. Katedra informačních technologií

KMI / TMA Tvorba mobilních aplikací

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

Mobile application developent

IP kamery DIGITUS Plug&View

Dokument rozchození vývojového prostředí

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

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

Použití webových technologií při vývoji mobilních aplikací na platformě Android

Přidání Edookitu na plochu (v 1.0)

RESTful API TAMZ 1. Cvičení 11

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

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

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

NÁVOD K POUŽITÍ. IP kamerový systém.

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

Bezpečná autentizace přístupu do firemní sítě

Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays

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

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

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

Bezpečnostní kamera Wanscam HW0028 HD 720P

Messenger. Novell 1.0 UMÍSTĚNÍ DOKUMENTACE K PROGRAMU NOVELL MESSENGER. STRUČ NÁ ÚVODNÍ PŘ ÍRUČ KA

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

Chytré telefony pohledem operátora. Petr Dvořáček, Jan Fišer, T-Mobile Czech Republic a.s

C2115 Praktický úvod do superpočítání

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

WiFi kamera venkovní bezpečnostní Wanscam HW0043 HD 720P

Instalační příručka. Vlastnoruční digitální podpis. Instalace ovladačů a rozšíření na uživatelský počítač nebo tablet

McAfee EMM Jan Pergler Pre-Sales Engineer I

Správa mobilních zařízení a aplikací

Dokumentace ke knihovně InsDevice

Bezpečnostní kamera Wanscam HW Full HD 1080P

Mobilní aplikace. Uživatelský manuál

MATURITNÍ PRÁCE dokumentace

ELEKTRONICKÉ PODÁNÍ OBČANA

Vývoj aplikací na platformě Windows Mobile. Vysoká škola ekonomická v Praze. Fakulta informatiky a statistiky. Katedra informačních technologií

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

KIV/PIA 2012 Ing. Jan Tichava

Metody vývoje aplikací s adaptivním systémem zobrazení na mobilních platformách

iphone vývoj aplikací Jiří Vávrů

Enterprise Mobility Management AirWatch & ios v businessu

Projekt podnikové mobility

Monitorování sítě pomocí OpenWrt

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

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

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

Instalační příručka. Vlastnoruční digitální podpis. Ovladače a plugin do webového prohlížeče

Instalační příručka. Vlastnoruční digitální podpis. Instalace ovladačů a rozšíření na uživatelský počítač

ISZR Referenční agent JAVA

Mobilní aplikace. Uživatelský manuál

Internet Banka v mobilu

NAS 323 NAS jako VPN Server

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

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

Poznámky k verzi Remote support platform 3.1

Monitorování a diagnostika aplikací v produkčním prostředí Michael Juřek

Instalace RouterOS pomocí programu NetInstall

Internet Information Services (IIS) 6.0

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

Nastavení DCOM. Uživatelský manuál

Změna vlastností kódem

Tabulka základních vlastností nástroje C++Builder dle edice

Smart Home Controller 2.0

SUTOL 2012 konference

WiFi kamera venkovní bezpečnostní Wanscam HW Full HD 1080P

Shibboleth v systému DSpace

Android 100% Java telefon. Petr Musil

Základní informace a nastavení... 3

INSTALACE SW PROID+ V OS LINUX

Průvodce Mobilní agendou

P2P IPCAM IP 01 Uživatelská příručka

Interní komunikace formou

Mobilní komunikace a bezpečnost. Edward Plch, System4u

NÁVOD K ZAŘÍZENÍM PRO BEZDRÁTOVÝ PŘENOS ZVUKU A OBRAZU (Miracast)

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

Uživatelský manuál na obsluhu mobilní aplikace CMOB

Instalace Debianu pomocí debootstrap

Multiplatformní vývoj v HTML5

Micro Focus Vibe Mobile stručný úvod

Programátorská příručka

SMART GATE webové a aplikační ovládací rozhraní zařízení ESIM120

Obsah. KELOC CS, s.r.o... v ý v o j a p r o d e j e k o n o m i c k é h o s o f t w a re

Vzdálené připojení do sítě ČEZ VPN Cisco AnyConnect

Transkript:

Apache Cordova (PhoneGap 3) Nativní aplikace pro Android, ios, WP, TAMZ 1 Cvičení 10

Základy Apache Cordova Vývoj nativních mobilních aplikací v HTML5+JS+CSS3 Vytvořená webová aplikace se zabalí pomocí Apache Cordova jako nativní aplikace. Interně se přes celou plochu načte WebView komponenta. Snadný vývoj pro více platforem (Android, IOS, WP, Blackberry, Tizen, Ubuntu, Firefox OS, ) Možnost publikovat aplikaci v App Store/Google Play/WP Store Umí do JavaScriptu zpřístupnit systémová API pomoci pluginů (geolokaci, filesystém, fotoaparát atd.)

Instalace Apache Cordova Platformě nezávislé Je potřeba nainstalovat následující nástroje: Java Platform (JDK) http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html v proměnném prostředí přidat JAVA_HOME a cestu k JDK Node.js - http://nodejs.org/download/ Apache Cordova pomoci Node.js package manageru: npm install -g cordova Apache Ant - http://ant.apache.org/bindownload.cgi Git - http://git-scm.com/ v proměnném prostředí přidat PATH k binárkám V závislosti na platformách, na kterých chceme vyvíjet, je potřeba nainstalovat vývojové SDK: Android SDK - v proměnném prostředí přidat do PATH a cestu k Android SDK Windows Phone SDK (VisualStudio) ios SDK Lze také přidat další podporované platformy (např. BlackBerry 10, FireFox OS, Tizen, HP WebOS, )

Použití Apache Cordova Cordova je integrovaná v NetBeans Založení nového projektu HTML5 => Cordova Application Můžeme také použít Cordova CLI Založení nového projektu cordova create <project_path> [ID [NAME [CONFIG]]] např. cordova create ex cz.vsb.mor03.ex Example cordova platform [{add remove update} <PLATFORM> ls] např. cordova platform add android cordova plugin [{add remove} <PATH URI> ls search kw] např. cordova plugin add org.apache.cordova.device cordova build [PLATFORM] (alternativa prepare compile) cordova run [PLATFORM] cordova emulate [PLATFORM] cordova serve [PORT]

Základní struktura projektu Projekt obsahuje několik adresářů: platforms Obsahuje vytvořené projekty, pro každou instalovanou platformu. Jednotlivé projekty je následně potřeba kompilovat v příslušných IDE (VisualStudio, Xcode, Android SDK). Lze řešit i bez nich, pomocí cloudového Phonegap Build. plugins Obsahuje zdrojové kódy všech nainstalovaných zásuvných modulů pro každou platformu. www Obsahuje HTML5+JS+CSS3 aplikaci a konfigurační XML soubor, viz dále.

Apache Cordova config.xml Konfigurační soubor je umístěn v hlavním adresáři webového projektu nebo v podadresáři v závislosti na platformě Konfigurační soubor může obsahovat: fullscreen nastavení: <preference name="fullscreen" value="true"/> vynutit orientaci obrazovky: <preference name="orientation" value="landscape" /> Hodnoty: default (zařízení), landscape (na šířku), portrait (na výšku) zakázat rubber-band scrolování: <preference name="webviewbounce" value="true"/> nastavit, aby se zabránilo overscrolling na ios a Android: <preference name="disallowoverscroll" value="true"/> Některé nastavení mohou být specifické pro konkrétní platformy.

Pluginy a nativní kód Apache Cordova nabízí systém nativních pluginů: K dispozici je sada základních (klíčových) pluginů, které by měly být k dispozici pro všechny/většinu platforem. Můžeme vytvořit wrapper JavaScript třídu, pro poskytnutí chybějícího/nového API. Nativní volání jsou prováděny cordova.exec() e.g. cordova.exec(function(winparam) {}, function(error) {}, "service", "action", ["firstarg", "secondarg", 42, false]); Plugin repositář obsahuje soubor plugin.xml v kořenovém adresáři, který popisuje plugin Platfromu, zdrojové soubory a nastavení Nativní kód se liší platforma od platofrmy Můžeme také publikovat své pluginy pro ostatní přes plugman Nejprve je nutné vytvořit účet www: http://plugins.cordova.io/#/

Základní pluginy Battery Status Camera Console Contacts Device Device Motion Device Orientation Dialogs File (System) File Transfer Geolocation Globalization In-App Browser Media Media Capture Network Information Splashscreen Vibration

Geolokace Poskytuje informace o poloze zařízení, jako je zeměpisná šířka a délka. Přidáním navigator.geolocation Metody: getcurrentposition(accsuccess, [accerror], [Options]) accsuccess callback vrátí object position id = watchposition(accsuccess, [accerror]) sleduje změny v GPS poloze zařízení. AccSuccess callback vrátí object position clearwatch(id) zastaví sledování změn polohy na zařízení předáním id parametru. accsuccess : dostaneme objekt position s informacemi o zeměpisné délce, zeměpisné šířce, nadmořské výšce, přesnosti zeměpisné délky a šířky, přesnosti nadmořské výšky, směru pohybu, rychlosti, aktuálnímu času. Nastavení: {timeout: 30000} vyvolá error callback, pokud není nová pozice získána každých 30 sekund. Nastavte také {enablehighaccuracy: true } pro data z GPS, jinak je poloha určena přibližně podle bezdrátových sítí (Android, popř. jiné platf.)

Akcelerometr, Kompas (Cordova) V obou případech API kopíruje geolocation API: Akcelerometr přidáním navigator.accelerometer Metody: getcurrentacceleration(accsuccess, accerror), id = watchacceleration(accsuccess, accerror[, opts]), clearwatch(id) Úspěch: dostaneme zrychlení objektu s x, y, z včetně účinku gravitace (e.g. 0, 0, 9.81) a timestamp Nastavení: můžeme určit freq. v [ms], e.g. { frequency: 3000 } Kompas Přes navigator.compass Metody: getcurrentheading(compasssuccess, comperror), id=watchheading(compasssuccess, compasserror[, opts]), clearwatch(id) Úspěch : Dostaneme číslo objektu s magneticheading, trueheading (geografikcy k severnímu pólu, záporná nelze určit), headingaccuracy (odchylka ve [ ] mezi udávanou a skutečnou hodnotou) a timestamp Error: dostaneme chybové objekty s kódem CompassError.COMPASS_INTERNAL_ERR CompassError.COMPASS_NOT_SUPPORTED Nastavení: můžeme určit frekvenci (viz výše) a filter (ios)

Úkol (1b) Geolokace, Orientace, Kompas Zrealizujte jednu z následujících aplikací Vytvořte aplikaci, která bude realizovat dashboard s následujícími informacemi: Datum a čas Zeměpisná poloha (+ tolerance) Nadmořská výška (je-li k dispozici) Kurz (dle kompasu či GPS, je-li k dispozici) +0.5b grafická podoba kompasu se stupni (automatické natáčení obrázku) Navádění ke zvolenému bodu (+1b) Vzorce: http://www.movable-type.co.uk/scripts/latlong.html Realizujte ovládání přehrávače médií nebo hry pomocí akcelerometru (kalibrace v aplikaci +0.5b) gesta opakovaným naklápěním, naklápění místo směrových šipek otočení telefonu vzhůru nohama mute/pauza