SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
@soreygarcia - http://blog.soreygarcia.me



Hands on Lab: Construyendo el lector
RSS desde Visual Studio y Expression
Blend
Etapa 2

El objetivo de este Hands On Lab es crear una aplicación lectora de RSS, probarla con el
Marketplace Test Kit y publicarla en el Marketplace.

Configurando la base del proyecto

   1. Cree un nuevo proyecto




   2. Seleccione una plantilla en blanco y elija su lenguaje favorito. Recuerde: Nombrar
       correctamente el proyecto y la solución.




   3. Seleccione el sistema operativo como 7.1
@soreygarcia - http://blog.soreygarcia.me




   4. Diríjase a la carpeta donde creó su proyecto y remplace las imágenes por las que
       diseñó.




   5. Vuelva al Visual Studio, de clic derecho sobre el nombre del proyecto y seleccione
       la opción Propiedades, y configure allí el titulo que se verá en la lista general y el
       titulo del Tile o que aparece en la parte frontal en la parte inferior de la imagen
       Background.PNG
@soreygarcia - http://blog.soreygarcia.me
@soreygarcia - http://blog.soreygarcia.me


Configurando los enlaces

   1. Añada una nueva referencia al proyecto, de clic derecho sobre la carpeta de
       referencias




   2. Seleccione el botón explorar y busque en su máquina la ruta del ensamblado
       C:Program                           Files                    (x86)Microsoft
       SDKsSilverlightv4.0LibrariesClientSystem.ServiceModel.Syndication.dll,
       presione el botón Adicionar y luego Cerrar.
@soreygarcia - http://blog.soreygarcia.me


   3. Guarde los cambios y abra el proyecto en Expression Blend dando clic sobre el
       nombre del proyecto.




   4. Cambie los títulos de su página desde Expression Blend seleccionando cada
       elemento y cambiando la propiedad Text.




   5. En la pestaña Data en la parte derecha superior cree un nuevo Sample Data a
       partir de una clase.
@soreygarcia - http://blog.soreygarcia.me


   6. Seleccione ver todos los ensamblados y busque SyndicationFeed desde la nueva
       referencia que añadió.




   7. Cuando carguen todos los ítems en la sección proyecto justo en la parte inferior,
       busque la propiedad Items y con clic sostenido arrastre y suelte sobre el contenido
       central de su página. Verifique que el mensaje le indica que se creará un listbox
       enlazado a los Items, si ya tiene un listbox verifique que el mensaje indica que se
       enlazará a la lista.
@soreygarcia - http://blog.soreygarcia.me




   8. Se creará una lista automáticamente, ordene las márgenes de la lista de clic
       derecho para editar la plantilla de los ítems




   9. En la parte izquierda de Expression Blend encontrará la jerarquía de elementos que
       conforman cada uno de los ítems, esta plantilla puede modificarse adicionando
       más campos o cambiando el estilo y propiedades de los existentes.
@soreygarcia - http://blog.soreygarcia.me




   10. Añada un HiperlinkButton a la jerarquía que hace parte de la plantilla del ítem,
       arrastrando y soltando en el lugar adecuado desde la lista de controles.
@soreygarcia - http://blog.soreygarcia.me


   11. Tenga cuidado con la alineación, recuerde que la estética es uno de los criterios
       para ser aceptado en el Marketplace.




   12. Para editar el estilo del HiperlinkButton puede dar clic derecho sobre el control y
       buscar la opción editar plantilla y editar una copia.




   13. Se le pedirá asignar un nombre y decidir si creará el estilo en esta página o en el
       contexto de la aplicación, también se le permitirá crear un diccionario de recursos.




   14. A continuación verá que se muestra la jerarquía de elementos que existen dentro
       de un HipperlinkButton y usted puede modificarla como desee. Cuando termine
       podrá regresar a continuar editando la plantilla de la lista de ítems.
@soreygarcia - http://blog.soreygarcia.me




   15. Seleccione el HiperlinkButton en la plantilla de la lista de ítems y en la pestaña
       de propiedades a la derecha de la pantalla busque la propiedad NavigateUri




   16. Como la lista está ya enlazada a los Ítems se presentarán todas las propiedades
       disponibles para un ítem. Ahí debe buscar la que le devuelve el link necesario para
       navegar al origen del ítem, es decir a la página que relaciona el RSS. Guíese de la
       siguiente imagen para saber cual es el campo, ya que hay varios links disponibles
       en la clase.
@soreygarcia - http://blog.soreygarcia.me




   17. Para poder navegar desde el HiperlinkButton a una página externa es necesario
       establecer la propiedad TargetName con la expresión _blank




   18. Enlace el control de texto en su propiedad Content con la propiedad Text del
       campo Title como lo hice en anteriores pasos.
@soreygarcia - http://blog.soreygarcia.me




   19. En este punto usted puede trabajar en el estilo de su lista añadiendo más controles
       o campos que conozca desde la lista de enlaces. En los siguientes pasos verá como
       el ejemplo se encuentra personalizado. La personalización es un plus para su
       prueba.
       Observe en el ejemplo la jerarquía de elementos si necesita ayuda con los

       contenedores busque un entrenador.
@soreygarcia - http://blog.soreygarcia.me




   20. Cuando termine puede salir de la edición de la plantilla usando la flecha que se
       ubica al lado del nombre de la plantilla, tal como se indica en la siguiente imagen.




   21. Antes de continuar establezca un nombre a la lista de ítems para poder
       referenciarla en el código más adelante.
@soreygarcia - http://blog.soreygarcia.me




   22.

Configurando la barra de aplicaciones

   1. Ahora navegue al XAML o margado de la página usando el botón que se indica en
         la imagen y busque el código que ve en la parte inferior del archivo.




   2. Elimine los comentarios y los ítems de menú y botón sobrante, deje solo una
         opción.
@soreygarcia - http://blog.soreygarcia.me


   3. Regrese a la vista de diseño




   4. Observe en la parte derecha donde se muestra la jerarquia de elementos como se a
       activado el Application Bar los elementos y en la vista de diseño en la parte
       inferior apareció un botón-




   5. Asigne un nombre al botón, además de un texto, observe que no importa como
       coloque el texto este se muestra en minúsculas. Recuerde elegir palabas cortas y
       asignar un icono al botón.
@soreygarcia - http://blog.soreygarcia.me


   6. Pase a la vista de eventos y de un doble clic sobre el evento que aparece disponible
       y que verá en blanco, después del doble clic aparecerá el nombre como se ve en el
       ejemplo.




   7. Además se generará el código que se ejecuta cuando se presione el botón.




   8. Guarde los cambios y regrese a Visual Studio.




   9. Recuerde aceptar que se carguen los cambios si le aparece la alerta, porque de otro

       modo perderá el trabajo realizado en Expression Blend.
@soreygarcia - http://blog.soreygarcia.me


Consumiendo el RSS

   1. De doble clic sobre el archivo de código de la página principal




   2. Ubíquese en el constructor de la página y suscríbase al evento Loaded. Observe
       que cuando escribe el signo igual le aparece un mensaje presione dos veces TAB.
@soreygarcia - http://blog.soreygarcia.me


   3. Verá que automáticamente se crea el método asociado con la firma requerida y
       este será el lugar donde empezaremos a consumir el RSS.




   4. Dentro del método que se creó consuma el RSS usando la URL que ha conseguido,
       recuerde usar la técnica de dar doble TAB cuando se suscriba al evento
       DownloadStringAsync.
       Observe que estamos concatenando al final de la URL la fecha del dispositivo, esto es
       por que si se usa la misma URL el dispositivo devuelve lo que tiene cargado en
       memoria y simulamos con este truco que la URL es diferente para cuando presionen
       el botón actualizar.




   5. En el método que se crea implemente la asignación. Observe que algunas clases no
       se reconocen aún, cuando se ubica sobre ellas una pequeña línea azul aparece.
@soreygarcia - http://blog.soreygarcia.me


   6. Al pasar con el mouse sobre la línea azul aparecerá un botón con el que puede usar
        los espacios de nombre a los que corresponde la clase.




   7.
   8. Debido a que el método que consume el RSS necesitamos invocarlo en el Loaded
        de la página y en el clic del botón, refactorice para crear un método, para esto
        seleccione el código que se ha creado dentro del Loaded, presione clic derecho y
        busque la opción refactorizar.




   9. Asigne un nombre al método
@soreygarcia - http://blog.soreygarcia.me


   10. Observe que se crea un método y en el Loaded se escribe automáticamente su
       invocación. Copie esta invocación también en el código asociado al botón
       actualizar.




   11. Si llega a probar la aplicación en este momento notará que al iniciar la aplicación
       parece que no hace nada durante unos segundos, razón por la que es adecuado
       crear una barra de progreso. Declare un ProgressIndicator en la parte superior de
       la clase e instáncielo en el constructor.
@soreygarcia - http://blog.soreygarcia.me


   12. En el método CargarRSS haga que la barra de progreso sea visible




   13. Y en el método donde se ha finalizado la carga del RSS haga que vuelva a ser
       invisible.




   14. De esa forma cuando la aplicación este trabajando el usuario verá el indicador de
       progreso.




   15. Recuerde controlar los posibles puntos de error de su aplicación usando bloques
       Try Catch y presentando los mensajes de error. Personalice la apariencia de su
       aplicación para tener más puntos a su favor en las pruebas de la maratón.
   16. Recuerde probar su aplicación con el Marketplace Test Kit, de clic derecho sobre
       el proyecto y siga los pasos
@soreygarcia - http://blog.soreygarcia.me




       A continuación puedes ver como se vería la aplicación finalizada.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (13)

Ruby on Rails Workshop
Ruby on Rails WorkshopRuby on Rails Workshop
Ruby on Rails Workshop
 
Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008Pasos para crear un proyecto de visual studio 2008
Pasos para crear un proyecto de visual studio 2008
 
1 clase entorno grafico de visual basic
1 clase entorno grafico de visual basic1 clase entorno grafico de visual basic
1 clase entorno grafico de visual basic
 
Herencia
HerenciaHerencia
Herencia
 
Manual gui net_beans
Manual gui net_beansManual gui net_beans
Manual gui net_beans
 
Manual Admon Contenidos Joomla 1.5 V2 Gen
Manual Admon Contenidos Joomla 1.5 V2 GenManual Admon Contenidos Joomla 1.5 V2 Gen
Manual Admon Contenidos Joomla 1.5 V2 Gen
 
Fundamentos.net-Guia n1 2012
Fundamentos.net-Guia n1 2012Fundamentos.net-Guia n1 2012
Fundamentos.net-Guia n1 2012
 
Visual basic
Visual basicVisual basic
Visual basic
 
Conociendo Visual Basic
Conociendo Visual BasicConociendo Visual Basic
Conociendo Visual Basic
 
6. windows forms
6.  windows forms6.  windows forms
6. windows forms
 
Introduccion a Windows Form
Introduccion a Windows FormIntroduccion a Windows Form
Introduccion a Windows Form
 
Visual basic.
Visual basic.Visual basic.
Visual basic.
 
MANUAL DE NETBEANS
MANUAL DE NETBEANSMANUAL DE NETBEANS
MANUAL DE NETBEANS
 

Destacado

Hands on Lab: Construyendo un lector RSS con AppMakr y publicando en el Marke...
Hands on Lab: Construyendo un lector RSS con AppMakr y publicando en el Marke...Hands on Lab: Construyendo un lector RSS con AppMakr y publicando en el Marke...
Hands on Lab: Construyendo un lector RSS con AppMakr y publicando en el Marke...Sorey García
 
Usamos Scrum pero no nos funciona
Usamos Scrum pero no nos funcionaUsamos Scrum pero no nos funciona
Usamos Scrum pero no nos funcionaMiguel Teheran
 
Bases NoSQL y su implementación con Azure DocumentDB
Bases NoSQL y su implementación con Azure DocumentDBBases NoSQL y su implementación con Azure DocumentDB
Bases NoSQL y su implementación con Azure DocumentDBJulito Avellaneda
 
Aplicaciones híbridas con Telerik AppBuilder
Aplicaciones híbridas con Telerik AppBuilderAplicaciones híbridas con Telerik AppBuilder
Aplicaciones híbridas con Telerik AppBuilderJulito Avellaneda
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNextJulito Avellaneda
 

Destacado (7)

Hands on Lab: Construyendo un lector RSS con AppMakr y publicando en el Marke...
Hands on Lab: Construyendo un lector RSS con AppMakr y publicando en el Marke...Hands on Lab: Construyendo un lector RSS con AppMakr y publicando en el Marke...
Hands on Lab: Construyendo un lector RSS con AppMakr y publicando en el Marke...
 
Usamos Scrum pero no nos funciona
Usamos Scrum pero no nos funcionaUsamos Scrum pero no nos funciona
Usamos Scrum pero no nos funciona
 
Dreamcode: Aplicaciones web noBackend
Dreamcode: Aplicaciones web noBackendDreamcode: Aplicaciones web noBackend
Dreamcode: Aplicaciones web noBackend
 
Bases NoSQL y su implementación con Azure DocumentDB
Bases NoSQL y su implementación con Azure DocumentDBBases NoSQL y su implementación con Azure DocumentDB
Bases NoSQL y su implementación con Azure DocumentDB
 
Aplicaciones híbridas con Telerik AppBuilder
Aplicaciones híbridas con Telerik AppBuilderAplicaciones híbridas con Telerik AppBuilder
Aplicaciones híbridas con Telerik AppBuilder
 
Introducción a ASPNET vNext
Introducción a ASPNET vNextIntroducción a ASPNET vNext
Introducción a ASPNET vNext
 
Software genérico vs
Software genérico vsSoftware genérico vs
Software genérico vs
 

Similar a Construyendo lector RSS

Hands on Lab: Almacenamiento local con base de datos, launchers y choosers
Hands on Lab: Almacenamiento local con base de datos, launchers y choosersHands on Lab: Almacenamiento local con base de datos, launchers y choosers
Hands on Lab: Almacenamiento local con base de datos, launchers y choosersSorey García
 
IntroduccióN Al Desarrollo Visual De Jsp Con J Developer 10g
IntroduccióN Al Desarrollo Visual De Jsp Con J Developer 10gIntroduccióN Al Desarrollo Visual De Jsp Con J Developer 10g
IntroduccióN Al Desarrollo Visual De Jsp Con J Developer 10gSteven Gomez
 
Como construir un DSS
Como construir un DSSComo construir un DSS
Como construir un DSSluzenith_g
 
Actividades tema 9
Actividades tema 9Actividades tema 9
Actividades tema 9mariavarey
 
WPF Series - 01
WPF Series - 01WPF Series - 01
WPF Series - 01kazcorp
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basicsantiagomario8
 
Trabajo practico 1 y 3
Trabajo practico 1 y 3Trabajo practico 1 y 3
Trabajo practico 1 y 3kukunem
 
Tutorial de cmaptools
Tutorial de cmaptoolsTutorial de cmaptools
Tutorial de cmaptoolsntce2berisso
 
Como usoportafolios
Como usoportafoliosComo usoportafolios
Como usoportafoliosanep
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datosRafael Quintero
 
Material didáctico de web 2.0 tarea 3
Material didáctico de web 2.0 tarea 3Material didáctico de web 2.0 tarea 3
Material didáctico de web 2.0 tarea 3prometeoleonado
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarEduardo Méndez
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarblasty2
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarblasty2
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarJuan Hoyos
 
Anexos ide06170128
Anexos ide06170128Anexos ide06170128
Anexos ide06170128Claudia Gil
 

Similar a Construyendo lector RSS (20)

Hands on Lab: Almacenamiento local con base de datos, launchers y choosers
Hands on Lab: Almacenamiento local con base de datos, launchers y choosersHands on Lab: Almacenamiento local con base de datos, launchers y choosers
Hands on Lab: Almacenamiento local con base de datos, launchers y choosers
 
Crear un cmaptools
Crear un cmaptoolsCrear un cmaptools
Crear un cmaptools
 
IntroduccióN Al Desarrollo Visual De Jsp Con J Developer 10g
IntroduccióN Al Desarrollo Visual De Jsp Con J Developer 10gIntroduccióN Al Desarrollo Visual De Jsp Con J Developer 10g
IntroduccióN Al Desarrollo Visual De Jsp Con J Developer 10g
 
Como construir un DSS
Como construir un DSSComo construir un DSS
Como construir un DSS
 
Ejercicio practico
Ejercicio practico Ejercicio practico
Ejercicio practico
 
Aula virtual
Aula virtualAula virtual
Aula virtual
 
Actividades tema 9
Actividades tema 9Actividades tema 9
Actividades tema 9
 
WPF Series - 01
WPF Series - 01WPF Series - 01
WPF Series - 01
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Trabajo practico 1 y 3
Trabajo practico 1 y 3Trabajo practico 1 y 3
Trabajo practico 1 y 3
 
Tutorial de cmaptools
Tutorial de cmaptoolsTutorial de cmaptools
Tutorial de cmaptools
 
Como usoportafolios
Como usoportafoliosComo usoportafolios
Como usoportafolios
 
Manual de instalacion de joomla
Manual de instalacion de joomlaManual de instalacion de joomla
Manual de instalacion de joomla
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Material didáctico de web 2.0 tarea 3
Material didáctico de web 2.0 tarea 3Material didáctico de web 2.0 tarea 3
Material didáctico de web 2.0 tarea 3
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Anexos ide06170128
Anexos ide06170128Anexos ide06170128
Anexos ide06170128
 

Más de Sorey García

Mision inspiración para docentes
Mision inspiración para docentesMision inspiración para docentes
Mision inspiración para docentesSorey García
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilSorey García
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLSorey García
 
WIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaWIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaSorey García
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...Sorey García
 
Internet de las Cosas y Netduino
Internet de las Cosas y NetduinoInternet de las Cosas y Netduino
Internet de las Cosas y NetduinoSorey García
 
Misión: Inspiración
Misión: InspiraciónMisión: Inspiración
Misión: InspiraciónSorey García
 
Tendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarialTendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarialSorey García
 
[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura Medellín[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura MedellínSorey García
 
MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences Sorey García
 
GWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesGWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesSorey García
 
Similitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y WindowsSimilitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y WindowsSorey García
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Sorey García
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Sorey García
 
Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8Sorey García
 
Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)Sorey García
 
Windows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para DesarrolladoresWindows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para DesarrolladoresSorey García
 
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y JavascriptJSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y JavascriptSorey García
 
Windows Phone 8 en Campus Party
Windows Phone 8 en Campus PartyWindows Phone 8 en Campus Party
Windows Phone 8 en Campus PartySorey García
 

Más de Sorey García (20)

Mision inspiración para docentes
Mision inspiración para docentesMision inspiración para docentes
Mision inspiración para docentes
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvil
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAML
 
WIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaWIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnología
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
 
Internet de las Cosas y Netduino
Internet de las Cosas y NetduinoInternet de las Cosas y Netduino
Internet de las Cosas y Netduino
 
Misión: Inspiración
Misión: InspiraciónMisión: Inspiración
Misión: Inspiración
 
Codies.Launch()
Codies.Launch()Codies.Launch()
Codies.Launch()
 
Tendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarialTendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarial
 
[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura Medellín[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura Medellín
 
MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences
 
GWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesGWAB: Azure Mobile Services
GWAB: Azure Mobile Services
 
Similitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y WindowsSimilitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y Windows
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
 
Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8
 
Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)
 
Windows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para DesarrolladoresWindows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para Desarrolladores
 
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y JavascriptJSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
 
Windows Phone 8 en Campus Party
Windows Phone 8 en Campus PartyWindows Phone 8 en Campus Party
Windows Phone 8 en Campus Party
 

Último

Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 

Último (20)

Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 

Construyendo lector RSS

  • 1. @soreygarcia - http://blog.soreygarcia.me Hands on Lab: Construyendo el lector RSS desde Visual Studio y Expression Blend Etapa 2 El objetivo de este Hands On Lab es crear una aplicación lectora de RSS, probarla con el Marketplace Test Kit y publicarla en el Marketplace. Configurando la base del proyecto 1. Cree un nuevo proyecto 2. Seleccione una plantilla en blanco y elija su lenguaje favorito. Recuerde: Nombrar correctamente el proyecto y la solución. 3. Seleccione el sistema operativo como 7.1
  • 2. @soreygarcia - http://blog.soreygarcia.me 4. Diríjase a la carpeta donde creó su proyecto y remplace las imágenes por las que diseñó. 5. Vuelva al Visual Studio, de clic derecho sobre el nombre del proyecto y seleccione la opción Propiedades, y configure allí el titulo que se verá en la lista general y el titulo del Tile o que aparece en la parte frontal en la parte inferior de la imagen Background.PNG
  • 4. @soreygarcia - http://blog.soreygarcia.me Configurando los enlaces 1. Añada una nueva referencia al proyecto, de clic derecho sobre la carpeta de referencias 2. Seleccione el botón explorar y busque en su máquina la ruta del ensamblado C:Program Files (x86)Microsoft SDKsSilverlightv4.0LibrariesClientSystem.ServiceModel.Syndication.dll, presione el botón Adicionar y luego Cerrar.
  • 5. @soreygarcia - http://blog.soreygarcia.me 3. Guarde los cambios y abra el proyecto en Expression Blend dando clic sobre el nombre del proyecto. 4. Cambie los títulos de su página desde Expression Blend seleccionando cada elemento y cambiando la propiedad Text. 5. En la pestaña Data en la parte derecha superior cree un nuevo Sample Data a partir de una clase.
  • 6. @soreygarcia - http://blog.soreygarcia.me 6. Seleccione ver todos los ensamblados y busque SyndicationFeed desde la nueva referencia que añadió. 7. Cuando carguen todos los ítems en la sección proyecto justo en la parte inferior, busque la propiedad Items y con clic sostenido arrastre y suelte sobre el contenido central de su página. Verifique que el mensaje le indica que se creará un listbox enlazado a los Items, si ya tiene un listbox verifique que el mensaje indica que se enlazará a la lista.
  • 7. @soreygarcia - http://blog.soreygarcia.me 8. Se creará una lista automáticamente, ordene las márgenes de la lista de clic derecho para editar la plantilla de los ítems 9. En la parte izquierda de Expression Blend encontrará la jerarquía de elementos que conforman cada uno de los ítems, esta plantilla puede modificarse adicionando más campos o cambiando el estilo y propiedades de los existentes.
  • 8. @soreygarcia - http://blog.soreygarcia.me 10. Añada un HiperlinkButton a la jerarquía que hace parte de la plantilla del ítem, arrastrando y soltando en el lugar adecuado desde la lista de controles.
  • 9. @soreygarcia - http://blog.soreygarcia.me 11. Tenga cuidado con la alineación, recuerde que la estética es uno de los criterios para ser aceptado en el Marketplace. 12. Para editar el estilo del HiperlinkButton puede dar clic derecho sobre el control y buscar la opción editar plantilla y editar una copia. 13. Se le pedirá asignar un nombre y decidir si creará el estilo en esta página o en el contexto de la aplicación, también se le permitirá crear un diccionario de recursos. 14. A continuación verá que se muestra la jerarquía de elementos que existen dentro de un HipperlinkButton y usted puede modificarla como desee. Cuando termine podrá regresar a continuar editando la plantilla de la lista de ítems.
  • 10. @soreygarcia - http://blog.soreygarcia.me 15. Seleccione el HiperlinkButton en la plantilla de la lista de ítems y en la pestaña de propiedades a la derecha de la pantalla busque la propiedad NavigateUri 16. Como la lista está ya enlazada a los Ítems se presentarán todas las propiedades disponibles para un ítem. Ahí debe buscar la que le devuelve el link necesario para navegar al origen del ítem, es decir a la página que relaciona el RSS. Guíese de la siguiente imagen para saber cual es el campo, ya que hay varios links disponibles en la clase.
  • 11. @soreygarcia - http://blog.soreygarcia.me 17. Para poder navegar desde el HiperlinkButton a una página externa es necesario establecer la propiedad TargetName con la expresión _blank 18. Enlace el control de texto en su propiedad Content con la propiedad Text del campo Title como lo hice en anteriores pasos.
  • 12. @soreygarcia - http://blog.soreygarcia.me 19. En este punto usted puede trabajar en el estilo de su lista añadiendo más controles o campos que conozca desde la lista de enlaces. En los siguientes pasos verá como el ejemplo se encuentra personalizado. La personalización es un plus para su prueba. Observe en el ejemplo la jerarquía de elementos si necesita ayuda con los contenedores busque un entrenador.
  • 13. @soreygarcia - http://blog.soreygarcia.me 20. Cuando termine puede salir de la edición de la plantilla usando la flecha que se ubica al lado del nombre de la plantilla, tal como se indica en la siguiente imagen. 21. Antes de continuar establezca un nombre a la lista de ítems para poder referenciarla en el código más adelante.
  • 14. @soreygarcia - http://blog.soreygarcia.me 22. Configurando la barra de aplicaciones 1. Ahora navegue al XAML o margado de la página usando el botón que se indica en la imagen y busque el código que ve en la parte inferior del archivo. 2. Elimine los comentarios y los ítems de menú y botón sobrante, deje solo una opción.
  • 15. @soreygarcia - http://blog.soreygarcia.me 3. Regrese a la vista de diseño 4. Observe en la parte derecha donde se muestra la jerarquia de elementos como se a activado el Application Bar los elementos y en la vista de diseño en la parte inferior apareció un botón- 5. Asigne un nombre al botón, además de un texto, observe que no importa como coloque el texto este se muestra en minúsculas. Recuerde elegir palabas cortas y asignar un icono al botón.
  • 16. @soreygarcia - http://blog.soreygarcia.me 6. Pase a la vista de eventos y de un doble clic sobre el evento que aparece disponible y que verá en blanco, después del doble clic aparecerá el nombre como se ve en el ejemplo. 7. Además se generará el código que se ejecuta cuando se presione el botón. 8. Guarde los cambios y regrese a Visual Studio. 9. Recuerde aceptar que se carguen los cambios si le aparece la alerta, porque de otro modo perderá el trabajo realizado en Expression Blend.
  • 17. @soreygarcia - http://blog.soreygarcia.me Consumiendo el RSS 1. De doble clic sobre el archivo de código de la página principal 2. Ubíquese en el constructor de la página y suscríbase al evento Loaded. Observe que cuando escribe el signo igual le aparece un mensaje presione dos veces TAB.
  • 18. @soreygarcia - http://blog.soreygarcia.me 3. Verá que automáticamente se crea el método asociado con la firma requerida y este será el lugar donde empezaremos a consumir el RSS. 4. Dentro del método que se creó consuma el RSS usando la URL que ha conseguido, recuerde usar la técnica de dar doble TAB cuando se suscriba al evento DownloadStringAsync. Observe que estamos concatenando al final de la URL la fecha del dispositivo, esto es por que si se usa la misma URL el dispositivo devuelve lo que tiene cargado en memoria y simulamos con este truco que la URL es diferente para cuando presionen el botón actualizar. 5. En el método que se crea implemente la asignación. Observe que algunas clases no se reconocen aún, cuando se ubica sobre ellas una pequeña línea azul aparece.
  • 19. @soreygarcia - http://blog.soreygarcia.me 6. Al pasar con el mouse sobre la línea azul aparecerá un botón con el que puede usar los espacios de nombre a los que corresponde la clase. 7. 8. Debido a que el método que consume el RSS necesitamos invocarlo en el Loaded de la página y en el clic del botón, refactorice para crear un método, para esto seleccione el código que se ha creado dentro del Loaded, presione clic derecho y busque la opción refactorizar. 9. Asigne un nombre al método
  • 20. @soreygarcia - http://blog.soreygarcia.me 10. Observe que se crea un método y en el Loaded se escribe automáticamente su invocación. Copie esta invocación también en el código asociado al botón actualizar. 11. Si llega a probar la aplicación en este momento notará que al iniciar la aplicación parece que no hace nada durante unos segundos, razón por la que es adecuado crear una barra de progreso. Declare un ProgressIndicator en la parte superior de la clase e instáncielo en el constructor.
  • 21. @soreygarcia - http://blog.soreygarcia.me 12. En el método CargarRSS haga que la barra de progreso sea visible 13. Y en el método donde se ha finalizado la carga del RSS haga que vuelva a ser invisible. 14. De esa forma cuando la aplicación este trabajando el usuario verá el indicador de progreso. 15. Recuerde controlar los posibles puntos de error de su aplicación usando bloques Try Catch y presentando los mensajes de error. Personalice la apariencia de su aplicación para tener más puntos a su favor en las pruebas de la maratón. 16. Recuerde probar su aplicación con el Marketplace Test Kit, de clic derecho sobre el proyecto y siga los pasos
  • 22. @soreygarcia - http://blog.soreygarcia.me A continuación puedes ver como se vería la aplicación finalizada.