Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks
-
Upload
intel-software-brasil -
Category
Documents
-
view
710 -
download
3
Transcript of Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks
![Page 1: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/1.jpg)
Desenvolvendo interfaces ricas em JavaFX para Ultrabook
Felipe Pedroso
![Page 2: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/2.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/3.jpg)
3
Convergência da Computação Móvel
![Page 4: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/4.jpg)
4
Novos geração de Ultrabooks
![Page 5: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/5.jpg)
5
Uma nova experiência para o usuário
![Page 6: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/6.jpg)
Touch
![Page 7: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/7.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/8.jpg)
8
JavaFX
• DEMO!
![Page 9: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/9.jpg)
Sensores
![Page 10: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/10.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/11.jpg)
11
API Windows – Sensor Fusion
![Page 12: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/12.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/13.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/14.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/15.jpg)
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 17: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/17.jpg)
17
Comunidade Ultrabookhttp://software.intel.com/pt-br/windows
![Page 18: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/18.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/19.jpg)
Dúvidas?
![Page 20: Desenvolvendo Interfaces Ricas em JavaFX para Ultrabooks](https://reader036.fdocument.pub/reader036/viewer/2022062514/5590cbb91a28ab4d538b4796/html5/thumbnails/20.jpg)
Muito Obrigado!
Contatos:Felipe Pedroso
www.facebook.com/felipe.a.pedroso@felipeapedroso