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 objetoque 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, redirecionarpara o Java utilizando a função CallVoidMethodpassando o objeto, o id do método e seus parâmetros
6. [Java] Tratar o evento!
Demo!
14
Comunidade Ultrabookhttp://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
@felipeapedroso