Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks

Preview:

Citation preview

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

3

Convergência da Computação Móvel

4

Novos geração de Ultrabooks

5

Uma nova experiência para o usuário

Touch

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)

8

JavaFX

• DEMO!

Sensores

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

11

API Windows – Sensor Fusion

12

API Windows – Namespaces• Windows.Sensors.* Sensores

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

• Windows.Devices.Geolocation GPS– Geolocator

• Windows.Networking.Proximity NFC– ProximityDevice

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

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

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!

16

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

17

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

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