[WP7] Aplicación Geeks.ms actualizada a Windows Phone 7.5

Hola a todos!

He aprovechado algo de tiempo libre para actualizar a Windows Phone 7.5 la aplicación de Geeks.ms. Si la tenéis instalada y vuestro Windows Phone está ejecutando Mango, os llegará una actualización, si no la tenéis instalada podéis hacerlo desde aquí:

Download-SPanish-Med

En esta nueva versión he aprovechado las nuevas funcionalidades que nos ofrece Windows Phone 7.5 e integrado las siguientes mejoras:

  • Fast Application Switching: Ahora cuando salgamos de la aplicación esta se conserva en memoria y se restaura automáticamente al punto donde la dejamos de forma instantánea.
  • Tiles secundarios: Cuando veamos un artículo que nos interesa, podemos anclarlo al menú inicio de nuestro teléfono como si se tratase de una aplicación con su propio Tile, que además nos ofrece información extra aprovechando que en Windows Phone 7.5 los Tiles tienen doble cara (frontal/trasera).
  • Redes sociales: Gracias a la integración de Twitter, LinkedIn y Windows Live dentro de Windows Phone 7.5 ahora podemos compartir un artículo que nos ha gustado con cualquiera de estas redes sociales directamente desde la aplicación, haciendo click en una opción del menú.

Veamos en detalle como se implementa cada una de estas opciones.

Fast Application Switching

En este caso lo único que tenemos que hacer es convertir el proyecto a Windows Phone 7.1, (No, no es una errata, el S.O. y el SDK son versión 7.1, el producto es Windows Phone 7.5) y automáticamente nuestra aplicación se beneficiará del cambio rápido incluido en el sistema.

Es recomendable que controlemos en el evento Application_Activated si nuestra aplicación llega desde el estado durmiente y si es así no realicemos la recuperación de datos desde el tombstoning, pues no es necesario:

// Code to execute when the application is activated (brought to foreground)
// This code will not execute when the application is first launched
private void Application_Activated(object sender, ActivatedEventArgs e)
{
    if (e.IsApplicationInstancePreserved)
        return;

    if (PhoneApplicationService.Current.State.ContainsKey("data"))
    {
        SampleData.Personas = (List<Persona>)PhoneApplicationService.Current.State["data"];

        PhoneApplicationService.Current.State.Remove("data");
    }
}

Si queréis más detalles sobre el nuevo ciclo de vida de las aplicaciones en Windows Phone 7.5, mirad mi artículo anterior aquí.

Tiles secundarios

Esta es otra gran característica de Windows Phone 7.5 y, siguiendo la tónica general del sistema, increiblemente sencilla de implementar. En esta nueva versión una aplicación tiene un Tile principal, que es el que se ancla al inicio y ejecuta la aplicación al hacer tap sobre él. Pero la propia aplicación, a petición del usuario, puede generar nuevos Tiles, con imágen delantera y trasera, contenido y título totalmente personalizados y que apunte a una página en concreto y con unos parámetros, con lo que podemos realizar una especie de marcadores, por ejemplo, en la aplicación de geeks, podemos anclar un artículo al inicio para leerlo más tarde:

image

El código para hacer esto es realmente sencillo:

ShellTile tileSecundario;

tileSecundario = ShellTile.ActiveTiles.FirstOrDefault(t => t.NavigationUri.ToString().Contains(Context.Url.ToString()));

if (tileSecundario == null)
{
    StandardTileData tData = new StandardTileData()
    {
        BackgroundImage = new Uri(@"appdata:/secondarytile_front.png", UriKind.Absolute),
        Title = Context.Author,
        BackBackgroundImage = new Uri(@"appdata:/secondarytile_back.png", UriKind.Absolute),
        BackContent = Context.Title.Length > 40 ? Context.Title.Substring(0, 40) : Context.Title,
        BackTitle = "Geeks.ms"
    };

    ShellTile.Create(new Uri(string.Format(@"/ItemSelected.xaml?Url={0}", Context.Url), UriKind.Relative), tData);
}

Algo que tenemos que tener en cuenta es que las imágenes que usemos en los tiles secundarios deben estar incluidas en la aplicación como contenido y no como recurso.

Redes sociales

Como ya hemos dicho, Windows Phone 7.5 integra en el sistema Twitter, LinkedIn y Windows Live además de Facebook, y existen nuevos launchers que nos permiten compartir información con estas redes sociales, en la aplicación de Geeks.ms es muy sencillo:

image

Al presionar compartir aparecerá una pantalla donde podremos añadir un texto al enlace y seleccionar a que red social deseamos enviarlo y listo, compartido a nuestra red social de forma automática, el código es todavía más sencillo si cabe que el del tile secundario:

RssItem Context = (RssItem)this.DataContext;
ShareLinkTask share = new ShareLinkTask();
share.LinkUri = Context.Url;
share.Message = Context.Title;
share.Title = "Geeks.ms para Windows Phone 7.5";
share.Show();

Y con esto ya hemos visto las novedades incluidas en la aplicación de Geeks.ms para Windows Phone 7.5, como siempre, espero vuestro feedback y ya sabéis que aquí estoy para ayudaros en todo lo que pueda, no dudéis en contactar conmigo.

Un saludo y Happy Coding!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *