SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Desenvolvendo interfaces ricas
em JavaFX para Ultrabook
Felipe Pedroso
Agenda
• Ultrabooks e seus Recursos
• Java FX: Interface Rica para Toque
– Tratando eventos de toque em um Node
• TouchUp
• TouchMove
• TouchDown
– Gestos
• Rotate
• Scroll
• Swipe
• Zoom
• Sensores e JNI
2
Convergência da Computação Móvel
3
Novos geração de Ultrabooks
4
Uma nova experiência para o usuário
5
Touch
JavaFX
• DEMO!
7
Sensores
Sensores disponíveis no Ultrabook
• Acelerômetro
– Aceleração da força G nos eixos x, y, z
• Giroscópio
– Velocidade angular (taxa que sua orientação muda)
nos eixos x, y e z
• Magnetômetro
– Intensidade, direção e sentido de um campo
magnético
• GPS (Global Positioning System)
– Localização e informação de tempo
• NFC (Near Field Communication)
– Comunicação
• Sensor de luz ambiente
– Nível de Luz no Ambiente 9
API Windows – Sensor Fusion
10
API Windows – Namespaces
• Windows.Sensors.*  Sensores
– Accelerometer
– Gyrometer
– Inclinometer
– OrientationSensor
– SimpleOrientationSensor
– Compass
– LightSensor
• Windows.Devices.Geolocation  GPS
– Geolocator
• Windows.Networking.Proximity  NFC
– ProximityDevice
11
API Windows – Como usar?
• Obter o objeto default do sensor utilizando o método
GetDefault()
• Para fazer apenas uma leitura chamar o método
GetCurrentReading(), de preferência
• Para receber uma notificação contendo a leitura do sensor:
– Setar a variável ReportInterval (não esquecer do
MinimumReportInterval)
– Registrar um método para receber o evento no ReadingChanged
(delegate)
– Tratar o evento dentro do método
• Esse procedimento é válido para todos os sensores
disponíveis no namespace Windows.Sensors
12
Acessando sensores com JNI
(Windows.Sensors)
1. [Java] Criar um método nativo para registrar o objeto
que irá tratar os eventos do sensor
2. Gerar o header usando javah
3. [C++] Configurar o projeto do Visual Studio com as
DLLs e namespaces da API do Windows 8
4. [C++] Armazenar uma referência para o objeto e o ID
do método no Java (GetMethodID) que irá receber o
evento
13
Acessando sensores com JNI
(Windows.Sensors)
4. [C++] Inicializar o sensor e setar o “listener” do
evento (API Windows)
5. [C++] Quando o evento for acionado, redirecionar
para o Java utilizando a função CallVoidMethod
passando o objeto, o id do método e seus parâmetros
6. [Java] Tratar o evento! 
Demo!
14
Quer saber mais?
http://software.intel.com/pt-br/
15
Comunidade Ultrabook
http://software.intel.com/pt-br/ultrabook
16
Take aways
• Ultrabooks: Uma nova experiência
• Java FX: Interface Rica para Toque
• Sensores e JNI
Dúvidas?
Muito Obrigado!
Contatos:
https://www.facebook.com/intelswbrasil
Felipe Pedroso
felipe.Pedroso@intel.com
@felipeapedroso

Contenu connexe

En vedette

Dynamics of Brand Personality
Dynamics of Brand PersonalityDynamics of Brand Personality
Dynamics of Brand PersonalitySj -
 
An Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIsAn Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIsEricsson Labs
 
Android Basic Presentation (Introduction)
Android Basic Presentation (Introduction)Android Basic Presentation (Introduction)
Android Basic Presentation (Introduction)RAHUL TRIPATHI
 
Near Field Communication (NFC)
Near Field Communication (NFC)Near Field Communication (NFC)
Near Field Communication (NFC)deepak171991
 
Wireless sensor networks using android virtual devices and near field
Wireless sensor networks using android virtual devices and near fieldWireless sensor networks using android virtual devices and near field
Wireless sensor networks using android virtual devices and near fieldNicolas Kockel
 
Standards for the Future of Java Embedded (16:9)
Standards for the Future of Java Embedded (16:9)Standards for the Future of Java Embedded (16:9)
Standards for the Future of Java Embedded (16:9)Werner Keil
 
geecon 2013 - Standards for the Future of Java Embedded
geecon 2013 - Standards for the Future of Java Embeddedgeecon 2013 - Standards for the Future of Java Embedded
geecon 2013 - Standards for the Future of Java EmbeddedWerner Keil
 
Track 2 session 3 - st dev con 2016 - simplifying cloud connectivity
Track 2   session 3 - st dev con 2016 - simplifying cloud connectivityTrack 2   session 3 - st dev con 2016 - simplifying cloud connectivity
Track 2 session 3 - st dev con 2016 - simplifying cloud connectivityST_World
 
DevBy. Apple Watch Kit 1.0 (RU) & NFC
DevBy. Apple Watch Kit 1.0 (RU) & NFCDevBy. Apple Watch Kit 1.0 (RU) & NFC
DevBy. Apple Watch Kit 1.0 (RU) & NFCVladimir Hudnitsky
 
Ultrabook Development Using Sensors - Intel AppLab Berlin
Ultrabook Development Using Sensors - Intel AppLab BerlinUltrabook Development Using Sensors - Intel AppLab Berlin
Ultrabook Development Using Sensors - Intel AppLab BerlinIntel Developer Zone Community
 
The Eclipse M2M IWG and Standards for the Internet of Things
The Eclipse M2M IWG and Standards for the Internet of ThingsThe Eclipse M2M IWG and Standards for the Internet of Things
The Eclipse M2M IWG and Standards for the Internet of ThingsWerner Keil
 
DASH7 Alliance Protocol 1.0: Low-Power, Mid-Range Sensor and Actuator Communi...
DASH7 Alliance Protocol 1.0: Low-Power, Mid-Range Sensor and Actuator Communi...DASH7 Alliance Protocol 1.0: Low-Power, Mid-Range Sensor and Actuator Communi...
DASH7 Alliance Protocol 1.0: Low-Power, Mid-Range Sensor and Actuator Communi...Maarten Weyn
 
Latest wireless technology
Latest wireless technologyLatest wireless technology
Latest wireless technologynurmeen1
 

En vedette (17)

Dynamics of Brand Personality
Dynamics of Brand PersonalityDynamics of Brand Personality
Dynamics of Brand Personality
 
shirsha
shirshashirsha
shirsha
 
Sto L Pa N@Nfc Academy 2009
Sto L Pa N@Nfc Academy 2009Sto L Pa N@Nfc Academy 2009
Sto L Pa N@Nfc Academy 2009
 
An Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIsAn Overview of All Ericsson Labs APIs
An Overview of All Ericsson Labs APIs
 
Android Basic Presentation (Introduction)
Android Basic Presentation (Introduction)Android Basic Presentation (Introduction)
Android Basic Presentation (Introduction)
 
Near Field Communication (NFC)
Near Field Communication (NFC)Near Field Communication (NFC)
Near Field Communication (NFC)
 
Presentation
PresentationPresentation
Presentation
 
Wireless sensor networks using android virtual devices and near field
Wireless sensor networks using android virtual devices and near fieldWireless sensor networks using android virtual devices and near field
Wireless sensor networks using android virtual devices and near field
 
Sensor id overview_ppt
Sensor id overview_pptSensor id overview_ppt
Sensor id overview_ppt
 
Standards for the Future of Java Embedded (16:9)
Standards for the Future of Java Embedded (16:9)Standards for the Future of Java Embedded (16:9)
Standards for the Future of Java Embedded (16:9)
 
geecon 2013 - Standards for the Future of Java Embedded
geecon 2013 - Standards for the Future of Java Embeddedgeecon 2013 - Standards for the Future of Java Embedded
geecon 2013 - Standards for the Future of Java Embedded
 
Track 2 session 3 - st dev con 2016 - simplifying cloud connectivity
Track 2   session 3 - st dev con 2016 - simplifying cloud connectivityTrack 2   session 3 - st dev con 2016 - simplifying cloud connectivity
Track 2 session 3 - st dev con 2016 - simplifying cloud connectivity
 
DevBy. Apple Watch Kit 1.0 (RU) & NFC
DevBy. Apple Watch Kit 1.0 (RU) & NFCDevBy. Apple Watch Kit 1.0 (RU) & NFC
DevBy. Apple Watch Kit 1.0 (RU) & NFC
 
Ultrabook Development Using Sensors - Intel AppLab Berlin
Ultrabook Development Using Sensors - Intel AppLab BerlinUltrabook Development Using Sensors - Intel AppLab Berlin
Ultrabook Development Using Sensors - Intel AppLab Berlin
 
The Eclipse M2M IWG and Standards for the Internet of Things
The Eclipse M2M IWG and Standards for the Internet of ThingsThe Eclipse M2M IWG and Standards for the Internet of Things
The Eclipse M2M IWG and Standards for the Internet of Things
 
DASH7 Alliance Protocol 1.0: Low-Power, Mid-Range Sensor and Actuator Communi...
DASH7 Alliance Protocol 1.0: Low-Power, Mid-Range Sensor and Actuator Communi...DASH7 Alliance Protocol 1.0: Low-Power, Mid-Range Sensor and Actuator Communi...
DASH7 Alliance Protocol 1.0: Low-Power, Mid-Range Sensor and Actuator Communi...
 
Latest wireless technology
Latest wireless technologyLatest wireless technology
Latest wireless technology
 

Similaire à Desenvolvendo interfaces ricas em JavaFX para Ultrabook

Similaire à Desenvolvendo interfaces ricas em JavaFX para Ultrabook (20)

Utilizando os Sensores dos Ultrabooks
Utilizando os Sensores dos UltrabooksUtilizando os Sensores dos Ultrabooks
Utilizando os Sensores dos Ultrabooks
 
OpenIoT
OpenIoT OpenIoT
OpenIoT
 
Entendendo a Plataforma de Desenvolvimento do Windows Phone 7
Entendendo a Plataforma de Desenvolvimento do Windows Phone 7Entendendo a Plataforma de Desenvolvimento do Windows Phone 7
Entendendo a Plataforma de Desenvolvimento do Windows Phone 7
 
Redes de Sensores
Redes de SensoresRedes de Sensores
Redes de Sensores
 
AuraSlides
AuraSlidesAuraSlides
AuraSlides
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Framework (N)Esper @ PT.JUG 2010/06
Framework (N)Esper @ PT.JUG 2010/06Framework (N)Esper @ PT.JUG 2010/06
Framework (N)Esper @ PT.JUG 2010/06
 
APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
Apple Watch - Digital Day da CI&T
Apple Watch - Digital Day da CI&TApple Watch - Digital Day da CI&T
Apple Watch - Digital Day da CI&T
 
New Relic Insights
New Relic InsightsNew Relic Insights
New Relic Insights
 
Computação em Nuvem e a Iot
Computação em Nuvem e a IotComputação em Nuvem e a Iot
Computação em Nuvem e a Iot
 
Android
AndroidAndroid
Android
 
Phonegap
PhonegapPhonegap
Phonegap
 
Minicurso Node-RED.pdf
Minicurso Node-RED.pdfMinicurso Node-RED.pdf
Minicurso Node-RED.pdf
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizar
 
Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2Trabalhando com eventos e serviços no Zend Framework 2
Trabalhando com eventos e serviços no Zend Framework 2
 
Workshop Arduino SETi 2014
Workshop Arduino SETi 2014Workshop Arduino SETi 2014
Workshop Arduino SETi 2014
 
Nokia SDK for Java
Nokia SDK for JavaNokia SDK for Java
Nokia SDK for Java
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 

Plus de Felipe Pedroso

Improved Knowledge from Data: Building an Immersive Data Analysis Platform
Improved Knowledge from Data: Building an Immersive Data Analysis PlatformImproved Knowledge from Data: Building an Immersive Data Analysis Platform
Improved Knowledge from Data: Building an Immersive Data Analysis PlatformFelipe Pedroso
 
Aprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaAprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaFelipe Pedroso
 
Machine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML KitMachine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML KitFelipe Pedroso
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorFelipe Pedroso
 
Construindo Chatbots em Node.js
Construindo Chatbots em Node.jsConstruindo Chatbots em Node.js
Construindo Chatbots em Node.jsFelipe Pedroso
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot FrameworkFelipe Pedroso
 
Developer Relations 101
Developer Relations 101Developer Relations 101
Developer Relations 101Felipe Pedroso
 
Simplificando chamadas HTTP com o Retrofit
Simplificando chamadas HTTP com o RetrofitSimplificando chamadas HTTP com o Retrofit
Simplificando chamadas HTTP com o RetrofitFelipe Pedroso
 
Introdução ao Retrofit
Introdução ao Retrofit Introdução ao Retrofit
Introdução ao Retrofit Felipe Pedroso
 
Assistive Context-Aware Toolkit (Portuguese)
Assistive Context-Aware Toolkit (Portuguese)Assistive Context-Aware Toolkit (Portuguese)
Assistive Context-Aware Toolkit (Portuguese)Felipe Pedroso
 
Assistive Context-Aware Toolkit (English)
Assistive Context-Aware Toolkit (English)Assistive Context-Aware Toolkit (English)
Assistive Context-Aware Toolkit (English)Felipe Pedroso
 
Conectando Coisas com IFTTT
Conectando Coisas com IFTTTConectando Coisas com IFTTT
Conectando Coisas com IFTTTFelipe Pedroso
 
Minicurso RealSense SDK
Minicurso RealSense SDKMinicurso RealSense SDK
Minicurso RealSense SDKFelipe Pedroso
 
Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"Felipe Pedroso
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Felipe Pedroso
 
Palestra "Game Engines para Javascript"
Palestra "Game Engines para Javascript"Palestra "Game Engines para Javascript"
Palestra "Game Engines para Javascript"Felipe Pedroso
 

Plus de Felipe Pedroso (20)

Improved Knowledge from Data: Building an Immersive Data Analysis Platform
Improved Knowledge from Data: Building an Immersive Data Analysis PlatformImproved Knowledge from Data: Building an Immersive Data Analysis Platform
Improved Knowledge from Data: Building an Immersive Data Analysis Platform
 
Aprendendo Kotlin na Prática
Aprendendo Kotlin na PráticaAprendendo Kotlin na Prática
Aprendendo Kotlin na Prática
 
Machine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML KitMachine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML Kit
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
 
Construindo Chatbots em Node.js
Construindo Chatbots em Node.jsConstruindo Chatbots em Node.js
Construindo Chatbots em Node.js
 
Testes A/B
Testes A/BTestes A/B
Testes A/B
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot Framework
 
Análise SWOT
Análise SWOTAnálise SWOT
Análise SWOT
 
Developer Relations 101
Developer Relations 101Developer Relations 101
Developer Relations 101
 
Simplificando chamadas HTTP com o Retrofit
Simplificando chamadas HTTP com o RetrofitSimplificando chamadas HTTP com o Retrofit
Simplificando chamadas HTTP com o Retrofit
 
Introdução ao Retrofit
Introdução ao Retrofit Introdução ao Retrofit
Introdução ao Retrofit
 
Assistive Context-Aware Toolkit (Portuguese)
Assistive Context-Aware Toolkit (Portuguese)Assistive Context-Aware Toolkit (Portuguese)
Assistive Context-Aware Toolkit (Portuguese)
 
Assistive Context-Aware Toolkit (English)
Assistive Context-Aware Toolkit (English)Assistive Context-Aware Toolkit (English)
Assistive Context-Aware Toolkit (English)
 
Conectando Coisas com IFTTT
Conectando Coisas com IFTTTConectando Coisas com IFTTT
Conectando Coisas com IFTTT
 
Minicurso RealSense SDK
Minicurso RealSense SDKMinicurso RealSense SDK
Minicurso RealSense SDK
 
RealSense SDK
RealSense SDKRealSense SDK
RealSense SDK
 
Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"Minicurso "Jogos Multiplataforma com Javascript"
Minicurso "Jogos Multiplataforma com Javascript"
 
RealSense SDK
RealSense SDKRealSense SDK
RealSense SDK
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8
 
Palestra "Game Engines para Javascript"
Palestra "Game Engines para Javascript"Palestra "Game Engines para Javascript"
Palestra "Game Engines para Javascript"
 

Desenvolvendo interfaces ricas em JavaFX para Ultrabook

  • 1. Desenvolvendo interfaces ricas em JavaFX para Ultrabook Felipe Pedroso
  • 2. Agenda • Ultrabooks e seus Recursos • Java FX: Interface Rica para Toque – Tratando eventos de toque em um Node • TouchUp • TouchMove • TouchDown – Gestos • Rotate • Scroll • Swipe • Zoom • Sensores e JNI 2
  • 4. Novos geração de Ultrabooks 4
  • 5. Uma nova experiência para o usuário 5
  • 9. Sensores disponíveis no Ultrabook • Acelerômetro – Aceleração da força G nos eixos x, y, z • Giroscópio – Velocidade angular (taxa que sua orientação muda) nos eixos x, y e z • Magnetômetro – Intensidade, direção e sentido de um campo magnético • GPS (Global Positioning System) – Localização e informação de tempo • NFC (Near Field Communication) – Comunicação • Sensor de luz ambiente – Nível de Luz no Ambiente 9
  • 10. API Windows – Sensor Fusion 10
  • 11. API Windows – Namespaces • Windows.Sensors.*  Sensores – Accelerometer – Gyrometer – Inclinometer – OrientationSensor – SimpleOrientationSensor – Compass – LightSensor • Windows.Devices.Geolocation  GPS – Geolocator • Windows.Networking.Proximity  NFC – ProximityDevice 11
  • 12. API Windows – Como usar? • Obter o objeto default do sensor utilizando o método GetDefault() • Para fazer apenas uma leitura chamar o método GetCurrentReading(), de preferência • Para receber uma notificação contendo a leitura do sensor: – Setar a variável ReportInterval (não esquecer do MinimumReportInterval) – Registrar um método para receber o evento no ReadingChanged (delegate) – Tratar o evento dentro do método • Esse procedimento é válido para todos os sensores disponíveis no namespace Windows.Sensors 12
  • 13. Acessando sensores com JNI (Windows.Sensors) 1. [Java] Criar um método nativo para registrar o objeto que irá tratar os eventos do sensor 2. Gerar o header usando javah 3. [C++] Configurar o projeto do Visual Studio com as DLLs e namespaces da API do Windows 8 4. [C++] Armazenar uma referência para o objeto e o ID do método no Java (GetMethodID) que irá receber o evento 13
  • 14. Acessando sensores com JNI (Windows.Sensors) 4. [C++] Inicializar o sensor e setar o “listener” do evento (API Windows) 5. [C++] Quando o evento for acionado, redirecionar para o Java utilizando a função CallVoidMethod passando o objeto, o id do método e seus parâmetros 6. [Java] Tratar o evento!  Demo! 14
  • 17. Take aways • Ultrabooks: Uma nova experiência • Java FX: Interface Rica para Toque • Sensores e JNI