SlideShare a Scribd company logo
Qt on Android
Create a cross-platform
application with Qt
2
• Adrien Leravat
• Embedded Software Engineer
Introduction
• Witekio
• French company, German, USA, Taiwan
• BSP / OS porting to ARM (Linux, Windows, Android,
QNX)
• Embedded software architecture and development
• Mobile expertise (cloud, internet of things)
3
Context
• Creating a new application or service
– Multiple targets and OSes.
• Desktop
• Web
• Mobile and touch devices
– Your smartphones, fridge, …
– Android, iOS, WinRT/WP, Embedded OSes
• Meaning: a lot of time !
4
Qt answer
Your own components
• With Qt 5
– Desktop/Server
• Windows, Linux, Mac
• Smartphones
– Android, iOS, WinRT (preview)
• Embedded devices
– Windows CE, Linux, QNX
5
Qt answer
Your own components
• Why choose Qt for Android
– Build once, runs on multiple targets
• Less development, More maintainable
– No Android knowledge needed
• Big Qt features
– Databases, Threads, Networking, …
• Long living framework, large community
• Each 6 months: New major release !
6
Qt for Android
Your own components
• Two way to build Qt applications with Android
• Boot to Qt: Dedicated device running Android
– Android system without all unnecessary features
(Home, Dalvik, …)
– Make us of Android drivers (accelerometer,
camera,…)
• Qt Android application
– Regular application
– Can be published to Android Play Store
– Can be run on a dedicated Android device
7
Qt for Android
Your own components
• Android versions 2.3.3 (API 10) or later
• Download from free at : http://qt-project.org/downloads
• Qt 5
• Qt Creator
– Unified IDE for developing Qt applications
– Build, deploy and debug
• Qt Creator
– Toolchain for ARMv7 and x86 platforms, Qt
Linguist
8
Installation requirements
• External tools needed
– The Android SDK
• Java Development kit for Android
• The Android NDK
– Native code development kit for Android
• Apache Ant v1.8 or later
– Java code compilation
• JDK v6 or later
– Java development kit
9
Installation requirements
• External tools needed
– The Android SDK
– The Android NDK
– Apache Ant v1.8 or later
– JDK v6 or later
• Integration to Qt Creator
– Tools > Options >Android
– Let’s see !
10
Supported Items
• Qt 5 key features, and more !
– Widgets and Qt Quick graphical user interfaces
– Gestures
– Media player, video input
– Sensors: Accelerometer, Gyroscope, Light sensor,
…
– Databases, threads, networking,…
• Not supported: Webkit
Creating a new project
12
Project architecture
• New project for Android
– Several projects available: console, native
widgets, Qt Quick graphical application
• Qt Widgets
– No OpenGL hardware acceleration
– Certification needed for your application
– Desktop-only application, leverage all available
widgets
• Qt Quick 2 is preferred, being made
for modern devices
– Gestures, animations
– Design oriented
– Very easy to use
13
Project architecture
• New project for Android
14
Project architecture
• Qt Quick project
– Project file configuration .pro
– C++ sources and headers .cpp/.h
– QML and javascript (GUI) .qml/.js
15
Project architecture
• Interface with Android
– Done automatically
– The activity contains the
entry point of the
application
– Load Qt application and
execute native code
– Ministro
16
Project architecture
• AndroidManifest.xml
– Provide meta-information about the app
– Let you change application permissions
Polishing with effectsUsing Qt Quick
18
Qt Quick Design
• Perfectly fitted for Android
– Gestures, animations
– Network transparent, sensors
• Design oriented
– GUI conception accessible to designers
– Simples components to create your own UI
– Completely separate UI and logic
19
Qt Quick Design
• Completely separate UI and logic
– Allows switching UI at runtime
• Access C++ through bindings and functions
– C++ and UI data automatically synchronized
Development
Source code
.cpp/.h
Application
C++ Data
Objects
User interface
.qml .
Scripts
.js
Application
User interface
.qml .
Scripts
.js
Rectangle {
width: height*2; height: 200;
color: “white”
Text {
anchors.fill: parent
text: “Hello world!”
color: “black”
font.pixelSize: 20
}
}
20
Sensors and Gestures
• Sensors and gestures can be entirely managed
from QML
• Great ease of use, no knowledge of Android
needed at all
• Let’s try!
PinchArea {
width:200
height: 200
GridView {
// Some large content
}
}
Pinch / Zoom gesture
Accelerometer {
dataRate: 2
active: true
onReadingChanged{
// Use reading.x/y/z
}
}
Using accelerometer
21
Adapting to screen
• Devices come in various resolution and size
• QtQuick2ApplicationViewer::screen()
– Height and width in pixels
– Physical height and width
SmartphoneTablet
22
Adapting to screen
• Relative size and position
– Height: parent.height /2
– Limited hard to maintain
• Different QML files
– Very customizable for
each resolutions/size
SmartphoneTabletQt Quick components
23
Adapting to screen
• Automatic layouting
– Layout, Row, Grid, …
– Resize and/or move component in allocated space
• Anchors
– Anchors button left
with left the border
– Use anchors to constrain
size
SmartphoneTabletQt Quick components
Deployment
25
Deployment
• Deploying your application on Android
– Direct deployment to device
• Most convenient for development
• Needs the device to be connected (USB)
– Simulator
– Bundle Qt libraries and files into the apk
• Stand-alone and distributable application package
– Using Ministro
• Minimize the size of the APK
26
Deployment
• Ministro
– Available on Google Play
– Application asks Ministro for Qt components
– Ministro download components
• If not installed
• If newer versions exist
– Qt Open Source
• GPLv3+ license for the APK
• BSD License for the API
• Install LGPLv2.1 / GPLV3 Qt libraries
27
Deployment
• Simulator
– Let’s you create and simulate various Android
devices
– Simulate different screen size
– Very convenient for development
28
Deployment
• Finally
– Connect your device
– Hit “Play” !
Embedded device Smartphone
Simulator
29
Conclusion
• Qt is a powerful technology, covering more and
more devices and Oses
• Opens new opportunity and ways of doing
software development
• Became an interesting and powerful alternative
to native Android

More Related Content

What's hot

Codemotion Azure Container Apps
Codemotion Azure Container AppsCodemotion Azure Container Apps
Codemotion Azure Container Apps
Andrea Tosato
 
Xpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyXpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case Study
Denys Vasyliev
 
[WSO2Con EU 2018] Enabling Agile Integration Teams
[WSO2Con EU 2018] Enabling Agile Integration Teams[WSO2Con EU 2018] Enabling Agile Integration Teams
[WSO2Con EU 2018] Enabling Agile Integration Teams
WSO2
 
[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems
ICS
 
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Experfy
 
Novelti Intro at Machine Learning Spain Meetup
Novelti Intro at Machine Learning Spain MeetupNovelti Intro at Machine Learning Spain Meetup
Novelti Intro at Machine Learning Spain Meetup
Novelti
 
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Vietnam Open Infrastructure User Group
 
how to simulate ACI
how to simulate ACIhow to simulate ACI
how to simulate ACI
Abderrahmane TEKFI
 
ECTR IoT MisterX & IPS Live Demo
ECTR IoT MisterX & IPS Live DemoECTR IoT MisterX & IPS Live Demo
ECTR IoT MisterX & IPS Live Demo
Sergey Seleznev
 
Location & the Internet of Things (IoT)
Location & the Internet of Things (IoT)Location & the Internet of Things (IoT)
Location & the Internet of Things (IoT)
Mark White
 
EDB Postgres in Public Sector
EDB Postgres in Public SectorEDB Postgres in Public Sector
EDB Postgres in Public Sector
Kangaroot
 
Compact models for compact devices: Visualisation of SAR using mobile apps
Compact models for compact devices: Visualisation of SAR using mobile appsCompact models for compact devices: Visualisation of SAR using mobile apps
Compact models for compact devices: Visualisation of SAR using mobile apps
Alex Clark
 
ATO 2018 - What is Serverless Useful For?
ATO 2018 - What is Serverless Useful For?ATO 2018 - What is Serverless Useful For?
ATO 2018 - What is Serverless Useful For?
BerndtJung
 
Troubles in Kubernetes Land: Vault to the Rescue
Troubles in Kubernetes Land: Vault to the RescueTroubles in Kubernetes Land: Vault to the Rescue
Troubles in Kubernetes Land: Vault to the Rescue
DevOps.com
 
android
androidandroid
android
Akhil Kumar
 
Client presentation k & n
Client presentation   k & nClient presentation   k & n
Client presentation k & n
Langn3r
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewbox
Lino Telera
 
Vistrails and VTK Comparison
Vistrails and VTK ComparisonVistrails and VTK Comparison
Vistrails and VTK Comparison
Thushan Ganegedara
 
Flare: an overview
Flare: an overviewFlare: an overview
Flare: an overview
Cisco DevNet
 
Azure IoT Suite
Azure IoT Suite Azure IoT Suite
Azure IoT Suite
Samir Arezki ☁
 

What's hot (20)

Codemotion Azure Container Apps
Codemotion Azure Container AppsCodemotion Azure Container Apps
Codemotion Azure Container Apps
 
Xpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyXpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case Study
 
[WSO2Con EU 2018] Enabling Agile Integration Teams
[WSO2Con EU 2018] Enabling Agile Integration Teams[WSO2Con EU 2018] Enabling Agile Integration Teams
[WSO2Con EU 2018] Enabling Agile Integration Teams
 
[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems
 
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
 
Novelti Intro at Machine Learning Spain Meetup
Novelti Intro at Machine Learning Spain MeetupNovelti Intro at Machine Learning Spain Meetup
Novelti Intro at Machine Learning Spain Meetup
 
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
 
how to simulate ACI
how to simulate ACIhow to simulate ACI
how to simulate ACI
 
ECTR IoT MisterX & IPS Live Demo
ECTR IoT MisterX & IPS Live DemoECTR IoT MisterX & IPS Live Demo
ECTR IoT MisterX & IPS Live Demo
 
Location & the Internet of Things (IoT)
Location & the Internet of Things (IoT)Location & the Internet of Things (IoT)
Location & the Internet of Things (IoT)
 
EDB Postgres in Public Sector
EDB Postgres in Public SectorEDB Postgres in Public Sector
EDB Postgres in Public Sector
 
Compact models for compact devices: Visualisation of SAR using mobile apps
Compact models for compact devices: Visualisation of SAR using mobile appsCompact models for compact devices: Visualisation of SAR using mobile apps
Compact models for compact devices: Visualisation of SAR using mobile apps
 
ATO 2018 - What is Serverless Useful For?
ATO 2018 - What is Serverless Useful For?ATO 2018 - What is Serverless Useful For?
ATO 2018 - What is Serverless Useful For?
 
Troubles in Kubernetes Land: Vault to the Rescue
Troubles in Kubernetes Land: Vault to the RescueTroubles in Kubernetes Land: Vault to the Rescue
Troubles in Kubernetes Land: Vault to the Rescue
 
android
androidandroid
android
 
Client presentation k & n
Client presentation   k & nClient presentation   k & n
Client presentation k & n
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewbox
 
Vistrails and VTK Comparison
Vistrails and VTK ComparisonVistrails and VTK Comparison
Vistrails and VTK Comparison
 
Flare: an overview
Flare: an overviewFlare: an overview
Flare: an overview
 
Azure IoT Suite
Azure IoT Suite Azure IoT Suite
Azure IoT Suite
 

Viewers also liked

Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++
Gilang Mentari Hamidy
 
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
FELGO SDK
 
Cross Platform Qt
Cross Platform QtCross Platform Qt
Cross Platform Qt
Johan Thelin
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
Andreas Jakl
 
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Andreas Jakl
 
Qt Workshop
Qt WorkshopQt Workshop
Qt Workshop
Johan Thelin
 
DDS 2010 Interoperability Demo
DDS 2010 Interoperability DemoDDS 2010 Interoperability Demo
DDS 2010 Interoperability Demo
Angelo Corsaro
 

Viewers also liked (7)

Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++
 
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
 
Cross Platform Qt
Cross Platform QtCross Platform Qt
Cross Platform Qt
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
 
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
Qt App Development - Cross-Platform Development for Android, iOS, Windows Pho...
 
Qt Workshop
Qt WorkshopQt Workshop
Qt Workshop
 
DDS 2010 Interoperability Demo
DDS 2010 Interoperability DemoDDS 2010 Interoperability Demo
DDS 2010 Interoperability Demo
 

Similar to Witekio Qt and Android

Radu vunvulea building and testing windows 8 metro style applications using ...
Radu vunvulea  building and testing windows 8 metro style applications using ...Radu vunvulea  building and testing windows 8 metro style applications using ...
Radu vunvulea building and testing windows 8 metro style applications using ...
Radu Vunvulea
 
Introdução ao Tizen
Introdução ao TizenIntrodução ao Tizen
Introdução ao Tizen
Eduardo Santana
 
Project
ProjectProject
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device Matrix
Carly Vanderwert
 
Android overview
Android overviewAndroid overview
Android overview
Mallikarjuna G D
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
SenthilKumar Selvaraj
 
Developers Safari into the Internet of Things (IoT) with Pi
Developers Safari into the Internet of Things (IoT) with PiDevelopers Safari into the Internet of Things (IoT) with Pi
Developers Safari into the Internet of Things (IoT) with Pi
Chris Pietschmann (Microsoft MVP)
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011
Lee Stott
 
chapter7-151010022348-lva1-app6892 (1).pptx
chapter7-151010022348-lva1-app6892 (1).pptxchapter7-151010022348-lva1-app6892 (1).pptx
chapter7-151010022348-lva1-app6892 (1).pptx
JayasheelanP
 
Android programming Assignment Help
Android programming Assignment HelpAndroid programming Assignment Help
Android programming Assignment Help
smithjonny9876
 
IoT Node-Red Presentation
IoT  Node-Red PresentationIoT  Node-Red Presentation
IoT Node-Red Presentation
The IOT Academy
 
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureIEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
Sebastien Kuntz
 
Internet of things (IoT) with Azure
Internet of things (IoT) with AzureInternet of things (IoT) with Azure
Internet of things (IoT) with Azure
Vinoth Rajagopalan
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
nooramirahazmn
 
Chapter 7 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIAChapter 7 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIA
azira96
 
Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and Toolchain
Vladimir Kotov
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application development
Synapseindiappsdevelopment
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
niteshnarayanlal
 
NUX Presentation from TechMixer Birmingham 2011
NUX Presentation from TechMixer Birmingham 2011NUX Presentation from TechMixer Birmingham 2011
NUX Presentation from TechMixer Birmingham 2011
Michael Heydt
 
Android
AndroidAndroid
Android
Vibhu Mishra
 

Similar to Witekio Qt and Android (20)

Radu vunvulea building and testing windows 8 metro style applications using ...
Radu vunvulea  building and testing windows 8 metro style applications using ...Radu vunvulea  building and testing windows 8 metro style applications using ...
Radu vunvulea building and testing windows 8 metro style applications using ...
 
Introdução ao Tizen
Introdução ao TizenIntrodução ao Tizen
Introdução ao Tizen
 
Project
ProjectProject
Project
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device Matrix
 
Android overview
Android overviewAndroid overview
Android overview
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Developers Safari into the Internet of Things (IoT) with Pi
Developers Safari into the Internet of Things (IoT) with PiDevelopers Safari into the Internet of Things (IoT) with Pi
Developers Safari into the Internet of Things (IoT) with Pi
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011
 
chapter7-151010022348-lva1-app6892 (1).pptx
chapter7-151010022348-lva1-app6892 (1).pptxchapter7-151010022348-lva1-app6892 (1).pptx
chapter7-151010022348-lva1-app6892 (1).pptx
 
Android programming Assignment Help
Android programming Assignment HelpAndroid programming Assignment Help
Android programming Assignment Help
 
IoT Node-Red Presentation
IoT  Node-Red PresentationIoT  Node-Red Presentation
IoT Node-Red Presentation
 
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureIEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
 
Internet of things (IoT) with Azure
Internet of things (IoT) with AzureInternet of things (IoT) with Azure
Internet of things (IoT) with Azure
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
Chapter 7 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIAChapter 7 : MAKING MULTIMEDIA
Chapter 7 : MAKING MULTIMEDIA
 
Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and Toolchain
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application development
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
NUX Presentation from TechMixer Birmingham 2011
NUX Presentation from TechMixer Birmingham 2011NUX Presentation from TechMixer Birmingham 2011
NUX Presentation from TechMixer Birmingham 2011
 
Android
AndroidAndroid
Android
 

More from Witekio

IoT & Embedded systems development
IoT & Embedded systems developmentIoT & Embedded systems development
IoT & Embedded systems development
Witekio
 
IoT Device Security
IoT Device SecurityIoT Device Security
IoT Device Security
Witekio
 
Conference Security by Design - Microsoft - Relever les défis de la sécurité ...
Conference Security by Design - Microsoft - Relever les défis de la sécurité ...Conference Security by Design - Microsoft - Relever les défis de la sécurité ...
Conference Security by Design - Microsoft - Relever les défis de la sécurité ...
Witekio
 
Conference Security by Design - Gemalto - Security in IoT
Conference Security by Design - Gemalto - Security in IoTConference Security by Design - Gemalto - Security in IoT
Conference Security by Design - Gemalto - Security in IoT
Witekio
 
Conference Security by Design - Lacroix Electronics - Comment conçoit on un o...
Conference Security by Design - Lacroix Electronics - Comment conçoit on un o...Conference Security by Design - Lacroix Electronics - Comment conçoit on un o...
Conference Security by Design - Lacroix Electronics - Comment conçoit on un o...
Witekio
 
Machine learning - AI
Machine learning - AIMachine learning - AI
Machine learning - AI
Witekio
 
Evoca Group - Smart connected coffee vending machine
Evoca Group - Smart connected coffee vending machineEvoca Group - Smart connected coffee vending machine
Evoca Group - Smart connected coffee vending machine
Witekio
 
Containers demystified webinar detailed
Containers demystified webinar detailedContainers demystified webinar detailed
Containers demystified webinar detailed
Witekio
 
Witekio Corporate presentation H2 2017
Witekio Corporate presentation H2 2017Witekio Corporate presentation H2 2017
Witekio Corporate presentation H2 2017
Witekio
 
Why you should join Witekio
Why you should join WitekioWhy you should join Witekio
Why you should join Witekio
Witekio
 
Witekio introducing-predictive-maintenance
Witekio introducing-predictive-maintenanceWitekio introducing-predictive-maintenance
Witekio introducing-predictive-maintenance
Witekio
 
System Software Integration, Witekio
System Software Integration, WitekioSystem Software Integration, Witekio
System Software Integration, Witekio
Witekio
 
Witekio Corporate Presentation Q42016
Witekio Corporate Presentation Q42016Witekio Corporate Presentation Q42016
Witekio Corporate Presentation Q42016
Witekio
 
Continuous Integration for BSP
Continuous Integration for BSPContinuous Integration for BSP
Continuous Integration for BSP
Witekio
 
Witekio custom modern qt quick components
Witekio custom modern qt quick componentsWitekio custom modern qt quick components
Witekio custom modern qt quick components
Witekio
 
Witekio IoT presentation
Witekio IoT presentation Witekio IoT presentation
Witekio IoT presentation
Witekio
 
Adeneo Embedded stay tuned
Adeneo Embedded stay tuned Adeneo Embedded stay tuned
Adeneo Embedded stay tuned
Witekio
 

More from Witekio (17)

IoT & Embedded systems development
IoT & Embedded systems developmentIoT & Embedded systems development
IoT & Embedded systems development
 
IoT Device Security
IoT Device SecurityIoT Device Security
IoT Device Security
 
Conference Security by Design - Microsoft - Relever les défis de la sécurité ...
Conference Security by Design - Microsoft - Relever les défis de la sécurité ...Conference Security by Design - Microsoft - Relever les défis de la sécurité ...
Conference Security by Design - Microsoft - Relever les défis de la sécurité ...
 
Conference Security by Design - Gemalto - Security in IoT
Conference Security by Design - Gemalto - Security in IoTConference Security by Design - Gemalto - Security in IoT
Conference Security by Design - Gemalto - Security in IoT
 
Conference Security by Design - Lacroix Electronics - Comment conçoit on un o...
Conference Security by Design - Lacroix Electronics - Comment conçoit on un o...Conference Security by Design - Lacroix Electronics - Comment conçoit on un o...
Conference Security by Design - Lacroix Electronics - Comment conçoit on un o...
 
Machine learning - AI
Machine learning - AIMachine learning - AI
Machine learning - AI
 
Evoca Group - Smart connected coffee vending machine
Evoca Group - Smart connected coffee vending machineEvoca Group - Smart connected coffee vending machine
Evoca Group - Smart connected coffee vending machine
 
Containers demystified webinar detailed
Containers demystified webinar detailedContainers demystified webinar detailed
Containers demystified webinar detailed
 
Witekio Corporate presentation H2 2017
Witekio Corporate presentation H2 2017Witekio Corporate presentation H2 2017
Witekio Corporate presentation H2 2017
 
Why you should join Witekio
Why you should join WitekioWhy you should join Witekio
Why you should join Witekio
 
Witekio introducing-predictive-maintenance
Witekio introducing-predictive-maintenanceWitekio introducing-predictive-maintenance
Witekio introducing-predictive-maintenance
 
System Software Integration, Witekio
System Software Integration, WitekioSystem Software Integration, Witekio
System Software Integration, Witekio
 
Witekio Corporate Presentation Q42016
Witekio Corporate Presentation Q42016Witekio Corporate Presentation Q42016
Witekio Corporate Presentation Q42016
 
Continuous Integration for BSP
Continuous Integration for BSPContinuous Integration for BSP
Continuous Integration for BSP
 
Witekio custom modern qt quick components
Witekio custom modern qt quick componentsWitekio custom modern qt quick components
Witekio custom modern qt quick components
 
Witekio IoT presentation
Witekio IoT presentation Witekio IoT presentation
Witekio IoT presentation
 
Adeneo Embedded stay tuned
Adeneo Embedded stay tuned Adeneo Embedded stay tuned
Adeneo Embedded stay tuned
 

Recently uploaded

ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
seospiralmantra
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
vaishalijagtap12
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
OnePlan Solutions
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
sandeepmenon62
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
kgyxske
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
Luigi Fugaro
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 

Recently uploaded (20)

ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
WMF 2024 - Unlocking the Future of Data Powering Next-Gen AI with Vector Data...
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 

Witekio Qt and Android

  • 1. Qt on Android Create a cross-platform application with Qt
  • 2. 2 • Adrien Leravat • Embedded Software Engineer Introduction • Witekio • French company, German, USA, Taiwan • BSP / OS porting to ARM (Linux, Windows, Android, QNX) • Embedded software architecture and development • Mobile expertise (cloud, internet of things)
  • 3. 3 Context • Creating a new application or service – Multiple targets and OSes. • Desktop • Web • Mobile and touch devices – Your smartphones, fridge, … – Android, iOS, WinRT/WP, Embedded OSes • Meaning: a lot of time !
  • 4. 4 Qt answer Your own components • With Qt 5 – Desktop/Server • Windows, Linux, Mac • Smartphones – Android, iOS, WinRT (preview) • Embedded devices – Windows CE, Linux, QNX
  • 5. 5 Qt answer Your own components • Why choose Qt for Android – Build once, runs on multiple targets • Less development, More maintainable – No Android knowledge needed • Big Qt features – Databases, Threads, Networking, … • Long living framework, large community • Each 6 months: New major release !
  • 6. 6 Qt for Android Your own components • Two way to build Qt applications with Android • Boot to Qt: Dedicated device running Android – Android system without all unnecessary features (Home, Dalvik, …) – Make us of Android drivers (accelerometer, camera,…) • Qt Android application – Regular application – Can be published to Android Play Store – Can be run on a dedicated Android device
  • 7. 7 Qt for Android Your own components • Android versions 2.3.3 (API 10) or later • Download from free at : http://qt-project.org/downloads • Qt 5 • Qt Creator – Unified IDE for developing Qt applications – Build, deploy and debug • Qt Creator – Toolchain for ARMv7 and x86 platforms, Qt Linguist
  • 8. 8 Installation requirements • External tools needed – The Android SDK • Java Development kit for Android • The Android NDK – Native code development kit for Android • Apache Ant v1.8 or later – Java code compilation • JDK v6 or later – Java development kit
  • 9. 9 Installation requirements • External tools needed – The Android SDK – The Android NDK – Apache Ant v1.8 or later – JDK v6 or later • Integration to Qt Creator – Tools > Options >Android – Let’s see !
  • 10. 10 Supported Items • Qt 5 key features, and more ! – Widgets and Qt Quick graphical user interfaces – Gestures – Media player, video input – Sensors: Accelerometer, Gyroscope, Light sensor, … – Databases, threads, networking,… • Not supported: Webkit
  • 11. Creating a new project
  • 12. 12 Project architecture • New project for Android – Several projects available: console, native widgets, Qt Quick graphical application • Qt Widgets – No OpenGL hardware acceleration – Certification needed for your application – Desktop-only application, leverage all available widgets • Qt Quick 2 is preferred, being made for modern devices – Gestures, animations – Design oriented – Very easy to use
  • 13. 13 Project architecture • New project for Android
  • 14. 14 Project architecture • Qt Quick project – Project file configuration .pro – C++ sources and headers .cpp/.h – QML and javascript (GUI) .qml/.js
  • 15. 15 Project architecture • Interface with Android – Done automatically – The activity contains the entry point of the application – Load Qt application and execute native code – Ministro
  • 16. 16 Project architecture • AndroidManifest.xml – Provide meta-information about the app – Let you change application permissions
  • 18. 18 Qt Quick Design • Perfectly fitted for Android – Gestures, animations – Network transparent, sensors • Design oriented – GUI conception accessible to designers – Simples components to create your own UI – Completely separate UI and logic
  • 19. 19 Qt Quick Design • Completely separate UI and logic – Allows switching UI at runtime • Access C++ through bindings and functions – C++ and UI data automatically synchronized Development Source code .cpp/.h Application C++ Data Objects User interface .qml . Scripts .js Application User interface .qml . Scripts .js Rectangle { width: height*2; height: 200; color: “white” Text { anchors.fill: parent text: “Hello world!” color: “black” font.pixelSize: 20 } }
  • 20. 20 Sensors and Gestures • Sensors and gestures can be entirely managed from QML • Great ease of use, no knowledge of Android needed at all • Let’s try! PinchArea { width:200 height: 200 GridView { // Some large content } } Pinch / Zoom gesture Accelerometer { dataRate: 2 active: true onReadingChanged{ // Use reading.x/y/z } } Using accelerometer
  • 21. 21 Adapting to screen • Devices come in various resolution and size • QtQuick2ApplicationViewer::screen() – Height and width in pixels – Physical height and width SmartphoneTablet
  • 22. 22 Adapting to screen • Relative size and position – Height: parent.height /2 – Limited hard to maintain • Different QML files – Very customizable for each resolutions/size SmartphoneTabletQt Quick components
  • 23. 23 Adapting to screen • Automatic layouting – Layout, Row, Grid, … – Resize and/or move component in allocated space • Anchors – Anchors button left with left the border – Use anchors to constrain size SmartphoneTabletQt Quick components
  • 25. 25 Deployment • Deploying your application on Android – Direct deployment to device • Most convenient for development • Needs the device to be connected (USB) – Simulator – Bundle Qt libraries and files into the apk • Stand-alone and distributable application package – Using Ministro • Minimize the size of the APK
  • 26. 26 Deployment • Ministro – Available on Google Play – Application asks Ministro for Qt components – Ministro download components • If not installed • If newer versions exist – Qt Open Source • GPLv3+ license for the APK • BSD License for the API • Install LGPLv2.1 / GPLV3 Qt libraries
  • 27. 27 Deployment • Simulator – Let’s you create and simulate various Android devices – Simulate different screen size – Very convenient for development
  • 28. 28 Deployment • Finally – Connect your device – Hit “Play” ! Embedded device Smartphone Simulator
  • 29. 29 Conclusion • Qt is a powerful technology, covering more and more devices and Oses • Opens new opportunity and ways of doing software development • Became an interesting and powerful alternative to native Android