实现app上对csdn的文章查看,以及文章中图片的保存 (制作csdn app 完结篇)

本文介绍了如何在App中实现CSDN文章的查看及文章内图片的保存。通过解析HTML,将内容拆分为标题、摘要、段落和图片,存储为List对象并创建相应的布局显示。提供了OnItemClickListener来处理点击事件,以及图片展示的Activity。源码可下载。
摘要由CSDN通过智能技术生成
               

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24022165

今天给大家带来CSDN的完结篇,即加入文章的查看和文章中图片的保存~

今天的目标:


首先是对控件使用的考虑,既然是网络上的文章,可能首先想到的就是webview,这里直接把页面载入到webview中是肯定不行的,首先得把页面上的数据解析,然后可能需要一个html的模版,然后把数据填充到模版,再将模版用于webview的展示。想了想,还是不是很方面,因为不确定文章中的段落、图片的数量和位置。所以最终照着网络上流传的版本使用List实现。

思路:把页面上的数据解析成 标题、摘要、段落(*)、图片(*),自定以一个对象,解析完成后生成一个List,当然顺序一定要和原文的一直。然后针对标题、摘要、段落、图片各做一个List的item的布局,最终显示。

好了,先简单看下csdn文章页的html:

我们在原先的代表上,添加对这样html页面的解析:

首先是封装的对象:

package com.zhy.bean;import java.util.List;public class NewsDtoprivate List<News> newses;  private String nextPageUrl ; public List<News> getNewses() {  return newses; } public void setNewses(List<News> newses) {  this.newses = newses; } public String getNextPageUrl() {  return nextPageUrl; } public void setNextPageUrl(String nextPageUrl) {  this.nextPageUrl = nextPageUrl; }   }



package com.zhy.bean;public class Newspublic static interface NewsType {  public static final int TITLE = 1;  public static final int SUMMARY = 2;  public static final int CONTENT = 3;  public static final int IMG = 4;  public static final int BOLD_TITLE = 5; } /**  * 标题  */ private String title; /**  * 摘要  */ private String summary; /**  * 内容  */ private String content; /**  * 图片链接  */ private String imageLink; /**  * 类型  */ private int type; public String getTitle() {  return title; } public void setTitle(String title) {  this.title = title; } public String getSummary() {  return summary; } public void setSummary(String summary) {  this.summary = summary;  this.type = NewsType.SUMMARY; } public String getContent() {  return content; } public void setContent(String content) {  this.content = content; } public String getImageLink() {  return imageLink; } public void setImageLink(String imageLink) {  this.imageLink = imageLink;  this.type = NewsType.IMG; } public int getType() {  return type; } public void setType
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值