專案地址: Flutter_Novel
順便給這個 Md2All 點個贊,這效果有點東西唉……
前言
如果想自己編譯,建議flutter環境使用最新的stable分支(我目前使用的是stable分支的1.12.13+hotfix.5),由於專案中使用了較新的技術點,所以如果是過老的版本的環境應該會因為找不到類或者方法而報錯。
另外……ios因為沒裝置,所以也不知道具體是否正常,講道理應該沒啥問題的。plugin,程式碼這塊也是基本的flutter程式碼,應該沒什麼特殊的…………
本人也是在不斷摸索學習flutter中,所以這個專案中存在的錯誤或者低效能部分,還請不吝提issue或者pr。
總之,歡迎pr、fork、star,或者在issue區中提出有意義的意見或者建議。
順便提一下:
多圖流量警告!
效果
先公佈一下現在可以公開的情報(為了體現效能優化成果,在閱讀頁開啟Performance Overlay介面):
書庫頁:
搜尋頁:
閱讀頁:
核心技術點(非UI部分)概括
整體架構:
- 基於provider的實現的mvvm思想的模板框架
- 資料庫sqflite使用
- rxdart的一種小小應用
- 可以摺疊展開的text
- 主題色隨圖片
- Flutter中textPainter的使用,包含繪製、測量等.
- canvas的使用.
- 三種翻頁動畫(左右模擬翻頁、上下滑動翻頁、覆蓋翻頁)的實現.
- 離線快取
- sharedPreference、螢幕亮度等使用者設定內容。
- stream的一種小小應用
- dart中協程以及flutter的isolate的一些使用方法
- 一種超低耦合的listView按index跳轉的方式(目錄頁)
里程碑(暫定)
未實現的部分:
- 排行榜
- 書評
- 下載
- 本地書籍匯入、wifi傳書等其他匯入書籍方式
- 非txt格式的資料支援
- 網頁抓包處理解析(用於解析網頁而非介面獲取的書籍資訊)
- 音量鍵翻頁
- 語言讀書,自動翻頁
特別感謝
flutter_app(追書神器的介面以及介紹頁來自於這個專案)
BookPage(閱讀頁的實現思路參考自這個專案)