当发现一个有趣的新闻网站(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添加就好了)

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

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

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

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

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

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

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

  1. 【博客园客户端】博客园Android客户端正式发布

    原文地址为: [博客园客户端]博客园Android客户端正式发布 [最新消息]博客园Android客户端已经进驻官方Market,请各位园友果断给好评(手机Android Market中搜索" ...

  2. java编写安卓计算器_安卓实现简单计算器

    实现一个计算器 ,有加减乘除功能,小数点和清除操作. 这是学校安卓老师布置的作业,计算器说实话实现起来挺多坑的,之前在算法比赛中见过这种题,用来熟悉安卓的布局的确是挺好的一个小案例,不过需要挺多逻辑处 ...

  3. android app.build文件_网易友品 Android 客户端组件化演进

    原文作者:简书 - 四单老师 项目背景 主站业务经历了长期的迭代维护,业务的增长同时带来每个版本业务量繁重,迭代周期很快.同时团队也在不断的扩张,对应拆分了组内不同的业务线对接不同业务线的需求,最初的 ...

  4. python安卓开发实例_python服务器与android客户端socket通信实例

    本文实例讲述了python服务器与android客户端socket通信的方法.分享给大家供大家参考.具体实现方法如下: 首先,服务器端使用python完成,下面为python代码: #server.p ...

  5. python编写ftp客户端_用Python写FTP客户端程序

    0 前言: ftp客户端相信大家都用过,那么我们为什么还要用Python写ftp客户端呢? 我想有两个原因: 一是写出更好的ftp客户端应用程序,方便大家使用: 二是定制一些特殊服务,例如每天定时下载 ...

  6. java 自定义形状按钮_制作自定义背景Button按钮、自定义形状Button的全攻略

    在Android开发应用中,默认的Button是由系统渲染和管理大小的.而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的.因此,我们在开发产品的时候,需要对默认按钮进行美化.在本篇里,笔者结 ...

  7. java搭建安卓服务器_无框架完整搭建安卓app及其服务端(一)

    技术背景: 我的一个项目做的的是图片处理,用 python 实现图片处理的核心功能后,想部署到安卓app中,但是对于一个对安卓和服务器都一知半解的小白来说要现学的东西太多了. 而实际上,我们的项目要求 ...

  8. 微信授权Java重定向前端地址_微信网页授权+分享踩过的坑

    页面用浏览器自带返回和安卓物理返回死循环的话,直接看高潮部分 背景 折磨我两个工作日加周末一天的问题,我觉得还是有必要记录一下,为什么程序员总是加班,就是遇到这些意想不到的问题 需求 领导:我想做两个 ...

  9. java反编译工具_移动app安全测试 - 客户端 - 反编译保护

    测试小白一枚,最近刚刚开始接触移动App的安全性测试.结合项目的情况和自己一点粗陋的经验,计划从客户端安全.网络传输安全和服务端安全三个方面进行学习和探索. 1.前言 APP客户端作为直接和用户接触的 ...

最新文章

  1. matlab ufunc,ufunc函数
  2. C语言第一次实验报告
  3. [120_移动开发Android]005_android开发之数据存储之文件操作
  4. 一款java代码生成器(我受够了加班),走起!
  5. HDU1520 Anniversary party 树形动态规划
  6. 汉明距离—leetcode461
  7. Sybase数据库中找回丢失的sa密码
  8. 【已解决】TypeError: bind() takes exactly one argument (2 given)
  9. 国内各大平台的推荐算法,看到360的时候笑喷了……
  10. 深入理解Golang之context
  11. Mac中将 WEBP 图片转成 JPG、PNG 格式的 2 种方法
  12. Java中类与对象的关系与区别
  13. c语言jt808协议库,部标JTT808协议快速开发包
  14. Win32基础学习笔记
  15. 解决:kubeadm init K8S初始化报错02
  16. 项目需求的重要性和开发步骤
  17. 富途证券赴美上市喜迎开门红,盘中一度大涨近45%
  18. 苏嵌//张福辉//2018.7.11
  19. 既然都有了NS,何不再入一个喷喷(Splatoon 2)【下】
  20. 基于OBD的量产车评估(PVE)测试方法

热门文章

  1. Windows下FFTW的安装_史上最全
  2. 编写代码的若干个基本规则(以Java为例)
  3. 权限管理说明-以Linux为例
  4. 反病毒引擎设计全解(一)
  5. 「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母
  6. ❤️你还在用visio画图吗?已经落伍啦!快来试试轻量级绘图神器draw.io吧!❤️
  7. springboot学习笔记(一)
  8. C语言再学习 -- 输入/输出
  9. 【Java面试宝典】深入理解JAVA虚拟机
  10. Create your own blockchain amp; cryptocurrency! - understand blockchains by creating one in python