datos servicios y live tiles n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Datos , Servicios y Live Tiles PowerPoint Presentation
Download Presentation
Datos , Servicios y Live Tiles

Loading in 2 Seconds...

play fullscreen
1 / 36

Datos , Servicios y Live Tiles - PowerPoint PPT Presentation


  • 144 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Datos , Servicios y Live Tiles' - caitir


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
datos servicios y live tiles

Datos, Servicios y Live Tiles

Jose Antonio Gallego

Jefe de proyectos

Eduardo Ortega

MVP Device Application Development

opciones de almacenamiento
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
escribir en almacenamiento aislado
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);

}

}

leer del almacenamiento aislado
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);

}

buenas pr cticas
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
arquitectura
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

linq to sql
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
linq to sql1
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
datacontext
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
crear la base de datos
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();

}

}

utilizar la base de datos
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);

utilizar la base de datos1
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();

utilizaci n de live tiles
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
utilizaci n de live tiles1
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);

utilizaci n de live tiles2
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);

utilizaci n de live tiles3
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();

}

slide24
DEMO

Windows Phone 7.5Live Tiles

notificaciones push
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
limitaciones de uso
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
notificaciones toast
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ó
notificaciones toast1
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

notificaciones tile
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.
notificaciones tile1
Notificaciones Tile

Partes de una notificación Tile

notificaciones raw
Notificaciones Raw

Envían información a la aplicación

Si ésta no se está ejecutando, la notificación se descarta

gracias www micmovilidad es

GRACIASwww.micmovilidad.es

Jose Antonio Gallego

http://geeks.ms/blogs/jagallego

@lmovilero www.fiveflamesmobile.comEduardo Ortega

http://geeks.ms/blogs/eduardoortega

www.mobilenug.es