Flutter是google大力推出的跨平台移动开发工具,作为Android开发者,既然都是google的,也适当学习以下。说实在的,Flutter对于与硬件通信的功能,如蓝牙wifi通信,相机相关等一般需要通过Native代码来实现,这里通过一个开发一个与与硬件通信无关的APP来学习Flutter的开发。
项目地址:
https://github.com/dingpwen/FreeNovel/
目前已实现网络爬取与本地存储部分,后续开发进行中…
项目简介
通过网络爬虫技术从网络爬取免费的小说,存贮在本地数据和云数据库中,个人看免费小说去掉看广告的烦恼。
第三方库依赖
dio: 3.0.8 #latest version
html: ^0.14.0+3
cached_network_image: ^2.2.0
shared_preferences: ^0.5.7+3
sqflite: ^1.3.1
background_fetch: ^0.5.1
目标
1)不使用Native代码,全用dart实现。
2)支持动态添加搜索源
3)支持自动更新
现状
代码持续更新中
1)2020.7.15 使用background_fetch实现后台自动更新小说内容
2)2020.7.21 添加了对顶点小说搜索的接口,由于顶点网页编码是gbk的,而个人对Dart字符串编码不是很熟悉,用了一个native的接口。
3)2020.7.22 爬取下载与数据库保存优化,添加批量操作与同步锁,添加下载状态监听与取消操作。
4)2020.7.28 添加直接下载接口,去掉native代码,完善部分界面功能。
5)2020.7.29 直接下载小说功能优化,小说阅读功能问题修改,完善剩余界面,到目前为止,除了未添加软件升级功能,app已完整,计划找一个合适的ICON后将APP发布到华为市场。
6)2020.7.31 自动更新问题修正。
7)2020.8.3 自动更新问题修正(多本书籍同时更新的冲突解决),app icon更新。
抱怨一下
本来打算将apk上传到华为应用市场,资料都填好了,结果需要什么软件版权证,点申请链接进入发现还要钱,还不少,郁闷,哥不弄了行不!