SlideShare a Scribd company logo
1 of 30
Download to read offline
HTML5 приложения за Android
Урок 01
Леон Анави
@leonanavi
leon@anavi.org
С подкрепата на:
@leonanavi
HTML5
приложения за
Android
Какво ще правим на курса?
@leonanavi
Open Source
Какви инструменти ще ползваме?
@leonanavi
FREE
LIKE
FREEDOM
@leonanavi
Съдържание
 Android
 HTML5 & JavaScript
 Cordova
 PhoneGap
 Crosswalk
 Ripple
@leonanavi
Android
 Стотици милиони устройства
 Над 83% пазарен дял 2014Q3
 Разработва се от Google
 Open source
 Linux kernel
 Java VM (Dalvik/ART)
@leonanavi
Android архитектура
@leonanavi
Android development kits
Android
Software
Development
Kit
(SDK)
Android
Native
Development
Kit
(NDK)
@leonanavi
Android app sandboxes
Приложение 1
Java VM
Процес
(UID 10000)
Приложение 2
Java VM
Процес
(UID 10001)
Приложение 3
Java VM
Процес
(UID 10002)
/data/.../app1 /data/.../app2 /data/.../app3
Linux kernel
@leonanavi
Разрешения
 Приложенията се нуждаят от разрешения,
за да достъпят периферията, сензорите или
файлове на устройството
 По подразбиране всяко приложение няма никакви
разрешения
 При инсталация потребителя дава разрешения
за достъп на приложенията
@leonanavi
Разрешения
@leonanavi
App Manifest
Всяко Android приложение има AndroidManifest.xml
в главната си директория, който съдържа:
 Идентификатор на приложението
 Име, версия, икони, splashscreen
 Необходими разрешения
 Минимално необходимо Android API
 Допълнителни библиотеки (ако се налага)
@leonanavi
Примерен AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.basiccontactables"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <!-- Min/target SDK versions (<uses-sdk>) managed by build.gradle -->
    <permission android:name="android"></permission>
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.Sample" >
        <activity
            android:name="com.example.android.basiccontactables.MainActivity"
            android:label="@string/app_name"
            android:launchMode="singleTop">
            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
@leonanavi
Android версии и API нива
@leonanavi
Android Dashboard
https://developer.android.com/about/dashboards/index.html
@leonanavi
Различните екрани на Android
http://developer.android.com/guide/practices/screens_support.html
@leonanavi
Средства за тестване
 Android устройства
 Android Virtual Device (AVD)
 Ripple (за уеб сайтове и HTML5 приложения)
 Samsung Remote Test Lab
http://developer.samsung.com/remotetestlab/rtlAboutRTL.action
@leonanavi
Android Virtual Device (AVD)
 Android виртуални машини, която върви на
персонален компютър
 Емулация на ARM и Intel архитектури
 Конфигурация на параметрите на всяка машина
 Управление на виртуалните машини с AVD Manager
@leonanavi
Android Debug Bridge (ADB)
 Конзолен инструмент за управление и комуникация
на Android устройство или емулатор от компютър
 Android устройството трябва да е в Developer mode
 Синтаксис:
adb [-d|-e|-s <serialNumber>] <command>
 Команди:
http://developer.android.com/tools/help/adb.html
@leonanavi
ADB примери за употреба
 Показване на всички свързани Android устройства:
adb devices
 Инсталиране на APK:
adb install my.apk
 Качване на файл на устройството:
adb push foo.txt /sdcard/foo.txt
 Сваляне на файл от устройството:
adb pull /sdcard/demo.mp4
 Дистанционен достъп през конзола до устройството:
adb shell
@leonanavi
HTML5 & JavaScript
 HTML5 е най-новата версия на HTML стандарта
 HTML5 стандарта описва и API-та, които могат да се
ползват чрез JavaScript
 JavaScript е скриптов език, създаден пред 1995г,
за обработка на данни и събития в уеб браузъри
 JavaScript всъщност е имплементация на ECMAScript
 JavaScript вече може да живее и извън уеб браузърите:
Node.js, Cordova, PhoneGap, Crosswalk ...
@leonanavi
За и против HTML5 в мобилни
устройства
Предимства:
 Един код за много устройства и платформи
 Лесно създаване на приложения с инструменти,
познати на милиони уеб програмисти
 Бъдещето е в уеб
Недостатъци:
 По-слаба производителност
 Различен външен вид на графичните компоненти
спрямо стандартните за платформата
@leonanavi
Apache Cordova
 Open source инструмент за създаване на HTML5
приложения за мобилни устройства
 Достъп до сензори, периферия и файлове на
мобилни платформи през JavaScript API-та
 Съвместимост с най-популярните платформи:
Android, iOS, Tizen, Firefox OS, BlackBerry 10,
Amazon Fire OS, Windows, Windows Phone
@leonanavi
Adobe PhoneGap
 Open source инструмент на базата на Cordova, който
се разработва от Adobe
 Adobe предоставя допълнителни услуги като
създаване на приложения в облака и
други услуги за предприятия
@leonanavi
Как работи Cordova в Android?
 Създава APK файл чрез Android SDK
 Вгражда HTML5, CSS и JavaScript файлове в APK
 Зарежда HTML през Android WebView
 Свързва JavaScript с Java, за да достъпи до устройството
 Генерира AndroidManifest.xml от config.xml
HTML,
CSS,
JavaScript
WebView
APK
@leonanavi
Cordova документация
 Инсталация:
npm install -g cordova
 Документация:
http://cordova.apache.org/docs/en/4.0.0/
@leonanavi
Crosswalk project
 Инструмент за създаване на HTML5 приложения за
Android и Tizen
 Заменя webview-то на платформата с нова стабилна
версия на Blink
 Съвместимост с Cordova и плъгините за нея
@leonanavi
Ripple
 Симулатор на телефон, който работи в Google Chrome
 Интеграция със събития от Cordova
 Инсталация през NPM:
npm install -g ripple-emulator
 Примерна употреба за Cordova приложение:
ripple emulate --path to/my/app
@leonanavi
Задачи
 Инсталация на Android Studio
 Инсталация на Android SDK
 Създаване на AVD
 Инсталация на Node.js
 Инсталация на Git
 Инсталация на Atom
 Инсталация на Cordova
 Инсталация на Ripple
 Разучаване на ADB
@leonanavi
KEEP CALM
AND
SUPPORT
FOSS

More Related Content

Similar to HTML5 приложения за Android, урок 1

Open source: от "голо желязо" до JavaScript
Open source: от "голо желязо" до JavaScriptOpen source: от "голо желязо" до JavaScript
Open source: от "голо желязо" до JavaScriptLeon Anavi
 
Adobe air
Adobe airAdobe air
Adobe airyusmen
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxВграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxLeon Anavi
 
Svetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD AcademySvetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD AcademySvetlin Nakov
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLeon Anavi
 
Huseyin Ozbilen 41б_ 356291
Huseyin Ozbilen  41б_ 356291Huseyin Ozbilen  41б_ 356291
Huseyin Ozbilen 41б_ 356291yoska
 
реферат безопасност и защита Edd
реферат безопасност и защита Eddреферат безопасност и защита Edd
реферат безопасност и защита EddFad3
 
JavaScript навсякъде
JavaScript навсякъдеJavaScript навсякъде
JavaScript навсякъдеStoyan Stefanov
 
Tools for Developers
Tools for DevelopersTools for Developers
Tools for DevelopersSvetlin Nakov
 
Nakov - .NET Framework Overview + Security
Nakov - .NET Framework Overview +  SecurityNakov - .NET Framework Overview +  Security
Nakov - .NET Framework Overview + SecuritySvetlin Nakov
 
технически университет софия (Presentation Mostrov)
технически университет    софия (Presentation Mostrov)технически университет    софия (Presentation Mostrov)
технически университет софия (Presentation Mostrov)guest732d743
 
технически университет софия (Presentation mostrov)
технически университет    софия (Presentation mostrov)технически университет    софия (Presentation mostrov)
технически университет софия (Presentation mostrov)Stoycho
 
Silverlight
SilverlightSilverlight
SilverlightStoycho
 

Similar to HTML5 приложения за Android, урок 1 (20)

Open source: от "голо желязо" до JavaScript
Open source: от "голо желязо" до JavaScriptOpen source: от "голо желязо" до JavaScript
Open source: от "голо желязо" до JavaScript
 
Adobe air
Adobe airAdobe air
Adobe air
 
Module1
Module1Module1
Module1
 
Създаване на приложения за Windows Phone
Създаване на приложения за Windows PhoneСъздаване на приложения за Windows Phone
Създаване на приложения за Windows Phone
 
500 033 android
500 033 android500 033 android
500 033 android
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxВграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с Linux
 
Svetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD AcademySvetlin Nakov - E-Business And NASD Academy
Svetlin Nakov - E-Business And NASD Academy
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и Docker
 
Huseyin Ozbilen 41б_ 356291
Huseyin Ozbilen  41б_ 356291Huseyin Ozbilen  41б_ 356291
Huseyin Ozbilen 41б_ 356291
 
Android Mobile Security
Android Mobile SecurityAndroid Mobile Security
Android Mobile Security
 
реферат безопасност и защита Edd
реферат безопасност и защита Eddреферат безопасност и защита Edd
реферат безопасност и защита Edd
 
Kendo + Drupal (Bulgarian)
Kendo + Drupal (Bulgarian)Kendo + Drupal (Bulgarian)
Kendo + Drupal (Bulgarian)
 
JavaScript навсякъде
JavaScript навсякъдеJavaScript навсякъде
JavaScript навсякъде
 
M7: 1.The Java Platform
M7: 1.The Java PlatformM7: 1.The Java Platform
M7: 1.The Java Platform
 
Tools for Developers
Tools for DevelopersTools for Developers
Tools for Developers
 
Nakov - .NET Framework Overview + Security
Nakov - .NET Framework Overview +  SecurityNakov - .NET Framework Overview +  Security
Nakov - .NET Framework Overview + Security
 
Programirane i organizaciq
Programirane i organizaciqProgramirane i organizaciq
Programirane i organizaciq
 
технически университет софия (Presentation Mostrov)
технически университет    софия (Presentation Mostrov)технически университет    софия (Presentation Mostrov)
технически университет софия (Presentation Mostrov)
 
технически университет софия (Presentation mostrov)
технически университет    софия (Presentation mostrov)технически университет    софия (Presentation mostrov)
технически университет софия (Presentation mostrov)
 
Silverlight
SilverlightSilverlight
Silverlight
 

More from Leon Anavi

Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Leon Anavi
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Leon Anavi
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedIntegrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedLeon Anavi
 
Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?Leon Anavi
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesLeon Anavi
 
Open Hardware Makers
Open Hardware MakersOpen Hardware Makers
Open Hardware MakersLeon Anavi
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareLeon Anavi
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureLeon Anavi
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive KioskLeon Anavi
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Leon Anavi
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiLeon Anavi
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Leon Anavi
 
Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsComparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsLeon Anavi
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiПрактични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiLeon Anavi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareThe Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareLeon Anavi
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiMaking Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiLeon Anavi
 
Comparison of Voice Assistant SDKs for Embedded Linux Devices
 Comparison of Voice Assistant SDKs for Embedded Linux Devices Comparison of Voice Assistant SDKs for Embedded Linux Devices
Comparison of Voice Assistant SDKs for Embedded Linux DevicesLeon Anavi
 
Open Source MQTT Brokers
Open Source MQTT BrokersOpen Source MQTT Brokers
Open Source MQTT BrokersLeon Anavi
 
Въведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry PiВъведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry PiLeon Anavi
 
Free and Open Source Software Tools for Making Open Source Hardware
 Free and Open Source Software Tools for Making Open Source Hardware Free and Open Source Software Tools for Making Open Source Hardware
Free and Open Source Software Tools for Making Open Source HardwareLeon Anavi
 

More from Leon Anavi (20)

Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedIntegrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
 
Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux Devices
 
Open Hardware Makers
Open Hardware MakersOpen Hardware Makers
Open Hardware Makers
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source Hardware
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive Kiosk
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry Pi
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
 
Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsComparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation Tools
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiПрактични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry Pi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareThe Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source Hardware
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiMaking Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry Pi
 
Comparison of Voice Assistant SDKs for Embedded Linux Devices
 Comparison of Voice Assistant SDKs for Embedded Linux Devices Comparison of Voice Assistant SDKs for Embedded Linux Devices
Comparison of Voice Assistant SDKs for Embedded Linux Devices
 
Open Source MQTT Brokers
Open Source MQTT BrokersOpen Source MQTT Brokers
Open Source MQTT Brokers
 
Въведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry PiВъведение в RetroPie за Raspberry Pi
Въведение в RetroPie за Raspberry Pi
 
Free and Open Source Software Tools for Making Open Source Hardware
 Free and Open Source Software Tools for Making Open Source Hardware Free and Open Source Software Tools for Making Open Source Hardware
Free and Open Source Software Tools for Making Open Source Hardware
 

HTML5 приложения за Android, урок 1

  • 1. HTML5 приложения за Android Урок 01 Леон Анави @leonanavi leon@anavi.org С подкрепата на:
  • 5. @leonanavi Съдържание  Android  HTML5 & JavaScript  Cordova  PhoneGap  Crosswalk  Ripple
  • 6. @leonanavi Android  Стотици милиони устройства  Над 83% пазарен дял 2014Q3  Разработва се от Google  Open source  Linux kernel  Java VM (Dalvik/ART)
  • 9. @leonanavi Android app sandboxes Приложение 1 Java VM Процес (UID 10000) Приложение 2 Java VM Процес (UID 10001) Приложение 3 Java VM Процес (UID 10002) /data/.../app1 /data/.../app2 /data/.../app3 Linux kernel
  • 10. @leonanavi Разрешения  Приложенията се нуждаят от разрешения, за да достъпят периферията, сензорите или файлове на устройството  По подразбиране всяко приложение няма никакви разрешения  При инсталация потребителя дава разрешения за достъп на приложенията
  • 12. @leonanavi App Manifest Всяко Android приложение има AndroidManifest.xml в главната си директория, който съдържа:  Идентификатор на приложението  Име, версия, икони, splashscreen  Необходими разрешения  Минимално необходимо Android API  Допълнителни библиотеки (ако се налага)
  • 13. @leonanavi Примерен AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.example.android.basiccontactables"     android:versionCode="1"     android:versionName="1.0" >       <uses-permission android:name="android.permission.READ_CONTACTS"/>     <!-- Min/target SDK versions (<uses-sdk>) managed by build.gradle -->     <permission android:name="android"></permission>       <application         android:allowBackup="true"         android:icon="@drawable/ic_launcher"         android:label="@string/app_name"         android:theme="@style/Theme.Sample" >         <activity             android:name="com.example.android.basiccontactables.MainActivity"             android:label="@string/app_name"             android:launchMode="singleTop">             <meta-data                 android:name="android.app.searchable"                 android:resource="@xml/searchable" />             <intent-filter>                 <action android:name="android.intent.action.SEARCH" />             </intent-filter>             <intent-filter>                 <action android:name="android.intent.action.MAIN" />                 <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>     </application> </manifest>
  • 16. @leonanavi Различните екрани на Android http://developer.android.com/guide/practices/screens_support.html
  • 17. @leonanavi Средства за тестване  Android устройства  Android Virtual Device (AVD)  Ripple (за уеб сайтове и HTML5 приложения)  Samsung Remote Test Lab http://developer.samsung.com/remotetestlab/rtlAboutRTL.action
  • 18. @leonanavi Android Virtual Device (AVD)  Android виртуални машини, която върви на персонален компютър  Емулация на ARM и Intel архитектури  Конфигурация на параметрите на всяка машина  Управление на виртуалните машини с AVD Manager
  • 19. @leonanavi Android Debug Bridge (ADB)  Конзолен инструмент за управление и комуникация на Android устройство или емулатор от компютър  Android устройството трябва да е в Developer mode  Синтаксис: adb [-d|-e|-s <serialNumber>] <command>  Команди: http://developer.android.com/tools/help/adb.html
  • 20. @leonanavi ADB примери за употреба  Показване на всички свързани Android устройства: adb devices  Инсталиране на APK: adb install my.apk  Качване на файл на устройството: adb push foo.txt /sdcard/foo.txt  Сваляне на файл от устройството: adb pull /sdcard/demo.mp4  Дистанционен достъп през конзола до устройството: adb shell
  • 21. @leonanavi HTML5 & JavaScript  HTML5 е най-новата версия на HTML стандарта  HTML5 стандарта описва и API-та, които могат да се ползват чрез JavaScript  JavaScript е скриптов език, създаден пред 1995г, за обработка на данни и събития в уеб браузъри  JavaScript всъщност е имплементация на ECMAScript  JavaScript вече може да живее и извън уеб браузърите: Node.js, Cordova, PhoneGap, Crosswalk ...
  • 22. @leonanavi За и против HTML5 в мобилни устройства Предимства:  Един код за много устройства и платформи  Лесно създаване на приложения с инструменти, познати на милиони уеб програмисти  Бъдещето е в уеб Недостатъци:  По-слаба производителност  Различен външен вид на графичните компоненти спрямо стандартните за платформата
  • 23. @leonanavi Apache Cordova  Open source инструмент за създаване на HTML5 приложения за мобилни устройства  Достъп до сензори, периферия и файлове на мобилни платформи през JavaScript API-та  Съвместимост с най-популярните платформи: Android, iOS, Tizen, Firefox OS, BlackBerry 10, Amazon Fire OS, Windows, Windows Phone
  • 24. @leonanavi Adobe PhoneGap  Open source инструмент на базата на Cordova, който се разработва от Adobe  Adobe предоставя допълнителни услуги като създаване на приложения в облака и други услуги за предприятия
  • 25. @leonanavi Как работи Cordova в Android?  Създава APK файл чрез Android SDK  Вгражда HTML5, CSS и JavaScript файлове в APK  Зарежда HTML през Android WebView  Свързва JavaScript с Java, за да достъпи до устройството  Генерира AndroidManifest.xml от config.xml HTML, CSS, JavaScript WebView APK
  • 26. @leonanavi Cordova документация  Инсталация: npm install -g cordova  Документация: http://cordova.apache.org/docs/en/4.0.0/
  • 27. @leonanavi Crosswalk project  Инструмент за създаване на HTML5 приложения за Android и Tizen  Заменя webview-то на платформата с нова стабилна версия на Blink  Съвместимост с Cordova и плъгините за нея
  • 28. @leonanavi Ripple  Симулатор на телефон, който работи в Google Chrome  Интеграция със събития от Cordova  Инсталация през NPM: npm install -g ripple-emulator  Примерна употреба за Cordova приложение: ripple emulate --path to/my/app
  • 29. @leonanavi Задачи  Инсталация на Android Studio  Инсталация на Android SDK  Създаване на AVD  Инсталация на Node.js  Инсталация на Git  Инсталация на Atom  Инсталация на Cordova  Инсталация на Ripple  Разучаване на ADB