La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Datos, Servicios y Live Tiles Jose Antonio Gallego Jefe de proyectos Eduardo Ortega MVP Device Application Development."— 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 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 RutaUsoNotas 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. Carpeta creada durante la instalación de la aplicación. Puede ser eliminada. Shared Almacena las carpetas Transfers, ShellContents y sus subcarpetas. Carpeta creada durante la instalación de la aplicación. Puede ser eliminada.

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 Demo Windows Phone 7.5 Isolated Storage

9 Windows Phone 7.5 Sql Server Compact Edition

10 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 es una implementación de Object Relational Mapping Mapea objetos relacionales en un modelo orientado a objetos para trabajar con datos LINQ to SQL

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

13 Comparación con la versión de escritorio SQL ServerWindows Phone Lugar de ejecución Servicio en backgroundProceso de aplicación Acceso a la base de datos Cualquier aplicación Sólo la aplicación que la utiliza Consultas T-SQLLINQ 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 (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(); 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

18 Demo Windows Phone 7.5 SQL Server Compact Edition

19 Windows Phone 7.5 Live Tiles

20 Windows Phone 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 Tiles secundarios Crear Actualizar Eliminar Tile de aplicación Actualizar

21 Utilización de Live Tiles 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); El Tile de aplicación siempre es el primero de la lista de Tiles activos 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 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); Se crea un Tile con la información necesaria 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 (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. 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 Demo Windows Phone 7.5 Notificaciones Push

35 Q&A

36 GRACIAS Jose Antonio Gallego Eduardo Ortega


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

Presentaciones similares


Anuncios Google