当Android在解析XML时遇到GBK或者gb2312编码时会无法解析或者出现乱码,故需要在解析时判断一下RSS的编码方式,
并使用InputStreamReader(rssUrl.openStream(),encodingName)指明编码方式,就可以解析了。
//防止遇到某些编码(如GBK)时出现错误
//得到探测器代理对象
CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();
//向代理对象添加探测器
detector.add(JChardetFacade.getInstance());
//得到编码字符集对象
Charset charset = detector.detectCodepage(rssUrl);
//得到编码名称
String encodingName = charset.name();
Log.e("RssReader_Encoding", encodingName);
//指定编码生成字符流
if(encodingName.equals("GBK") || encodingName.equals("gb2312")){
is = new InputSource(new InputStreamReader(rssUrl.openStream(),encodingName));
}
else{
is = new InputSource(rssUrl.openStream());
}
xmlreader.parse(is);
采用一个现成的开源项目:cpdetector可以判断编码方式,它所在的网址是:http://cpdetector.sourceforge.net/。它的类库很小(见附件),只有500K左右。具体方法可参照下方链接。
链接:判定文件编码或文本流编码的方法
分享到:
相关推荐
解析代码示例: import net.xfok.rss.parser.Feed; import net.xfok.rss.parser.Rss; ...... String url="http://www.xfok.net/news/rss.xml"; Rss rss=new rss(url); List<Feed> feeds=rss.getFeeds(); ...... 欢迎...
本话题主要探讨如何解析RSS feed,并且结合图片展示,这在创建新闻应用或者聚合信息源时非常实用。我们将深入理解两个关键文件:`RssSaxActivity3.java`和`RssSaxParser.java`。 首先,让我们从`RssSaxActivity3....
RSS阅读器通过抓取并解析RSS feed,将网站的最新内容呈现给用户。在这个特定的项目中,源码是针对新浪RSS服务设计的,这意味着它会连接到新浪提供的RSS源,获取新闻标题、摘要、发布时间等信息,并在Android应用中...
开发者使用Java来实现RSS阅读器的逻辑,包括解析RSS feed、处理XML数据、构建用户界面以及管理应用的状态等。Java的面向对象特性使得代码组织清晰,易于维护。 XML解析是另一个关键点。RSS feed通常以XML格式提供,...
以上是构建Android RSS阅读器时可能涉及的主要技术点。通过分析和学习这个源代码,你可以了解如何将这些知识点融合到实际项目中,从而提升Android开发技能。同时,这也是一个很好的实践项目,可以帮助你掌握Android...
在Android平台上开发RSS阅读器应用时,源码的分析与理解是至关重要的。"android rss源码"这个项目可能是为了帮助开发者了解如何在较低版本的Android(低于0.9)中实现RSS订阅和解析功能。RSS(Really Simple ...
在新浪RSS阅读器中,源码会解析RSS feed以获取标题、描述、链接等信息,并将这些信息展示给用户。 2. **网络请求与数据解析**:源码中可能使用了HttpURLConnection或OkHttp等库进行网络请求,获取RSS feed的XML数据...
还可以作为ConverterFactory用于翻新和加油分析RSS RSS解析器,适用于android在整个咖啡店中简单,简洁,可扩展的RSS解析器。 它可以从RSS文章中捕获这些信息:标题描述链接发布日期图像项GUId语言媒体作者类别...
Android RSS阅读器源码是一个专门为Android平台设计的应用程序,它能解析RSS feed并显示在用户友好的界面上。下面我们将深入探讨该源码中的关键知识点。 1. **XML解析**: Android RSS阅读器首先需要处理XML文件,...
### android_RSS经典开发教程 #### 一、RSS与Android平台概述 RSS(Really Simple Syndication)作为一种标准化的格式,用于聚合网站上的内容,并让用户能够订阅这些内容更新。随着移动互联网的发展,RSS阅读器...
在Android平台上,RSS阅读器是一种常见的应用程序,它允许用户订阅并获取来自不同网站的RSS feed,从而方便地浏览和管理新闻、博客文章等更新。在这个"android源代码 Rss阅读器"项目中,开发者提供了一个自编写的源...
本课题旨在设计并开发一款基于Android平台的RSS阅读器,以满足用户对于信息获取的需求,并解决传统RSS阅读器存在的问题。 #### 二、相近研究课题的特点及优缺点分析 当前市场上已有的RSS阅读器主要可以分为三大类...
解析XML时,每遇到一个RSS条目,就创建一个新的`RssItem`对象并填充数据。 在数据解析完成后,下一步是将这些信息存储到内存或数据库中。如果应用需要离线阅读功能,可以选择将RSS条目存储在SQLite数据库中。...
在Android应用中,我们可以利用RSS解析库,如RSSParser或TinyRSSParser,将RSS源数据转换为易于处理的对象模型。 在这个Demo中,首先我们需要创建一个RSS解析器,用于读取和解析RSS源。解析器通常会处理XML文档,...
一个Android RSS阅读器应用是专门设计用来帮助用户管理和阅读RSS源的软件。现在,我们将深入探讨如何构建一个Android RSS阅读器以及涉及的关键技术点。 1. **XML解析**:RSS feed通常是以XML格式存储的,因此,我们...
在开发过程中,开发者基于Android SDK 1.5环境,借助Eclipse集成开发环境以及Photoshop等设计工具,实现了RSS(Really Simple Syndication)新闻的获取、解析和展示功能。 在第一章“绪论”中,作者首先阐述了项目...
本教程主要涵盖了如何在Android平台上开发一个RSS阅读器应用,由IBM官方提供,旨在帮助开发者深入理解Android应用开发,并掌握RSS数据解析与展示的技术。RSS(Really Simple Syndication)是一种内容发布格式,常...
1. **XML解析**:首先,需要解析RSS源提供的XML文件。这个Demo可能使用了像是`java.util.Xml`或者第三方库如`jsoup`来解析XML。解析后,可以提取出文章标题、链接、发布日期等信息。 2. **网络请求**:在Android中...
为了让开发者能够利用Android平台的便利性,本教程《android_RSS开发教程》将会详细介绍如何使用Android Developer Tools,进行RSS的读取、解析和显示。这不仅为Android平台提供了有效的信息获取方式,还对XML数据...