java制作安卓客户端_制作网页的Android客户端(一)

当发现一个有趣的新闻网站(AnimeNews)没有android客户端时,打算做一个学习和自用。

0.简单的需求分析

1.能看新闻

2.能查单词

3.单词表

1.建立新闻的抽象类

需要的属性有:

新闻标题

新闻内容链接

新闻描述

新闻发布时间

新闻分类

新闻编辑

新闻封面

新闻正文

packagecom.saltwater.animenews;/**新闻元素类

* Created by xin on 2016/10/22.

*@version1.1*/

public classNewsItem {private String mTitle=null;private String mLink=null;private String mDescription=null;private String mPubData=null;private String mCategory=null;private String mEditor=null;private String mCover=null;private String mContent=null;publicString getTitle() {returnmTitle;

}publicString getEditor() {returnmEditor;

}publicString getDescription() {returnmDescription;

}publicString getCover() {returnmCover;

}publicString getContent() {returnmContent;

}publicString getPubData() {returnmPubData;

}publicString getLink() {returnmLink;

}publicString getCategory() {returnmCategory;

}public voidsetTitle(String title) {

mTitle=title;

}public voidsetEditor(String author) {

mEditor=author;

}public voidsetDescription(String description) {

mDescription=description;

}public voidsetCover(String picture) {

mCover=picture;

}public voidsetContent(String content) {

mContent=content;

}public voidsetPubData(String pubData) {

mPubData=pubData;

}public voidsetLink(String link) {

mLink=link;

}public voidsetCategory(String Category) {this.mCategory =Category;

}

}

2.获取新闻内容

一开始的选择是爬虫获取所有的内容,然后建立自己的服务器。学习Python2天后,失败于爬虫,放弃。

第二选择使用RSS(AnimeNewsRSS)。其他属性都有了,就缺少一个封面图的链接。为了美观还是选择放弃。如果打算使用RSS的话有个Rome的开源包很好用。

最后选择jsoup解析HTML。优点是网页上展示的所有想要的东西都可以抓下来,还可以自动更新内容。缺点是新闻条目少,只有200多条,但是自用还是够了。然后如果网站的Html格式换了要重新去解析,RSS基本很少会变格式。

Jsoup的使用

首先添加jsoup的jar包(如果使用Android Studio直接在Library Dependency搜jsoup添加就好了)

cc62822275848b88408672e87c8d3c91.png

然后添加一个工具类使用jsoup解析Html,参考http://www.open-open.com/jsoup/学习jsoup解析。

1.与目标URL建立链接,获取到Html文档

Document doc = Jsoup.connect(mURL).get();

2.从Html文档提取需要的属性

这里需要的属性需要从Html中去找,如果使用Chrome浏览器,可以很方便的用右键的检查功能来定位想要的属性在Html文档中的位置。

44a9fdabcbe438906c8dbc963369f03f.png

/*这是一个完整的新闻div*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值