La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Datos, Servicios y Live Tiles

Presentaciones similares


Presentación del tema: "Datos, Servicios y Live Tiles"— Transcripción de la presentación:

1 Datos, Servicios y Live Tiles
Jose Antonio Gallego Jefe de proyectos Eduardo Ortega MVP Device Application Development

2 Windows Phone 7.5 Isolated Storage

3 Opciones de almacenamiento
Aplicación IsolatedStorageSettings (System.IO.IsolatedStorage) IsolatedStorageFile DataContext (System.Data.Linq) Almacenamiento Aislado Pares clave/valor Archivos y carpetas Base de datos local Datos almacenados en: Settings: almacén de pares clave/valor usando la clase IsolatedStorageSettings Archivos y carpetas: almacén de ficheros y carpetas utilizando la clase IsolatedStorageFile Datos relacionales: almacén en base de datos usando LINQ to SQL Linq to SQL runtime

4 Escribir en almacenamiento aislado
// Obtener el almacén virtual de la aplicación IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); // Crear una nueva carpeta myStore.CreateDirectory("MiCarpeta"); // Especificar ruta y opciones para nuevo archivo using (var isoFileStream = new IsolatedStorageFileStream("MiCarpeta\\miArchivo.txt", FileMode.OpenOrCreate, myStore)) { // Escribir datos en el archivo using (var isoFileWriter = new StreamWriter(isoFileStream)) { isoFileWriter.WriteLine(txtWrite.Text); }

5 Leer del almacenamiento aislado
// Obtener el almacén virtual de la aplicación IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication(); try { // Especificar el archivo del que leer y opciones de apertura del mismo using (var isoFileStream = new IsolatedStorageFileStream("MiCarpeta\\miArchivo.txt", FileMode.Open, myStore)) { // Lectura de datos del archivo using (var isoFileReader = new StreamReader(isoFileStream)) { txtRead.Text = isoFileReader.ReadLine(); } } catch (Exception exc) { // Mostrar mensaje en caso de error MessageBox.Show("O Ocurrió un error al leer el fichero: " + exc.Message);

6 Carpetas especiales Ruta Uso Notas Shared/transfers
Almacén para archivos utilizados en transferencias en Background Carpeta creada durante la instalación de la aplicación. Puede ser eliminada. Shared/ShellContent Almacén para las imágenes de los Application Tiles. Shared Almacena las carpetas Transfers, ShellContents y sus subcarpetas.

7 Buenas prácticas Actualizar una App Desinstalar una App Quotas
Almacenamiento aislado no varía en la actualización Comprobar que la migración/transformación de datos es correcta Desinstalar una App Elimina toda la carpeta de la App, incluido almacenamiento aislado Quotas Apps no restringidas a un límite de quota Uso apropiado almacén en función de requisitos de la App Objetos de IsolatedStorageSettings Automáticamente guardados por el SO cuando el usuario sale de la App

8 Windows Phone 7.5 Isolated Storage

9 Windows Phone 7.5 Sql Server Compact Edition

10 Almacenamiento aislado
Arquitectura El acceso a datos se realiza mediante LINQ to SQL Aplicación DataContext (System.Data.Linq) Almacenamiento aislado base de datos local LINQ to SQL

11 LINQ to SQL LINQ es una implementación de Object Relational Mapping
Mapea objetos relacionales en un modelo orientado a objetos para trabajar con datos Datos LINQ to SQL Objetos

12 LINQ to SQL LINQ permite realizar operaciones con objetos que después se persisten en la base de datos. La aplicación utiliza LINQ para manejar los datos. LINQ to SQL lo traduce a T-SQL para que se pueda ejecutar en la base de datos T-SQL LINQ Base de datos Aplicación LINQ to SQL T-SQL LINQ

13 Comparación con la versión de escritorio
SQL Server Windows Phone Lugar de ejecución Servicio en background Proceso de aplicación Acceso a la base de datos Cualquier aplicación Sólo la aplicación que la utiliza Consultas T-SQL LINQ to SQL

14 DataContext LINQ permite realizar operaciones en la base de datos a través de un objeto DataContext asociado. El objeto principal es DataContext Representa la base de datos mediante entidades LINQ to SQL mapea una base de datos en un modelo de objetos Base de datos  DataContext Tabla  clase del DataContext Columna  propiedad de la clase Relación  propiedad de la clase La estructura de la base de datos se define en el objeto DataContext mediante atributos de mapeo

15 Crear la base de datos Una vez creado el objeto DataContext y conocida la cadena de conexión… // Crea la base de datos si todavía no existe. using (ToDoDataContext db = new ToDoDataContext("isostore:/ToDo.sdf")) { if (db.DatabaseExists() == false) // Crea la base de datos. db.CreateDatabase(); } Indica que el archivo de la base de datos está en el almacenamiento aislado

16 Utilizar la base de datos
Seleccionar datos // Define la consulta para obtener todos los elementos ToDo var toDoItemsInDB = from ToDoItem todo in toDoDB.ToDoItems select todo; // Ejecuta la consulta y añade el resultado a la colección. ToDoItems = new ObservableCollection<ToDoItem>(toDoItemsInDB);

17 Utilizar la base de datos
Insertar datos // Crea un nuevo elemento to-do ToDoItem newToDo = new ToDoItem {ItemName = "nuevo"};  // Añade el elemento to-do a la colección. ToDoItems.Add(newToDo); // Añade el elemento to-do a la base de datos local. db.ToDoItems.InsertOnSubmit(newToDo);   // Guarda los cambios en la base de datos. db.SubmitChanges(); Se añade el nuevo elemento a la colección Se inserta el elemento Hasta que no se realiza la llamada a SubmitChanges() no se insertan los datos en la BD

18 Windows Phone 7.5 SQL Server Compact Edition

19 Windows Phone 7.5 Live Tiles

20 Utilización de Live Tiles
¿Cómo se utilizan los Tiles? Las APIs ShellTile permiten crear y eliminar Tiles secundarios, así como actualizar todos los Tiles Pueden actualizarse mediante el servicio de notificaciones push de Microsoft Las APIs ShellTileSchedule permiten actualizar un Tile de forma programada con información de un recurso remoto La apariencia inicial del Tile de aplicación se establece en el Application Manifest de Windows Phone Tile de aplicación Actualizar Tiles secundarios Crear Actualizar Eliminar

21 Utilización de Live Tiles
El Tile de aplicación siempre es el primero de la lista de Tiles activos Actualizar el Tile de aplicación ShellTile TileToFind = ShellTile.ActiveTiles.First(); StandardTileData NewTileData = new StandardTileData { Title = “Titulo del tile”, BackgroundImage = new Uri(“miImg.jpg”,UriKind.Relative), Count = 1, BackTitle = “Título trasero”, BackBackgroundImage = new Uri(“imgDetras.jpg”, UriKind.Relative), BackContent = “Texto de la parte trasera” }; TileToFind.Update(NewTileData); Se crea un nuevo Tile con los datos actualizados Se actualiza el Tile de la aplicación con el que tiene los datos actualizados

22 Utilización de Live Tiles
Se crea un Tile con la información necesaria Crear un Tile secundario StandardTileData NewTileData = new StandardTileData { BackgroundImage = new Uri(“imgTrasera.jpg", UriKind.Relative), Title = "Tile secundario“, Count = 12, BackTitle = “Parte trasera del Tile“, BackContent = “Bienvenido a la parte de atrás ”, BackBackgroundImage = new Uri(“fondoTrasera.jpg", UriKind.Relative) }; ShellTile.Create(new Uri("/MiTileSecundaria.xaml?DefaultTitle=miTile", UriKind.Relative), NewTileData); URI de la Tile creada, (incluyendo parámetros) e información inicial

23 Utilización de Live Tiles
Eliminar un Tile secundario ShellTile TileToFind = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("DefaultTitle=miTile")) ; if (TileToFind != null) { TileToFind.Delete(); } Se busca el Tile a eliminar Se elimina el Tile

24 DEMO Windows Phone 7.5 Live Tiles

25 Windows Phone 7.5 Notificaciones Push

26 Notificaciones Push El servicio de notificaciones Push de Microsoft proporciona un canal para enviar datos a una aplicación Windows Phone desde un servicio web Hay 3 tipos de notificaciones Toast Tile Raw

27 Notificaciones Push

28 Limitaciones de uso 1 canal de notificaciones push por aplicación
Válido para cualquier tipo de notificación 30 canales de notificaciones push por dispositivo En notificaciones toast, se debe pedir permiso al usuario para habilitar o deshabilitar la recepción de notificaciones Las notificaciones push no deberían contener información personal La recepción de notificaciones depende de la conexión y la configuración de la red El tamaño máximo de carga es 1KB

29 Notificaciones Toast Parte superior de la pantalla
Duración: unos 10 segundos Se descarta con un flick hacia la derecha Al tocar la notificación, se lanza la aplicación que la lanzó

30 Notificaciones Toast Partes de una notificación toast Título Subtítulo
(propiedad Text1) Subtítulo (propiedad Text2) Parámetro Se pasa a la aplicación si se acepta la notificación. Pueden ser pares nombre/valor, una página de la aplicación… (propiedad Param) Icono de la aplicación

31 Notificaciones Tile Pantalla de inicio de Windows Phone
Tienen 2 partes: delantera y trasera 2 tipos Tile de la aplicación: aplicación anclada a Inicio Tile secundario: se crea con la interacción del usuario Puede existir sin necesidad de un Tile de aplicación Ejemplos: mostrar el tiempo en distintas ciudades, últimas noticias por tipos (deportes, cultura…), etc. delante 1 detrás Texto del tile

32 Notificaciones Tile Partes de una notificación Tile

33 Notificaciones Raw Envían información a la aplicación
Si ésta no se está ejecutando, la notificación se descarta

34 Windows Phone 7.5 Notificaciones Push

35 Q&A

36 GRACIAS www.micmovilidad.es
Jose Antonio Gallego @lmovilero Eduardo Ortega


Descargar ppt "Datos, Servicios y Live Tiles"

Presentaciones similares


Anuncios Google