此小說(shuō)閱讀器只追求兩項(xiàng)
- 極簡(jiǎn)(無(wú)廣告,無(wú)添加)
- 豐富(內(nèi)容豐富,只有你想不到的,沒(méi)有它沒(méi)有的)
漫品客戶(hù)端 全站開(kāi)源 開(kāi)源地址:
https://github.com/AnyMarvel/ManPinAPP
歡迎start
app下載地址:
https://github.com/AnyMarvel/ManPinAPP/releases
或者使用應(yīng)用寶下載(或到各大應(yīng)用市場(chǎng)下載,目前支持 小米 華為 360 豆瓣 99助手等):
https://sj.qq.com/myapp/detail.htm?apkName=com.mp.android.apps

小說(shuō)模塊簡(jiǎn)介
APP本地小說(shuō)僅支持txt格式,將小說(shuō)按章節(jié)分割存入數(shù)據(jù)庫(kù),在線(xiàn)小說(shuō)來(lái)源是通過(guò)手機(jī)模擬小說(shuō)網(wǎng)站的GET請(qǐng)求,獲取網(wǎng)站源碼,根據(jù)不同網(wǎng)站來(lái)源進(jìn)行數(shù)據(jù)解析,獲取相應(yīng)數(shù)據(jù)存入數(shù)據(jù)庫(kù)顯示(已經(jīng)匹配了近30個(gè)網(wǎng)站),同時(shí)為了提升閱讀體驗(yàn),章節(jié)內(nèi)容做了二級(jí)緩存處理。同時(shí)也增加了離線(xiàn)加載功能。

免費(fèi)小說(shuō)閱讀器,主打精簡(jiǎn),UI精簡(jiǎn)但不失優(yōu)雅,功能精簡(jiǎn)但不失體驗(yàn),根據(jù)功能界面劃分為:
書(shū)架模塊:包含本地書(shū)籍,以及網(wǎng)絡(luò)在線(xiàn)書(shū)籍。
書(shū)城:書(shū)城分為導(dǎo)航欄,推薦頁(yè)及主頁(yè)三部分?jǐn)?shù)據(jù),為保證APP的穩(wěn)定性,這三部分都為動(dòng)態(tài)加載模塊,獲取網(wǎng)絡(luò)鏈接可用狀態(tài)則展示當(dāng)前網(wǎng)站鏈接內(nèi)容,獲取失敗則更換,能夠最大限度的保證在線(xiàn)閱讀的可用性.最后以一個(gè)網(wǎng)站為數(shù)據(jù)來(lái)源,解析其主頁(yè)數(shù)據(jù),篩選以及封裝數(shù)據(jù)以Android原生界面的形式展現(xiàn)出來(lái)。
網(wǎng)絡(luò)小說(shuō)離線(xiàn)功能:通過(guò)提前設(shè)置任務(wù)隊(duì)列,通過(guò)Service后臺(tái)獲取章節(jié)數(shù)據(jù)。
本地小說(shuō):將手機(jī)本地的txt小說(shuō)導(dǎo)入應(yīng)用。
小說(shuō)閱讀模塊。
本APP所有數(shù)據(jù)來(lái)源于第三方小說(shuō)網(wǎng)站,不具備自身后臺(tái),通過(guò)JSoup對(duì)xml進(jìn)行數(shù)據(jù)解析,來(lái)完成用戶(hù)對(duì)小說(shuō)內(nèi)容的獲取。
開(kāi)發(fā)難點(diǎn)
一. 本地超大txt小說(shuō)數(shù)據(jù)處理
手機(jī)直接讀取超大文本時(shí),不做好優(yōu)化是很可能OOM的。
本地小說(shuō)的處理方式是:

可查看ImportBookModelImpl類(lèi),查看具體處理方式
二. 小說(shuō)閱讀模塊
小說(shuō)閱讀頁(yè)面基于自定義ViewGroup實(shí)現(xiàn),最多只有3個(gè)頁(yè)面,分別是當(dāng)前頁(yè),上一頁(yè),下一頁(yè)。當(dāng)滑動(dòng)到下一頁(yè)時(shí),上一頁(yè)移除,當(dāng)前頁(yè)指向下一頁(yè),同時(shí)再新增下一頁(yè)。保證UI布局?jǐn)?shù)量不會(huì)越來(lái)越多,杜絕因?yàn)閂iew過(guò)多而產(chǎn)生的OOM。
同時(shí)閱讀時(shí),章節(jié)內(nèi)容數(shù)據(jù)優(yōu)先從內(nèi)存讀取,隨后是數(shù)據(jù)庫(kù),都沒(méi)有的話(huà),再通過(guò)章節(jié)的網(wǎng)絡(luò)地址去請(qǐng)求新的章節(jié)再解析最后返回?cái)?shù)據(jù),存入緩存以及數(shù)據(jù)庫(kù)中。
三. 目標(biāo)網(wǎng)站不穩(wěn)定問(wèn)題
小說(shuō)模塊中目前內(nèi)置30多個(gè)小說(shuō)網(wǎng)站,基于漫品APP獲取小說(shuō)的途徑主要由以下四個(gè)途徑:
- 搜索
目前漫品客戶(hù)端包含30+個(gè)網(wǎng)絡(luò),遍歷搜索相關(guān)內(nèi)容進(jìn)行展示,流程如下

內(nèi)置網(wǎng)站搜索集合,逐個(gè)獲取關(guān)鍵字搜索內(nèi)容,獲取失敗或超時(shí)則使用下一個(gè)搜索引擎進(jìn)行搜索,直到搜索成功為止
- 書(shū)城頁(yè)面導(dǎo)航推薦
書(shū)城頁(yè)面導(dǎo)航頁(yè)面為單個(gè)小說(shuō)網(wǎng)站導(dǎo)航頁(yè)面內(nèi)容,導(dǎo)航內(nèi)容為動(dòng)態(tài)繪制,導(dǎo)航繪制分為以下幾個(gè)步驟:
- 獲取可用導(dǎo)航網(wǎng)站資源(導(dǎo)航網(wǎng)站列表或的定時(shí)替換)
- 繪制當(dāng)前導(dǎo)航
- 主頁(yè)及推薦頁(yè)面
邏輯與導(dǎo)航推薦邏輯相符
效果圖如圖所示


漫品客戶(hù)端 全站開(kāi)源 開(kāi)源地址:
https://github.com/AnyMarvel/ManPinAPP
歡迎start
工具庫(kù)慢慢扣出中,求start
使用過(guò)程如有問(wèn)題,請(qǐng)直接留言: