Como Crear Un Rss Parta Android

Páginas: 27 (6573 palabras) Publicado: 29 de septiembre de 2015
Tutorial Para Crear Un Lector Rss En Android
By James Revelo, www.hermosaprogramacion.com
Ver original
androidapprss





¿Andas buscando como parsear un archivo RSS con formato XML, para incluir contenidos de un sitio web en tu aplicación Android?
¿Necesitas ideas para crear una app lectora de Rss como Feedly, Flipboard o Flyne?
Pues bien, en este tutorial verás cómo alimentar una lista deelementos con las noticias del sitio web forbes.com desde su feed con formato RSS a través de las tecnologías Volley y Simple Framework XML.



1. ¿Qué es un Feed?

Lo primero que debes comprender antes de iniciar este tutorial es el significado de feed. Un feed es un origen (fuente) de difusión para contenidos web.
Ellos proveen un resumen y actualizaciones continuas sobre el contenido que seemiten regularmente. Esto con el fin de que otras plataformas de información puedan acceder a él y presentarlo.
Por otro lado se encuentran los formatos de redifusión, los cuales son un conjunto de definiciones formales en texto plano, que contienen la jerarquía de los contenidos en un feed.
Supongo que ya has escuchado que actualmente existen dos formatos muy populares para difundir contenidos: RSSy Atom.
RSS (Really Simple Syndication) es un formato de redifusión basado en XML para estructurar los datos más importantes de una fuente web. Atom es exactamente lo mismo, simplemente que usa otro tipo de convenciones en su estructura.
Actualmente se usa la versión RSS 2.0 y Atom 1.0. Las ventajas del uso de cada una no vienen al caso en este artículo, así que no las tendré en cuenta.
1.1Estructura XML Del Formato RSS 2.0
Para poder convertir un flujo de información XML a objetos Java es imprescindible que comprendas la jerarquía y la sintaxis que usa RSS 2.0.
Por ejemplo…el archivo Rss del feed de Forbes tiene el siguiente aspecto:
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:media="http://search.yahoo.com/mrss/"xmlns:content="http://purl.org/rss/1.0/modules/content/"
version="2.0">

http://www.forbes.com/most-popular/

Forbes.com: Most popular stories
Most popular stories from Forbes.com
......
...
...
...
...
...
...
...
...


La etiqueta raíz se denomina . Dentro de ella se incluye todo el contenido necesario para estructurar el contenido. Por obligación debe llevar el atributo version,el cual representa la versión RSS, que comúnmente será “2.0”.
La etiqueta representa una sección individual del feed por si el contenido web viene dividido en categorías. Algunos de sus elementos hijos son:
: Es el nombre del feed. En mi caso elegí el canal Most popular stories (Historias más populares). <br /> <link>: Contiene la url de la sección del canal. <br /> <atom:link>: Contiene laurl del feed. <br /> <description>: Es una corta descripción del feed. <br /> En su interior también encontraremos las etiquetas <item>. Estas son las que más nos interesan y también las que más trabajo nos darán a la hora de tratar información.<br /> Veamos algunas de las etiquetas hijas de <item> que con frecuencia encontrarás:<br /> <title>: Representa el título del articulo o noticia. <br /> <description>: Se trata de unresumen introductorio del ítem generalmente representado por la metaetiqueta html description. <br /> <link>: Es la url original del ítem tratado. <br /> <pubDate>: Fecha en que se publicó el artículo. <br /> <guid>: Un identificador único del ítem. En el ejemplo es la misma url. <br /> <enclosure>: Representa un elemento multimedia incluido en el ítem. <br /> Sin embargo habrá definiciones Rss que implementen namespaces para... <div class="paper-body__gradient paper-body__gradient--bottom paper-body__gradient--bottom-abs"></div> <div class="center paper-body__cta--mod paper-body__cta-no-bg"> <a class="button button--large button--orange" onclick="upgradeRedirect()" rel="nofollow"> Leer documento completo </a> <p class="ash-gray text-s"> Regístrate para leer el documento completo. </p> </div> </div> </div> </div> </article> </main> <script>(function(d){var domain='buenastareas.com';if(d.referrer.match('^https?\:\/\/(|www\.)'+domain.replace('.com',"")+'\.com(.*)')){d.getElementById('stm-hero').className+=' stm-hero';d.getElementById('emptyTopicsList').innerHTML=(document.getElementById("topicsList"))?d.getElementById('topicsList').innerHTML:'';d.getElementById('text-header').innerHTML='';var sec=d.createElement('div');sec.className='section no-padding margin-2';var p=d.createElement('p');p.className='text-s uppercase ash-gray';p.innerText='Vista previa del texto';sec.appendChild(p);d.getElementById('text-header').appendChild(sec);}else{d.getElementById('stm-hero').className='';d.getElementsByTagName('article')[0].className='row no-border';}})(window.document);</script><div class="advertBox center margin-2 leaderboard_btf"> </div> <a href="/content/access" rel="nofollow"></a> <section class="row "> <div class="columns position-relative large-12"> <div class=""> <h2 class="heading-m padding-top-1 margin-2"> Estos documentos también te pueden resultar útiles </h2> </div> <section class=""> <ul class="unstyled"> <li class="essayPreview"> <div class="card"> <a class="heading-s black" href="/ensayos/Como-Crear-Un-Proyecto-Android/7556616.html" title="Como Crear Un Proyecto Android"> <h6 class="heading-s"> Como Crear Un Proyecto Android </h6> </a> <div class="card__content-footer-container "> <p class="card__content text-s "> ...<b><i>COMO</i></b> <b><i>CREAR</i></b> UN PROYECTO EN <b><i>ANDROID</i></b> ¿Qué necesito para desarrollar una aplicación <b><i>Android</i></b>? Para <b><i>crear</i></b> un proyecto en androide se necesitamos los siguientes software para realizar lo en un simulador. Los cuales son: el jdk y el eclipse, además necesitamos instalar el plugin ADT y la instalación de los paquetes del SDK con el emulador <b><i>Android</i></b> Virtual Device Manager (AVD) Primero instalar el jdk y después el... </p> <div class="row card__footer-links "> <div class="columns small-6"> <a href="/ensayos/Como-Crear-Un-Proyecto-Android/7556616.html" title="Como Crear Un Proyecto Android" class="card__footer text-xs"> <span> Leer más </span> </a> </div> <div class="columns small-6"> <div class="card__caption card__caption weight-300 mid-gray text-s align-right"> <div class="essay-details no-margin--bottom"> <span class="essay-details__item">934 Palabras</span> <span class="essay-details__item">4 Páginas</span> </div> </div> </div> </div> </div> </div> </li> <li class="essayPreview"> <div class="card"> <a class="heading-s black" href="/ensayos/Como-Crear-Una-Empresa-1%C2%BA-Parte/2865885.html" title="Como Crear Una Empresa 1º Parte"> <h6 class="heading-s"> Como Crear Una Empresa 1º Parte </h6> </a> <div class="card__content-footer-container "> <p class="card__content text-s "> ...cubren 3. Aspectos diferenciadores sobre la competencia 4. Inversión básica, necesaria y posibles fuentes de financiación (subvención, préstamo…) FASE 2: Descripción técnica del producto 1. Descripción muy detallada de <b><i>cómo</i></b> es y <b><i>como</i></b> funciona el producto o de <b><i>cómo</i></b> se utiliza el servicio. 2. Descripción de toda la normativa que afecta al producto (leyes, normas que afectan a nuestro negocio). 3. Estudio del entorno general (política,... </p> <div class="row card__footer-links "> <div class="columns small-6"> <a href="/ensayos/Como-Crear-Una-Empresa-1%C2%BA-Parte/2865885.html" title="Como Crear Una Empresa 1º Parte" class="card__footer text-xs"> <span> Leer más </span> </a> </div> <div class="columns small-6"> <div class="card__caption card__caption weight-300 mid-gray text-s align-right"> <div class="essay-details no-margin--bottom"> <span class="essay-details__item">1029 Palabras</span> <span class="essay-details__item">5 Páginas</span> </div> </div> </div> </div> </div> </div> </li> <li class="essayPreview"> <div class="card"> <a class="heading-s black" href="/ensayos/Como-Se-Puede-Llegar-Al-Creer/2760708.html" title="Como Se Puede Llegar Al Creer Partiendo Del Conocer"> <h6 class="heading-s"> Como Se Puede Llegar Al Creer Partiendo Del Conocer </h6> </a> <div class="card__content-footer-container "> <p class="card__content text-s "> ...¿<b><i>Cómo</i></b> se llega al <b><i>creer</i></b> <b><i>partiendo</i></b> del conocer? La teoría del conocimiento es una <b><i>parte</i></b> de la teoría de la ciencia que se puede definir <b><i>como</i></b> la teoría material de la ciencia o <b><i>como</i></b> teoría de los principios materiales del conocimiento humano, porque se dirige al conocimiento científico. Por tanto también puede definirse <b><i>como</i></b> la teoría del pensamiento verdadero. La guía del conocimiento de... </p> <div class="row card__footer-links "> <div class="columns small-6"> <a href="/ensayos/Como-Se-Puede-Llegar-Al-Creer/2760708.html" title="Como Se Puede Llegar Al Creer Partiendo Del Conocer" class="card__footer text-xs"> <span> Leer más </span> </a> </div> <div class="columns small-6"> <div class="card__caption card__caption weight-300 mid-gray text-s align-right"> <div class="essay-details no-margin--bottom"> <span class="essay-details__item">556 Palabras</span> <span class="essay-details__item">3 Páginas</span> </div> </div> </div> </div> </div> </div> </li> <li class="essayPreview"> <div class="card"> <a class="heading-s black" href="/ensayos/Como-Crear-Un-Video-Juego-a/5164465.html" title="Como crear un video juego a partir de un rom"> <h6 class="heading-s"> Como crear un video juego a partir de un rom </h6> </a> <div class="card__content-footer-container "> <p class="card__content text-s "> ...de consolas viejas ejemplo family/nes, sega, portatiles de nintendo, nintendo 64, play station 1 ( no recomendado por el peso).. etc.. solo abria q seguir explorando el metodo dijo: El ejemplo q voy a usar, va a ser con un juego de family/nes <b><i>como</i></b> quieran llamarlo con el SUPER MARIO BROS con el emulador FCE ULTRA [pic] dijo: Primer paso: *descargar el emulador de la consola, lo descargan de cualquier lado (si quieren desp les subo lo q uso yo). Ojo este... </p> <div class="row card__footer-links "> <div class="columns small-6"> <a href="/ensayos/Como-Crear-Un-Video-Juego-a/5164465.html" title="Como crear un video juego a partir de un rom" class="card__footer text-xs"> <span> Leer más </span> </a> </div> <div class="columns small-6"> <div class="card__caption card__caption weight-300 mid-gray text-s align-right"> <div class="essay-details no-margin--bottom"> <span class="essay-details__item">701 Palabras</span> <span class="essay-details__item">3 Páginas</span> </div> </div> </div> </div> </div> </div> </li> <li class="essayPreview"> <div class="card"> <a class="heading-s black" href="/ensayos/1-Crear-Un-Proyecto-Android/80818879.html" title="1 Crear un proyecto Android"> <h6 class="heading-s"> 1 Crear un proyecto Android </h6> </a> <div class="card__content-footer-container "> <p class="card__content text-s "> ...3/10/2014 <b><i>Crear</i></b> un proyecto <b><i>Android</i></b> | Desarrolladores de <b><i>Android</i></b> <b><i>Crear</i></b> un proyecto <b><i>Android</i></b> Un proyecto <b><i>Android</i></b> contiene todos los archivos que componen el código fuente de su aplicación <b><i>Android</i></b>. Las herramientas del SDK de <b><i>Android</i></b> hacen que sea fácil para iniciar un nuevo proyecto <b><i>Android</i></b> con un conjunto de directorios y archivos de proyecto por defecto. ESTA LECCIÓN... </p> <div class="row card__footer-links "> <div class="columns small-6"> <a href="/ensayos/1-Crear-Un-Proyecto-Android/80818879.html" title="1 Crear un proyecto Android" class="card__footer text-xs"> <span> Leer más </span> </a> </div> <div class="columns small-6"> <div class="card__caption card__caption weight-300 mid-gray text-s align-right"> <div class="essay-details no-margin--bottom"> <span class="essay-details__item">1097 Palabras</span> <span class="essay-details__item">5 Páginas</span> </div> </div> </div> </div> </div> </div> </li> <li class="essayPreview"> <div class="card"> <a class="heading-s black" href="/ensayos/Como-Crear/40458658.html" title="como crear"> <h6 class="heading-s"> como crear </h6> </a> <div class="card__content-footer-container "> <p class="card__content text-s "> ...10 razones para <b><i>crear</i></b> una nueva imagen corporativa Marzo 10, 2008 La imagen corporativa de una empresa no es eterna: las modas cambian, la competencia aprieta, el mercado evoluciona, las empresas amplían servicios y productos… Si la empresa cambia, la imagen con que se presenta a sus clientes y a la sociedad debe cambiar también, o estará representando algo que ya no es real.En este artículo veremos las principales razones que tienen las empresas pequeñas y medianas para... </p> <div class="row card__footer-links "> <div class="columns small-6"> <a href="/ensayos/Como-Crear/40458658.html" title="como crear" class="card__footer text-xs"> <span> Leer más </span> </a> </div> <div class="columns small-6"> <div class="card__caption card__caption weight-300 mid-gray text-s align-right"> <div class="essay-details no-margin--bottom"> <span class="essay-details__item">1080 Palabras</span> <span class="essay-details__item">5 Páginas</span> </div> </div> </div> </div> </div> </div> </li> <li class="essayPreview"> <div class="card"> <a class="heading-s black" href="/ensayos/Como-No-Creer/2483046.html" title="Como no creer"> <h6 class="heading-s"> Como no creer </h6> </a> <div class="card__content-footer-container "> <p class="card__content text-s "> ...mismo puede darnos a conocer quién es él. Cuando la persona intenta descubrirlo desde la fe, tiene la seguridad de conocerlo mejor, porque es él mismo quien se nos revela. Todos llevamos dentro de nosotros un deseo natural de buscar a Dios. Fuimos <b><i>creados</i></b> por Dios y para Dios, pero muchas veces el ser humano rechaza su relación con él, y apoyado solamente en sus razonamientos o en los de otros, se forma conceptos equivocados hasta fabricarse “dioses”, cuando no nos apoyamos... </p> <div class="row card__footer-links "> <div class="columns small-6"> <a href="/ensayos/Como-No-Creer/2483046.html" title="Como no creer" class="card__footer text-xs"> <span> Leer más </span> </a> </div> <div class="columns small-6"> <div class="card__caption card__caption weight-300 mid-gray text-s align-right"> <div class="essay-details no-margin--bottom"> <span class="essay-details__item">531 Palabras</span> <span class="essay-details__item">3 Páginas</span> </div> </div> </div> </div> </div> </div> </li> <li class="essayPreview"> <div class="card"> <a class="heading-s black" href="/ensayos/Como-No-Creer/52688348.html" title="como no creer"> <h6 class="heading-s"> como no creer </h6> </a> <div class="card__content-footer-container "> <p class="card__content text-s "> ...influenciado todo el tiempo de la información que recibes, mas si tiene todo el derecho y el valor de ser considerado autentico, pues nadie puede pensar por ti, y por lo cual merece todo el respeto de los demás sea cual sea el punto de vista. Ahora a <b><i>parte</i></b> de los pensamientos existen sentimientos y sensaciones que no podemos dominar del todo por si mismos. Por ejemplo, cuando una persona se enamora de otra y se da cuenta de que esta no es tal para su vida o que está... </p> <div class="row card__footer-links "> <div class="columns small-6"> <a href="/ensayos/Como-No-Creer/52688348.html" title="como no creer" class="card__footer text-xs"> <span> Leer más </span> </a> </div> <div class="columns small-6"> <div class="card__caption card__caption weight-300 mid-gray text-s align-right"> <div class="essay-details no-margin--bottom"> <span class="essay-details__item">802 Palabras</span> <span class="essay-details__item">4 Páginas</span> </div> </div> </div> </div> </div> </div> </li> </ul> </section> </div> </section> <section class="row "> <div class="columns position-relative large-12"> <section class="section no-border"> <div class="container"> <div class="row"> <div class="columns "> <div class="section-heading "> <h2 class="align-left margin-2 heading-m"> OTRAS TAREAS POPULARES </h2> </div> </div> </div> <div class="row" id="popular-tags-visible"> <div class="small-12 columns tag-block columns-small-1 columns-medium-2 columns-large-2"> <ul> <li class="margin-1"> <a href="/ensayos/Espa-Ol/79431739.html" title="Espa ol" class="mid-gray brand-primary--hover">Espa ol</a> </li> <li class="margin-1"> <a href="/ensayos/Sustentacio%CC%81n-Filosofi%CC%81a-Medieval/79431790.html" title="SUSTENTACIÓN FILOSOFÍA MEDIEVAL" class="mid-gray brand-primary--hover">SUSTENTACIÓN FILOSOFÍA MEDIEVAL</a> </li> <li class="margin-1"> <a href="/ensayos/Guia-Didactica-Protocolo-y-Rrpp-Guias/79431802.html" title="GUIA DIDACTICA PROTOCOLO Y RRPP GUIAS" class="mid-gray brand-primary--hover">GUIA DIDACTICA PROTOCOLO Y RRPP GUIAS</a> </li> <li class="margin-1"> <a href="/ensayos/Analisis-Pelicula-Enron-Grupo-5/79431826.html" title="Analisis Pelicula Enron Grupo 5" class="mid-gray brand-primary--hover">Analisis Pelicula Enron Grupo 5</a> </li> <li class="margin-1"> <a href="/ensayos/Tp-De-Economia/79431880.html" title="TP de Economia" class="mid-gray brand-primary--hover">TP de Economia</a> </li> <li class="margin-1"> <a href="/ensayos/Postitulo-Resumen/79431883.html" title="Postitulo Resumen" class="mid-gray brand-primary--hover">Postitulo Resumen</a> </li> </ul> </div> </div> </div> </section> </div> </section> <div class="advertBox center margin-1"></div> <section class="section no-border brand-primary--bg"> <div class="row"> <div class="columns center"> <h3 id="banner_title" class="heading-l white">Únete a millones de otros estudiantes y comienza tu investigación</h3> <h4 class="text-m white">Conviértase en miembro formal de Buenas Tareas</h4> <a class="button--bg-color__white button-fullwidth" onclick="upgradeRedirect()" rel="nofollow"> INSCRÍBETE - ES GRATIS </a> </div> </div> </section> <footer class="section section--footer"> <div class="row"> <div class="medium-3 columns"><div class="copyright-block"> <p class="copyright-block__logo"> <i class="icon icon-sm-logo copyright-block__logo__icon"></i> <span class="copyright-block__logo__span">Buenas Tareas</span> </p> <p class="copyright-block__social"> <a rel="nofollow" href="http://www.facebook.com/BuenasTareas"> <span class="copyright-block__social__circle"> <i class="copyright-block__social__circle__icon icon icon-ui-24-social-fb icon-ui-social-fb"></i> </span> </a> <a rel="nofollow" href="https://twitter.com/buenastareas"> <span class="copyright-block__social__circle"> <i class="copyright-block__social__circle__icon icon icon-ui-social-tw"></i> </span> </a> </p> <small class="copyright-block__copyright text-s"> ©2024 BuenasTareas.com </small> </div> </div> <div class="medium-3 columns"><div class="vertical-nav-list"> <h6 class="vertical-nav-list__heading heading-xxs">Productos</h6> <ul class="vertical-nav-list__container"> <li class="vertical-nav-list__item"> <a class="vertical-nav-list__item__anchor text-m" href="/ojear/">Documentos de investigación</a> </li> <li class="vertical-nav-list__item"> <a class="vertical-nav-list__item__anchor text-m" href="/resumen-de-libros/">Notas de libros</a> </li> <li class="vertical-nav-list__item"> <a class="vertical-nav-list__item__anchor text-m" href="/generador-de-citas/">Generador de citas</a> </li> </ul> </div> </div> <div class="medium-3 columns"> <div class="vertical-nav-list"> <h6 class="vertical-nav-list__heading heading-xxs">Empresa</h6> <ul class="vertical-nav-list__container"> <li class="vertical-nav-list__item"> <a class="vertical-nav-list__item__anchor text-m" href="/about.php">Empresa</a> </li> <li class="vertical-nav-list__item"> <a class="vertical-nav-list__item__anchor text-m" href="/advertise-with-us.php">Haz publicidad</a> </li> <li class="vertical-nav-list__item"> <a class="vertical-nav-list__item__anchor text-m" href="/legal.php">Legal (actualizado 9/9/14)</a> </li> <li class="vertical-nav-list__item"> <a class="vertical-nav-list__item__anchor text-m" href="/sitemap.html">Mapa del sitio</a> </li> </ul> </div> </div> <div class="medium-3 columns"><div class="vertical-nav-list"> <h6 class="vertical-nav-list__heading heading-xxs">Ayuda</h6> <ul class="vertical-nav-list__container"> <li class="vertical-nav-list__item"> <a class="vertical-nav-list__item__anchor text-m" href="/help.php">Ayuda</a> </li> <li class="vertical-nav-list__item"> <a class="vertical-nav-list__item__anchor text-m" href="/about-us/contact">Contáctanos</a> </li> </ul> </div> </div> </div> </footer> </div> <!-- global JS --> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/labjs/2.0.3/LAB.min.js"></script> <script type="text/javascript"> $LAB .script("//cdnjs.cloudflare.com/ajax/libs/aja/0.4.1/aja.min.js") .script("//cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js") .script("//cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.runtime.min.js") .script("//cdnjs.cloudflare.com/ajax/libs/jquery.payment/1.3.2/jquery.payment.min.js") .script("//assets.buenastareas.com/234d3b97ed2b88737e66b0e02a8e5aa593c7f7c0/_assets/bts/92c1d4e847bc6d93ba58214aa322ee6c.js") ; </script> <script type="text/javascript"> window.SM2_DEFER = true; function downloadJSAtOnload() { $LAB .script("//assets.buenastareas.com/234d3b97ed2b88737e66b0e02a8e5aa593c7f7c0/_assets/bts/76aff662ad8b32c9348bfa0fa9cb8f91.js") .wait(function() { }); } // Check for browser support of event handling capability if (window.addEventListener) window.addEventListener("load", downloadJSAtOnload, false); else if (window.attachEvent) window.attachEvent("onload", downloadJSAtOnload); else window.onload = downloadJSAtOnload; </script> </body> </html>