Open Source – Geeky Blogs para Windows Phone 8.1 (II)
¡Hola, geeks!
Como sabéis, estamos desarrollando la app Geeky Blogs para Windows Phone 8.1. Hasta ahora hemos podido crear un SlideMenu gracias a este proyecto alojado en codeplex. Hoy veremos cómo consumir el Rss y mostrarlo de manera simple.
SlideView.Library
Empecemos con una tarea simple, integrando dicha librería en nuestro proyecto. Luego lo que vamos a hacer es crear una vista y asignarlo para que se haga swipe.
<Grid> <library:SlideView SelectedIndex="{Binding SlideSelectedIndex, Mode=TwoWay}"> <local:SliderMenuView></local:SliderMenuView> <Grid x:Name="LayoutRoot" Background="{StaticResource GeekyBackGround}"/> </library:SlideView> </Grid>
Aquí vemos que SlideView lo tenemos como library referenciado. Colocamos las vistas dentro, por las que queremos navegar con gestos swipe. Podemos ver que SliderMenuView, es nuestro Menú lateral y el Grid nuestra sección principal.
Consumir Rss
Hemos creado un servicio en GeekyBlogs.Api/Services/RssService, donde con nuestro método GetFeedAsync, recogemos los datos. En dicho método nos ayudamos con la clase SyndicationClient proporcionada por Microsoft. Una vez obtenida SyndicationFeed mediante client.RetrieveFeedAsync(new Uri(rssUri)), lo mapeamos a una clase legible para la app. Eso lo hacemos con ApiHelper.CreateFeedItem(item, feed.SourceFormat). Es un clase que creamos en GeekyBlogs.Api/Common/ApiHelper.cs para ayudarnos a pasar los datos a nuestra clase GeekyBlogs.Entities/FeedData.cs.
public async Task<FeedData> GetFeedAsync(string rssUri) { var client = new SyndicationClient(); FeedData feedData = new FeedData(); SyndicationFeed feed = await client.RetrieveFeedAsync(new Uri(rssUri)); feedData.Title = feed.Title.Text; foreach (SyndicationItem item in feed.Items) { FeedItem feedItem = ApiHelper.CreateFeedItem(item, feed.SourceFormat); feedData.Items.Add(feedItem); } return feedData; }
Aquí os pongo algunas fotos para que veáis la forma que va teniendo la app. ¡No dudéis en participar! ¡Todo el mundo es bienvenido!
El código podéis verlo en Github desde este enlace.
Hasta aquí es todo. Si os ha gustado no os lo quedéis para vosotros, compartid
Happy Coding!