15

Click here to load reader

WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Embed Size (px)

DESCRIPTION

WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Citation preview

Page 1: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

WorkShop Trabajo con Active Frames

Joel OrtízSeptiembre 23 de 2013

Page 2: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Joel Ortíz

BlackBerry Elite Member & Community Manager

Adobe Certified Instructor, Expert & Adobe Community Manager

StarWars FanBoy

BlackBerry, Activ

2

Page 3: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Objetivos del WorkShop

Este taller nos permitirá: Comprender los Active Frames (Covers) para la BlackBerry 10 Implementar Active Frames en proyectos desarrollados en Cascades Implementar Active Frames Dinámicos

3

Page 4: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Active Frames

Page 5: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

¿Qué es un Active Frame?

Un Active Frame (también llamado Application Cover) aparece en el screen de inicio de nuestro dispositivo cuando una aplicación es ejecutada. En el, el usuario puede dar “tap” para re-abrir la aplicación.

5

Page 6: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

¿Cuando al usar Active Frames?

Cuando el usuario requiera conocer algún dato relevante de primera mano sin necesidad de abrir la aplicación, tal es el caso de: Un próximo evento en el calendario, la temperatura actual del medio ambiente, etc.

¿Es realmente importante que el usuario vean el estado de la aplicación cuando esta minimizada? Si la respuesta es no, quizá no sea necesario usar Active Frames, son una versión reducida de nuestra aplicación será suficiente.

6

Page 7: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Demo: Active Frames en Cascades usando QML y C++

Page 8: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Requisitos

Contar con QNX Momentics IDE instalado Contar con el SDK 10.1 o superior instalado Contar con el VMWare y el BlackBerry Simulator instalados

8

Page 9: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Código Importante

Librerías:

Asignación de Cover a nuestra aplicación:

9

SceneCover *sceneCover = SceneCover::create().content(coverContainer);Application::instance()->setCover(sceneCover);

#include <bb/cascades/Container>#include <bb/cascades/SceneCover>

Page 10: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Active Frames Dinámicos

Page 11: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Creando Covers Dinámicos

Crear Active Frames dinámicos es algo diferentes a crear Active Frames estáticos debido a que en C++ no tenemos un mecanismo para actualizar su contenido.

Para actualizar el contenido de los Active Frames emplearemos un SIGNAL al listener “Application::thumbnail()” cada vez que requiramos actualizar el cover.

Un método en C++ será el que se encargue de actualizar nuestro archivo QML, dicho método debe ser Q_INVOKABLE.

11

Page 12: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Mejores Practicas

Page 13: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Uso de imágenes y campos de texto

Para smartphones con resolución de 768 x 1280, crearemos imágenes de 334 px de ancho x 396 px de alto.

Para smartphones con resolución de 720 x 720, crearemos imágenes de 310 px de ancho x 211 de alto.

El tipo de fuente a usar en campos de texto en el cuerpo del Active Frame debe ser “Slate Pro”. Considerando un alto de 35 px para textos principales y de 30 px para textos secundarios.

Colocar la información mas importante en la parte superior del Active Frame.

Evitar el desplegar demasiada información.

13

Page 14: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Layouts en Active Frames

14

HeaderGrid List- Fuente Slate Pro, 25 px altura

- Avatar 50 x 50 px

Page 15: WorkShop Trabajo con Active Frames en Cascades Usando QML y C++

Gracias por su atención

¿Preguntas?@[email protected]