SlideShare ist ein Scribd-Unternehmen logo
1 von 20
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
Implementando Touch
• Touch não é um mouse!
• Criar elementos suficientemente grandes
• Suporte gestos e comportamentos padrão
(mantendo coerência com o sistema)
• Não usar Touch só para dizer que usou
• Touch precisa ser tolerante (impreciso)
7
JavaFX
• DEMO!
8
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 10
API Windows – Sensor Fusion
11
API Windows – Namespaces
• Windows.Sensors.*  Sensores
– Accelerometer
– Gyrometer
– Inclinometer
– OrientationSensor
– SimpleOrientationSensor
– Compass
– LightSensor
• Windows.Devices.Geolocation  GPS
– Geolocator
• Windows.Networking.Proximity  NFC
– ProximityDevice
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
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
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!
15
Quer saber mais?
http://software.intel.com/pt-br/
16
Comunidade Ultrabook
http://software.intel.com/pt-br/windows
17
Take aways
• Ultrabooks: Uma nova experiência
• Java FX: Interface Rica para Toque
• Sensores e JNI
Dúvidas?
Muito Obrigado!
Contatos:
Felipe Pedroso
www.facebook.com/felipe.a.pedroso
@felipeapedroso

Weitere ähnliche Inhalte

Andere mochten auch

Desenvolvendo interfaces ricas em java fx para ultrabook final
Desenvolvendo interfaces ricas em java fx para ultrabook   finalDesenvolvendo interfaces ricas em java fx para ultrabook   final
Desenvolvendo interfaces ricas em java fx para ultrabook finalFelipe Pedroso
 
Utilisation des capteurs dans les applications windows 8
Utilisation des capteurs dans les applications windows 8Utilisation des capteurs dans les applications windows 8
Utilisation des capteurs dans les applications windows 8Intel Developer Zone Community
 
Leveraging Conductive Inkjet Technology to Build a Scalable and Versatile Sur...
Leveraging Conductive Inkjet Technology to Build a Scalable and Versatile Sur...Leveraging Conductive Inkjet Technology to Build a Scalable and Versatile Sur...
Leveraging Conductive Inkjet Technology to Build a Scalable and Versatile Sur...nwgong
 
M4M 2 the Rescue of M2M (Eclipse DemoCamp Trondheim)
M4M 2 the Rescue of M2M (Eclipse DemoCamp Trondheim)M4M 2 the Rescue of M2M (Eclipse DemoCamp Trondheim)
M4M 2 the Rescue of M2M (Eclipse DemoCamp Trondheim)Werner Keil
 
Payment revolution by Yoav Elgrichi
Payment revolution by Yoav ElgrichiPayment revolution by Yoav Elgrichi
Payment revolution by Yoav ElgrichiSiti Aishah Zahari
 
Mobile Money Business Track: understanding the Model and Market
Mobile Money Business Track: understanding the Model and MarketMobile Money Business Track: understanding the Model and Market
Mobile Money Business Track: understanding the Model and MarketArief Gunawan
 
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
 

Andere mochten auch (20)

Desenvolvendo interfaces ricas em java fx para ultrabook final
Desenvolvendo interfaces ricas em java fx para ultrabook   finalDesenvolvendo interfaces ricas em java fx para ultrabook   final
Desenvolvendo interfaces ricas em java fx para ultrabook final
 
Utilisation des capteurs dans les applications windows 8
Utilisation des capteurs dans les applications windows 8Utilisation des capteurs dans les applications windows 8
Utilisation des capteurs dans les applications windows 8
 
Leveraging Conductive Inkjet Technology to Build a Scalable and Versatile Sur...
Leveraging Conductive Inkjet Technology to Build a Scalable and Versatile Sur...Leveraging Conductive Inkjet Technology to Build a Scalable and Versatile Sur...
Leveraging Conductive Inkjet Technology to Build a Scalable and Versatile Sur...
 
M4M 2 the Rescue of M2M (Eclipse DemoCamp Trondheim)
M4M 2 the Rescue of M2M (Eclipse DemoCamp Trondheim)M4M 2 the Rescue of M2M (Eclipse DemoCamp Trondheim)
M4M 2 the Rescue of M2M (Eclipse DemoCamp Trondheim)
 
Payment revolution by Yoav Elgrichi
Payment revolution by Yoav ElgrichiPayment revolution by Yoav Elgrichi
Payment revolution by Yoav Elgrichi
 
Mobile Money Business Track: understanding the Model and Market
Mobile Money Business Track: understanding the Model and MarketMobile Money Business Track: understanding the Model and Market
Mobile Money Business Track: understanding the Model and Market
 
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
 

Ähnlich wie Desenvolvendo interfaces ricas em JavaFX para Ultrabook

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&TJuliana Chahoud
 
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 2William Felipe
 
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/06yellowdust
 
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/06nunoslideshare
 
Desenvolvimento Moderno de Aplicativos Android
Desenvolvimento Moderno de Aplicativos AndroidDesenvolvimento Moderno de Aplicativos Android
Desenvolvimento Moderno de Aplicativos AndroidNelson Glauber Leal
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
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 utilizarFilipe Falcão
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriquesmarleigrolli
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iotHeider Lopes
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Elaine Cecília Gatto
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComunidade NetPonto
 
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execução
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execuçãoTreinamento: como usar o JMeter, interpretar resultados e otimizar a execução
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execuçãoBeatriz Makiyama Celestino
 
Testes de Performance com JMeter
Testes de Performance com JMeterTestes de Performance com JMeter
Testes de Performance com JMeterEdlaine Zamora
 

Ähnlich wie Desenvolvendo interfaces ricas em JavaFX para Ultrabook (20)

OpenIoT
OpenIoT OpenIoT
OpenIoT
 
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
 
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
 
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
 
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
 
Zabbix
ZabbixZabbix
Zabbix
 
Desenvolvimento Moderno de Aplicativos Android
Desenvolvimento Moderno de Aplicativos AndroidDesenvolvimento Moderno de Aplicativos Android
Desenvolvimento Moderno de Aplicativos Android
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
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
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriques
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iot
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Android
AndroidAndroid
Android
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
 
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execução
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execuçãoTreinamento: como usar o JMeter, interpretar resultados e otimizar a execução
Treinamento: como usar o JMeter, interpretar resultados e otimizar a execução
 
Testes de Performance com JMeter
Testes de Performance com JMeterTestes de Performance com JMeter
Testes de Performance com JMeter
 
Desenvolvimento para Windows Phone 7
Desenvolvimento para Windows Phone 7Desenvolvimento para Windows Phone 7
Desenvolvimento para Windows Phone 7
 

Mehr von Intel Software Brasil

Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™  Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™ Intel Software Brasil
 
Escreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatEscreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatIntel Software Brasil
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaIntel Software Brasil
 
Desafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaDesafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaIntel Software Brasil
 
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XEGetting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XEIntel Software Brasil
 
Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...Intel Software Brasil
 
Principais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralelaPrincipais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralelaIntel Software Brasil
 
Principais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoPrincipais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoIntel Software Brasil
 
Intel Technologies for High Performance Computing
Intel Technologies for High Performance ComputingIntel Technologies for High Performance Computing
Intel Technologies for High Performance ComputingIntel Software Brasil
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoIntel Software Brasil
 
Yocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoYocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoIntel Software Brasil
 
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo pr...Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo pr...
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...Intel Software Brasil
 
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Intel Software Brasil
 

Mehr von Intel Software Brasil (20)

Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™  Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™
 
Escreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatEscreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKat
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento Multiplataforma
 
Desafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaDesafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataforma
 
Yocto - 7 masters
Yocto - 7 mastersYocto - 7 masters
Yocto - 7 masters
 
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XEGetting the maximum performance in distributed clusters Intel Cluster Studio XE
Getting the maximum performance in distributed clusters Intel Cluster Studio XE
 
Intel tools to optimize HPC systems
Intel tools to optimize HPC systemsIntel tools to optimize HPC systems
Intel tools to optimize HPC systems
 
Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...Methods and practices to analyze the performance of your application with Int...
Methods and practices to analyze the performance of your application with Int...
 
Principais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralelaPrincipais conceitos técnicas e modelos de programação paralela
Principais conceitos técnicas e modelos de programação paralela
 
Principais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoPrincipais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorização
 
Notes on NUMA architecture
Notes on NUMA architectureNotes on NUMA architecture
Notes on NUMA architecture
 
Intel Technologies for High Performance Computing
Intel Technologies for High Performance ComputingIntel Technologies for High Performance Computing
Intel Technologies for High Performance Computing
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenho
 
Yocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoYocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/Vivo
 
Html5 fisl15
Html5 fisl15Html5 fisl15
Html5 fisl15
 
IoT FISL15
IoT FISL15IoT FISL15
IoT FISL15
 
IoT TDC Floripa 2014
IoT TDC Floripa 2014IoT TDC Floripa 2014
IoT TDC Floripa 2014
 
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo pr...Otávio Salvador - Yocto project  reduzindo -time to market- do seu próximo pr...
Otávio Salvador - Yocto project reduzindo -time to market- do seu próximo pr...
 
Html5 tdc floripa_2014
Html5 tdc floripa_2014Html5 tdc floripa_2014
Html5 tdc floripa_2014
 
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
 

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
  • 7. Implementando Touch • Touch não é um mouse! • Criar elementos suficientemente grandes • Suporte gestos e comportamentos padrão (mantendo coerência com o sistema) • Não usar Touch só para dizer que usou • Touch precisa ser tolerante (impreciso) 7
  • 10. 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 10
  • 11. API Windows – Sensor Fusion 11
  • 12. API Windows – Namespaces • Windows.Sensors.*  Sensores – Accelerometer – Gyrometer – Inclinometer – OrientationSensor – SimpleOrientationSensor – Compass – LightSensor • Windows.Devices.Geolocation  GPS – Geolocator • Windows.Networking.Proximity  NFC – ProximityDevice 12
  • 13. 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 13
  • 14. 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 14
  • 15. 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! 15
  • 18. Take aways • Ultrabooks: Uma nova experiência • Java FX: Interface Rica para Toque • Sensores e JNI