免費(fèi)小說(shuō)閱讀器(Android版本)全站開(kāi)源

此小說(shuō)閱讀器只追求兩項(xiàng)

  1. 極簡(jiǎn)(無(wú)廣告,無(wú)添加)
  2. 豐富(內(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è)途徑:

  1. 搜索
    目前漫品客戶(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)行搜索,直到搜索成功為止

  1. 書(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)航
  1. 主頁(yè)及推薦頁(yè)面

邏輯與導(dǎo)航推薦邏輯相符

效果圖如圖所示


漫品客戶(hù)端 全站開(kāi)源 開(kāi)源地址:

https://github.com/AnyMarvel/ManPinAPP

歡迎start

工具庫(kù)慢慢扣出中,求start

使用過(guò)程如有問(wèn)題,請(qǐng)直接留言:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容