1 / 36

Datos , Servicios y Live Tiles

Datos , Servicios y Live Tiles. Jose Antonio Gallego Jefe de proyectos Eduardo Ortega MVP Device Application Development. Windows Phone 7.5 Isolated Storage. Opciones de almacenamiento. Aplicación. Almacenamiento Aislado Pares clave/valor Archivos y carpetas Base de datos local.

caitir
Download Presentation

Datos , Servicios y Live Tiles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Windows Phone 7.5Isolated Storage

  3. Opciones de almacenamiento Aplicación Almacenamiento Aislado Pares clave/valor Archivos y carpetas Base de datos local IsolatedStorageSettings (System.IO.IsolatedStorage) IsolatedStorageFile (System.IO.IsolatedStorage) Linqto SQL runtime DataContext (System.Data.Linq) 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 LINQtoSQL

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

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

  6. Carpetas especiales

  7. Buenas prácticas • Actualizar una App • 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.5Isolated Storage

  9. Windows Phone 7.5Sql Server Compact Edition

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

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

  12. LINQ to SQL T-SQL LINQ Base de datos Aplicación LINQ to SQL LINQ T-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

  13. Comparación con la versión de escritorio

  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 Indica que el archivo de la base de datos está en el almacenamiento aislado 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(); } }

  16. Utilizar la base de datos Seleccionar datos // Define la consulta para obtener todos los elementos ToDo vartoDoItemsInDB = from ToDoItemtodo 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 Hasta que no se realiza la llamada a SubmitChanges() no se insertan los datos en la BD Se añade el nuevo elemento a la colección Se inserta el elemento Insertar datos // Crea un nuevo elemento to-do ToDoItemnewToDo = 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();

  18. Windows Phone 7.5SQL Server Compact Edition

  19. Windows Phone 7.5Live Tiles

  20. Utilización de Live Tiles • Tile de aplicación • Actualizar • Tiles secundarios • Crear • Actualizar • Eliminar • ¿Cómo se utilizan los Tiles? • Las APIsShellTile permiten crear y eliminar Tiles secundarios, así como actualizar todos los Tiles • Pueden actualizarse mediante el servicio de notificaciones push de Microsoft • Las APIsShellTileSchedule 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 ApplicationManifest de Windows Phone

  21. Utilización de Live Tiles Se actualiza el Tile de la aplicación con el que tiene los datos actualizados El Tile de aplicación siempre es el primero de la lista de Tiles activos Se crea un nuevo Tile con los datos actualizados • Actualizar el Tile de aplicación ShellTileTileToFind = ShellTile.ActiveTiles.First(); StandardTileDataNewTileData = 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);

  22. Utilización de Live Tiles Se crea un Tile con la información necesaria URI de la Tile creada, (incluyendo parámetros) e información inicial • Crear un Tile secundario StandardTileDataNewTileData = 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);

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

  24. DEMO Windows Phone 7.5Live Tiles

  25. Windows Phone 7.5Notificaciones 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 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) Título (propiedad Text1) Icono de la aplicación Subtítulo (propiedad Text2) Partes de una notificación toast

  31. Notificaciones Tile delante 1 detrás Texto del 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.

  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.5Notificaciones Push

  35. Q&A

  36. GRACIASwww.micmovilidad.es Jose Antonio Gallego http://geeks.ms/blogs/jagallego @lmovilero www.fiveflamesmobile.comEduardo Ortega http://geeks.ms/blogs/eduardoortega www.mobilenug.es

More Related