簡介
Manga:一個開源的Android漫畫閱讀器,提供多個漫畫來源(目前可提供三個漫畫源)厅翔。實現(xiàn)切換漫畫來源乖坠、漫畫推薦、漫畫搜索刀闷、漫畫收藏熊泵、漫畫閱讀仰迁、歷史記錄、下載漫畫等功能顽分。最好在Android5.0以上運行,才能體現(xiàn)出更好的效果 - -
說明:市面上普遍的漫畫 App 因版權的問題轩勘,導致每個漫畫 App。都沒有相對完整的資源怯邪,內(nèi)容也差別較大绊寻。用戶如果需要觀看漫畫的話,就需要下載多個漫畫 App悬秉。在這種情況下澄步,一個漫畫 App 可以觀看相對多的漫畫的需求也就因此誕生。
數(shù)據(jù)來源:數(shù)據(jù)源于各大漫畫網(wǎng)站和泌,然后通過本人編寫的Python爬蟲項目抓取數(shù)據(jù)村缸,再將數(shù)據(jù)進行處理提供。(因數(shù)據(jù)由非正常途徑獲取武氓,在這里就不提供源碼了 ╮(╯﹏╰)╭ ?)
源碼地址:https://github.com/TongmingWu/Manga
效果預覽
結構
項目基于RxJava+Retrofit2+Glide+ButterKnife梯皿,結合MVP模式開發(fā)
整個項目使用MVP架構,對應model,view,presenter三個包
使用Retrofit2做網(wǎng)絡請求
使用Glide加載圖片和緩存圖片
使用Material Design控件和動畫
開發(fā)過程
1.架構選擇:選擇MVP主要是在Android開發(fā)中MVP更優(yōu)于MVC县恕。M層處理業(yè)務邏輯东羹,V層處理視圖更新,P層作為整個項目的中間層忠烛,負責V與P之間的交流属提,降低了整個項目的耦合度。
2.緩存處理:App中大部分為圖片美尸,因此需要對圖片進行緩存冤议。在這里使用了Glide提供的二級緩存(內(nèi)存、磁盤)進行處理师坎,可節(jié)省流量并做到離線緩存恕酸。
3.已完成的功能:閱讀漫畫、下載漫畫胯陋、登錄注冊蕊温、緩存及閱讀設置、收藏漫畫(后臺數(shù)據(jù)同步)惶岭、歷史記錄寿弱。
感想
整個項目的前后端都是由自己一個人做犯眠,從暑假八月開始做到十一月按灶,中間各種斷更 - - 。真不知道當初是怎么想的筐咧,突然就想做這么一個APP (╯‵□′)╯︵┴─┴ 掀桌
一開始只是想方便地看漫畫鸯旁,有了這個念頭之后就停不下來噪矛,立即開工干事 o(一︿一+)o
開發(fā)的過程中也遇到了許多問題,但解決完一個問題的時候感覺好開心铺罢。(這都要感謝 Google (o_ _)?)
慢慢地艇挨,功能漸漸地完善,用著自己寫的APP看漫畫韭赘,那種感覺不知道怎么說缩滨,挺棒的。
最后
安利一下我用React實現(xiàn)的Manga 點擊這里
歡迎大家來我的GitHub(可憐上面沒有什么star)各種star泉瞻、fork脉漏、issues (っ?Д?)っ!!