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

相关文章
|
3月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
1月前
|
开发工具 iOS开发 MacOS
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
68 0
|
2月前
|
API 调度 Android开发
告别回调地狱,拥抱流畅开发体验:Kotlin协程带你解锁异步编程新姿势,让App响应速度飙升!
【9月更文挑战第11天】随着移动互联网的发展,用户对应用体验的要求不断提高,异步编程因此变得尤为重要。Kotlin凭借简洁的语法和强大的功能,在Android开发中脱颖而出。协程作为Kotlin的核心特性之一,简化了异步代码编写,提高了程序性能与可维护性。
66 5
|
2月前
|
移动开发 定位技术 Android开发
「揭秘高效App的秘密武器」:Kotlin Flow携手ViewModel,打造极致响应式UI体验,你不可不知的技术革新!
【9月更文挑战第12天】随着移动开发领域对响应式编程的需求增加,管理应用程序状态变得至关重要。Jetpack Compose 和 Kotlin Flow 的组合提供了一种优雅的方式处理 UI 状态变化,简化了状态管理。本文探讨如何利用 Kotlin Flow 增强 ViewModel 功能,构建简洁强大的响应式 UI。
45 3
|
3月前
|
存储 BI Android开发
全开源仿第八区H5APP封装打包分发系统源码
全开源仿第八区H5APP封装打包分发系统源码
139 4
|
3月前
|
开发者
【Azure Logic App】中国区标准版本的逻辑应用(Standard Logic App)无法查看历史执行记录的解决之道
【Azure Logic App】中国区标准版本的逻辑应用(Standard Logic App)无法查看历史执行记录的解决之道
|
4月前
|
人工智能
魔搭多模态AI单词助记&通义APP即时口语练习,你从未体验过的全新版本!
首次接触魔搭多模态AI单词助记工具让我颇感惊喜。传统背单词方式枯燥低效,而该工具通过生成关联图像、短语或故事,让记忆变得生动有趣。访问[Word-wizard](https://modelscope.cn/studios/makabakaing/Word-wizard)体验其图文记忆和视觉学习功能。目前图文记忆功能似乎存在问题,但视觉学习功能仍可正常使用,能识别图片特征并生成释义和例句,辅助学习效果不错。此外,可通过通义APP实现即时口语练习,尽管缺乏上下文记忆功能,但仍是一个优秀的练习工具。
|
4月前
|
Android开发 Kotlin
kotlin开发安卓app,如何让布局自适应系统传统导航和全面屏导航
使用`navigationBarsPadding()`修饰符实现界面自适应,自动处理底部导航栏的内边距,再加上`.padding(bottom = 10.dp)`设定内容与屏幕底部的距离,以完成全面的布局适配。示例代码采用Kotlin。
127 15
|
4月前
|
存储 API Android开发
kotlin开发安卓app,使用webivew 触发 onShowFileChooser, 但只能触发一次,第二次无法触发,是怎么回事。 如何解决
在Android WebView开发中,`onShowFileChooser`方法用于开启文件选择。当用户只能选择一次文件可能是因为未正确处理选择回调。解决此问题需确保:1) 实现`WebChromeClient`并覆写`onShowFileChooser`;2) 用户选择文件后调用`ValueCallback.onReceiveValue`传递URI;3) 传递结果后将`ValueCallback`设为`null`以允许再次选择。下面是一个Kotlin示例,展示如何处理文件选择和结果回调。别忘了在Android 6.0+动态请求存储权限,以及在Android 10+处理分区存储。
|
4月前
|
存储 移动开发 Android开发
使用kotlin Jetpack Compose框架开发安卓app, webview中h5如何访问手机存储上传文件
在Kotlin和Jetpack Compose中,集成WebView以支持HTML5页面访问手机存储及上传音频文件涉及关键步骤:1) 添加`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限,考虑Android 11的分区存储;2) 配置WebView允许JavaScript和文件访问,启用`javaScriptEnabled`、`allowFileAccess`等设置;3) HTML5页面使用`<input type="file">`让用户选择文件,利用File API;