V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
me876
V2EX  ›  Flutter

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

  •  
  •   me876 · 2020-01-02 17:28:11 +08:00 · 10005 次点击
    这是一个创建于 1547 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    据了解,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

    9 条回复    2020-01-09 17:30:20 +08:00
    auroraccc
        1
    auroraccc  
       2020-01-02 17:33:05 +08:00
    能讲讲 flutter 小说分页的思路吗
    me876
        2
    me876  
    OP
       2020-01-02 17:43:42 +08:00   ❤️ 2
    @auroraccc

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

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

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

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

    说起来比较苦涩,可以安装 apk 看看阅读页面,看原理的话可以看源码 lib/components/ChapterDrawer.dart 文件。
    yangheng4922
        3
    yangheng4922  
       2020-01-02 18:01:39 +08:00
    你这个 logo 明明是母羊 [:手动滑稽]
    YuxiangLuo
        4
    YuxiangLuo  
       2020-01-02 18:21:44 +08:00 via Android
    使用体验很流畅,但是貌似没有记录离开阅读的位置。
    auroraccc
        5
    auroraccc  
       2020-01-02 19:30:53 +08:00
    @me876 好哒,感谢
    me876
        6
    me876  
    OP
       2020-01-02 20:05:50 +08:00
    @yangheng4922 logo 是在网上找的图片,我不太熟悉 logo 设计,这块给耽搁了。(手动滑稽)
    me876
        7
    me876  
    OP
       2020-01-02 20:06:49 +08:00
    @YuxiangLuo 只会记录当前阅读的那一章节,至于这一章节的滚动条位置确实没有做,不过是个好主意,实现起来也有思路,加入待办事项了。
    zinwalin
        8
    zinwalin  
       2020-01-09 13:44:41 +08:00
    文本渲染是怎么处理的?
    me876
        9
    me876  
    OP
       2020-01-09 17:30:20 +08:00
    @zinwalin 用的第三方库 flutter_html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2601 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:53 · PVG 23:53 · LAX 08:53 · JFK 11:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.