Reading:一款不错的Material Desgin风格的Kotlin版本的开源APP

简介: 版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/81946831 Readinghttps://github.com/Hankkin/Reading简介 很久不见,重新拾起博客吧,今天分享一个开源APP-Reading,项目的初衷是因为自己平时翻文章,但是公众号又经常忘记看,自己索性搞一个APP吧,顺便练一下Kotlin。
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/81946831

Reading

https://github.com/Hankkin/Reading

简介

很久不见,重新拾起博客吧,今天分享一个开源APP-Reading,项目的初衷是因为自己平时翻文章,但是公众号又经常忘记看,自己索性搞一个APP吧,顺便练一下Kotlin。借助着WanAndroid OpenApi搞起,同时里面加了一些小工具,具体功能向下看吧,然后也尝试了一下以前想实现但是没实现过的功能,废话不多说,先来一波图。各位如果有什么意见可以在Issues上提,或者联系我。

Reading: Reading是一款基于WanAndroid OpenApi开发的阅读类工具,如果你是一个热衷于Android开发者,那么这款软件能帮助你阅读精品Android文章。同时Reading中还包含”英文单词”、”账号本子”、”天气”、”查单词”、”快递查询”等小工具。项目基于”Kotlin+MVP”架构开发,风格大概也许属于Material Desgin原质化风格,包含主题颜色切换、百变Logo、等功能。在此感谢WanAndroid的OpenApi,以及其它开源项目的贡献。

ScreenShot

















DownLoad

https://fir.im/Reading

Function Tips

1.首页

  • WanAndroid API实现Android文章列表热门搜索文章项目列表
  • 刷新、置顶、分享文章搜索文章搜索历史
  • 收藏列表

2.工作台

  • 快递查询 使用快递100免费API进行快递查询
  • 扫一扫 快速扫一扫、从相册选择扫一扫
  • 查询单词 使用有道SDK查询单词 加入单词本
  • 单词本 单词本记录功能 标记重点
  • 账号本子 新建账号 保存本地 记录你的常用账号密码
  • 每日推荐 标记重点的单词推荐在首页

3.我的

  • 登录注册 使用WanAndroid Api进行账号注册登录
  • TODO List WanAndroid API 待办事项 (待开发)
  • 设置 个性换肤、账号锁功能、本地数据备份、百变Logo、清除缓存

Skill Tips

  • 项目架构 使用MVP架构模式搭建,封装MvpActivity、MvpFragment、BasePresenter、BaseView。P层绑定V层生命周期 。具体可见MVP包

  • 网络层 使用Retrofit+RxJava进行网络请求,封装公共Rerofit的HttpClientUtils(创建RetrofitBuilder、OkHttpClient、addHeader、拦截器、Cookie、https等)、工厂模式创建不同BaseUrl的网络对象。具体可见http包

  • 缓存 使用GreenDao数据库缓存本地数据,并提供数据备份、还原功能。同时结合MVP架构,将数据库操作作为Dao层,Dao层封装Protocol,利用工厂模式包装GreenDao产生的xxxBeanDao

  • RecycleAdapter 封装RecycleView Adapter 配合SwipeRefreshLayout支持下拉刷新、上拉加载功能,不满足一屏数据

  • RxBusTools 封装RxBusTools事件分发 封装BaseActivity、BaseFragment统一处理注册监听事件

  • StatuBarUtils沉浸式 使用写代码的猴子StatusBarUtil 状态栏工具类(实现沉浸式状态栏/变色状态栏)适配沉浸式通知栏

  • 主题切换 B站开源框架MagicaSakura

  • 百变Logo Android群英传中利用根据主题颜色动态切换Icon,部分机型可能会出现crash,目前还没找到更好的解决方案,所以提供了开启关闭的开关。如果有大神可以在Issues提供。

  • 本地数据备份还原 通过读取数据库数据写入txt文件,读取txt文件数据还原实现,记录备份还原的时间戳作为版本号

  • 单词翻译 使用有道SDK翻译单词

  • FloatActionButton 实现首页悬浮按钮 点击展开

  • HorizontalScrollView+ViewPager 首页仿网易云音乐滑动

  • BottomSheet 主题切换底部弹出框

  • 手势解锁 参考Github-ihsg/PatternLocker

Version

V1.0.1

  • 完善数据备份还原清空数据功能

  • 完善账号锁功能

  • 新增版本号

V1.0.0

  • 首次提交 部分功能不完善

License

Copyright (C) 2018 Hankkin

Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1v9bg469utllf

相关文章
|
5天前
|
小程序 Java 关系型数据库
圈子系统公众号app小程序系统源码圈子系统带即时通讯 多级圈子系统源码 兴趣小组系统开源 私密圈子系统代码 会员制社区系统
本圈子系统解决方案提供即时通讯、多级圈子、兴趣小组、私密社区及会员制管理功能。支持开源与商业方案,推荐ThinkSNS+、EasyClub及OpenFire等系统,并提供前后端技术选型建议,助力快速搭建社交平台。
27 0
|
8天前
|
iOS开发 MacOS
如何指定下载不同版本macOS app
本文介绍了多种下载和安装 macOS 的方法,包括使用终端命令下载指定版本的 macOS App 或 PKG 文件,以及通过脚本工具如 installinstallmacos.py 和 fetch-installer-pkg 实现自动化下载。同时还讲解了如何将 macOS 安装程序制作成可启动 U 盘,适用于系统重装或部署场景。
|
2月前
【Function App】在PowerShell Function中指定特殊的Microsoft.Graph.Users版本
在Azure Function App中运行PowerShell Function时,通过Requirements.psd1文件管理模块版本。若需将“Microsoft.Graph.Users”从最新版2.26.0改回2.23.0以避免冲突,可通过以下步骤解决:1) 在requirements.psd1中明确指定版本为2.23.0 2) 在profile.ps1中添加`Import-Module Microsoft.Graph.Users -RequiredVersion 2.23.0`语句。此方法确保加载特定版本模块
71 18
|
5月前
|
应用服务中间件 Linux nginx
【Azure App Service】基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?
基于Linux创建的App Service是否可以主动升级内置的Nginx版本呢?Web App Linux 默认使用的 Nginx 版本是由平台预定义的,无法更改这个版本。
181 77
|
5月前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
3520 22
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
5月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
318 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
5月前
|
开发框架 缓存 搜索推荐
PiliPala:开源项目真香,B站用户狂喜!这个开源APP竟能自定义主题+去广告?PiliPala隐藏功能大揭秘
嗨,大家好,我是小华同学。PiliPala 是一个基于 Flutter 开发的 BiliBili 第三方客户端,提供流畅、个性化的使用体验。核心功能包括视频浏览与推荐、用户互动、丰富的播放设置、多维度搜索和个性化主题等。相比官方客户端,PiliPala 功能更丰富、性能更优、界面更美观。
263 14
|
10月前
|
移动开发 定位技术 Android开发
「揭秘高效App的秘密武器」:Kotlin Flow携手ViewModel,打造极致响应式UI体验,你不可不知的技术革新!
【9月更文挑战第12天】随着移动开发领域对响应式编程的需求增加,管理应用程序状态变得至关重要。Jetpack Compose 和 Kotlin Flow 的组合提供了一种优雅的方式处理 UI 状态变化,简化了状态管理。本文探讨如何利用 Kotlin Flow 增强 ViewModel 功能,构建简洁强大的响应式 UI。
187 3
|
9月前
|
开发工具 iOS开发 MacOS
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
490 0

热门文章

最新文章