安卓编写一个简单小说阅读器

上一篇文章,已经实现了加载一个网页,并将正文显示在TextView中,具体过程中有很多不合适的地方,以后会再将一些细节问题单独拿出来讲。主要关心学习过程和思路。下面考虑一些实现的功能,简单来说一般有书架、书库、搜索等功能,具体到小说,可能要考虑本地化(也就是把小说保存下来),还有书签等。UI界面,使用4个Fragment,分别对应书架、书库、搜索、设置等页面,具体Fragment网上有很多教程、源码,我也是找了一个源码,自己修改。

一、书架里用来从本地读取已保存的小说列表,用RecyclerView作为小说列表的容器,点击小说列表打开新的Activity,进入详情页或阅读页。我准备使用SQLite数据库作为本地内容来源,将需要保存的小说的名称、作者、分类、章节目录及网页链接、书签、小说正文保存下来。

二、书库则是在线分析小说网站网页,将小说列表及URL放到列表中,这里也使用RecyclerView作为容器。

在之前的例子中,我使用HttpURLConnection来获取网页的源码时,先得到流,再一个一个的字节/字符读出来,如果遇到网页很大,将耗费大量时间,后来了解到一个叫Jsoup的开源库,它可以很方便的得到网页源码,并且对HTML的DOM有很好的支持,方便得到HTML各个元素。

实际这个阅读器相当于一个网络爬虫,只是将网站的内容以一定格式爬下来,简单组织一下,呈现出来。

三、搜索也是利用目标小说网站本身自带的搜索功能,将搜索请求的结果HTML页面用Jsoup分析后得到小说列表,原理都是一样的。

只要实现一个功能,其它都是相似的。

四、设置,现在还没想好,将来这里放置一些全局参数,如字体、字库、小说网站来源、过滤条件等。

以上只是写这个简单小说阅读器的思路,主要是为了学习、熟悉Android Studio的开发环境,以后会将学习过程中遇到细节问题单独拿出来记录,比如:安卓的网络请求等耗时的操作不能放在主线程中、如何使用SQLite、TextView分页问题、使用Jsoup分析网页等。

你可能感兴趣的:(安卓编写一个简单小说阅读器)