Flutter 学习成果:写了个小说阅读 app

2020-01-02 17:28:11 +08:00
 me876

本人专职前端,移动端入门小白,重度小说阅读者。

起初是在微信小程序上开发了 [公羊阅读] 的小说小程序,由于是个人开发者,后面审核越来越严格,即便做了优化也无法审核通过。

据了解,Android 上发布应用貌似没那么严格,于是就想整原生 app,用 Flutter 开发,目前已发布 1.1.0-beta.1 版本,将小程序功能平移了过来。

有阅读需求的可以下载 Apk 自行安装,目前只发布了 Android 的应用; https://github.com/py-novel/client_mobile_flutter/releases/tag/1.1.0-beta.1

欢迎反馈 Bug 或者提新需求: https://github.com/py-novel/client_mobile_flutter/issues

10271 次点击
所在节点    Flutter
9 条回复
auroraccc
2020-01-02 17:33:05 +08:00
能讲讲 flutter 小说分页的思路吗
me876
2020-01-02 17:43:42 +08:00
@auroraccc

小说内容都不存库,库里只存用户当前阅读小说当前章节的 url,阅读时,临时根据 url 去目标网站爬取章节标题、章节内容、上一章 url、下一章 url 等数据。

至于章节分页,假设一篇小说有 3000 章节,我定义了大分页和小分页的概念。

大分页是一个两列数行的表格,每个单元格内容如 1-100、101-200、201-300 这样子;

比如大分页选择了 101-200 这个单元格,小分页即显示 101-200 这 100 条数据,小分页最多只显示 100 条数据,这样页面不会卡顿。

说起来比较苦涩,可以安装 apk 看看阅读页面,看原理的话可以看源码 lib/components/ChapterDrawer.dart 文件。
yangheng4922
2020-01-02 18:01:39 +08:00
你这个 logo 明明是母羊 [:手动滑稽]
1KN6sAqR0a57no6s
2020-01-02 18:21:44 +08:00
使用体验很流畅,但是貌似没有记录离开阅读的位置。
auroraccc
2020-01-02 19:30:53 +08:00
@me876 好哒,感谢
me876
2020-01-02 20:05:50 +08:00
@yangheng4922 logo 是在网上找的图片,我不太熟悉 logo 设计,这块给耽搁了。(手动滑稽)
me876
2020-01-02 20:06:49 +08:00
@YuxiangLuo 只会记录当前阅读的那一章节,至于这一章节的滚动条位置确实没有做,不过是个好主意,实现起来也有思路,加入待办事项了。
zinwalin
2020-01-09 13:44:41 +08:00
文本渲染是怎么处理的?
me876
2020-01-09 17:30:20 +08:00
@zinwalin 用的第三方库 flutter_html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/634536

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX