20
Desenvolvendo interfaces ricas em JavaFX para Ultrabook Felipe Pedroso

Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

Embed Size (px)

Citation preview

Page 1: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

Desenvolvendo interfaces ricas em JavaFX para Ultrabook

Felipe Pedroso

Page 2: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

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

Page 3: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

3

Convergência da Computação Móvel

Page 4: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

4

Novos geração de Ultrabooks

Page 5: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

5

Uma nova experiência para o usuário

Page 6: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

Touch

Page 7: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

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)

Page 8: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

8

JavaFX

• DEMO!

Page 9: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

Sensores

Page 10: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

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

Page 11: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

11

API Windows – Sensor Fusion

Page 12: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

12

API Windows – Namespaces• Windows.Sensors.* Sensores

– Accelerometer– Gyrometer– Inclinometer– OrientationSensor– SimpleOrientationSensor– Compass– LightSensor

• Windows.Devices.Geolocation GPS– Geolocator

• Windows.Networking.Proximity NFC– ProximityDevice

Page 13: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

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

Page 14: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

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

Page 15: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

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!

Page 16: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

16

Quer saber mais?http://software.intel.com/pt-br/

Page 17: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

17

Comunidade Ultrabookhttp://software.intel.com/pt-br/windows

Page 18: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

Take aways

• Ultrabooks: Uma nova experiência

• Java FX: Interface Rica para Toque

• Sensores e JNI

Page 19: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

Dúvidas?

Page 20: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

Muito Obrigado!

Contatos:Felipe Pedroso

www.facebook.com/felipe.a.pedroso@felipeapedroso