WanAndroid

一位练习时长两年半的安卓练习生根据鸿神提供的WanAndroid开放Api来制作的产品级App,基本实现了所有的功能,使用Kotlin语言,基于Material Design+AndroidX + MVP + RxJava + Retrofit等优秀的开源框架开发,注释超详细,方便大家练手

如果你觉得做的还可以对你有帮助,容我卑微地向你要个star,有任何问题或建议,欢迎提交issues

前言

前段时间学习了 Kotlin ,于是打算写一个项目来练练手刷刷熟练度,因为经常逛鸿神的WanAndroid网站,觉得很不错,Api也很丰富健全, 虽然根据WanAndroidAPi开发出的app多如牛毛,有诸多优秀的app,但是每个人的喜好与审美不一样,所以都没有做到我心目中的最完美,于是我就想自己设计开发一个让自己觉得满意的玩安卓App。界面的话参考了一些市场上App的风格搭配实现

实现的功能

  • 首页五大模块:首页 / 项目 / 体系/ 公众号 / 我的
  • 登录注册功能
  • 导航功能
  • 搜索功能 热门搜索推荐 搜索历史记录
  • 积分功能 积分排行 积分获取记录
  • 收藏功能 收藏文章 收藏网址
  • 待办清单 添加清单 编辑清单 删除清单
  • 广场功能
  • 发布自己的文章、查询、删除文章
  • 文章网址详情 详情中收藏 分享 浏览器打开
  • 全局修改应用主题色
  • 全局修改列表的加载动画
  • 侧滑返回 可打开与关闭
  • 文章在任何地方收藏与取消,其他界面相对应的数据也会变化
  • 布局优化,大量使用ConstraintLayout
  • 集成Bugly收集bug并实现App更新
  • 全局捕捉异常防止崩溃

APP下载

  • GitHub下载

  • fir.im下载

  • 扫码

应用截图





主要开源框架

  • 一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的框架-RxJava2
  • 一个依赖注入框架-Dagger2
  • 处理网络请求的框架-Okhttp
  • 一个基于OKHttp封装的网络加载框架-Retrofit
  • 转换json数据的官方框架-Gson
  • Android的事件发布-Eventbus
  • 项目核心库MVP框架-MVPArms
  • 屏幕适配AndroidAutoSize
  • 一个美丽的、流体和可扩展的对话框-Material-dialogs
  • 一个强大的Fragment管理库-Fragmentation
  • 一个增强BottomNavigationView的安卓库-BottomNavigationViewEx
  • 强大、可定制、易扩展的 ViewPager 指示器框架-MagicIndicator
  • 一个强大的轮播库-BGABanner-Android
  • 一个强大并且灵活的RecyclerViewAdapter-BaseRecyclerViewAdapterHelper
  • RecyclerView侧滑菜单,Item拖拽,滑动删除Item,自动加载更多,HeaderView,FooterView,Item分组黏贴-SwipeRecyclerView
  • 揭示效果布局-RevealLayout
  • 优雅地处理加载中,重试,无数据-Loadsir
  • 基于Android WebView的一个强大的库-Agentweb
  • Android流式布局-FlowLayout
  • 基于mmap内存映射的移动端通用 key-value 组件-MMKV
  • 全局捕捉异常防止崩溃-CustomActivityOnCrash

素材来源

  • 阿里巴巴矢量图标库
  • 借鉴了花瓣APP的登录页
  • goweii项目中的App图标

特别感谢

  • 感谢鸿洋大神提供的WanAndroid开放API,我在issues提了一些自己的需求,鸿神也耐心的帮忙添加了,谢谢

更新日志

v 1.0.6 (2019-10-9)

  • 1.添加广场功能
  • 2.自己的文章-删除、查询、添加
  • 3.可以查看他人的信息
  • 4.个人中心界面改版

v 1.0.5 (2019-9-28)

  • ???为祖国母亲庆生,添加国庆主题

v 1.0.4 (2019-9-25)

  • 1.修复bug体系-广场中的列表数据没有显示作者
  • 2.修复部分tab,标题,文本数据显示了网页标签bug
  • 3.修改体系中tab位置起始位左侧显示

v 1.0.3 (2019-9-11)

  • 1.修复部分手机登录注册返回主页后闪退的bug
  • 2.暂时去掉侧滑功能,现在输入法出现的黑屏不好看,后面解决后再加上侧滑功能
  • 3.添加全局捕捉异常库,防止崩溃
  • 4.修复Bugly上的bug

v 1.0.2 (2019-9-6)

  • 1.太粗心大意了,修复添加任务清单界面点击返回键无响应bug

v 1.0.1 (2019-9-6)

  • 1.修复开源项目界面点击返回无反应bug

v 1.0.0 (2019-9-5)

  • 首次提交,大致完成功能,但存在一些问题,后期慢慢解决吧
  • 1.因为侧滑返回库的原因导致输入法弹出出现黑屏,实在不行就换个其他的库了
  • 2.kotlin用的不是特别熟练,感觉很多地方还可以精简或者有其他更好的方案替代
  • 3.启动页因为考虑到要根据用户选择的主题色来动态显示,就没有设置纯色背景,所以会导致冷启动时会出现短暂白屏

License

Copyright 2019 hegaojianLicensed 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 athttp://www.apache.org/licenses/LICENSE-2.0Unless 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.

用Kotlin语言开发玩安卓,基于基于Material Design+AndroidX + MVP + RxJava + Retrofit等优秀的开源框架开发,注释超详细,方便大家练手相关推荐

  1. 一款在线视频 App,基于 Material Design + MVP + RxJava + Retrofit + Realm + Glide

    Ghost 项目地址:GeekGhost/Ghost 简介:一款在线视频 App,基于 Material Design + MVP + RxJava + Retrofit + Realm + Glid ...

  2. Win10基于python,spleeter 人声提取工具安装和使用(全网最全,超详细)

    Win10基于python,spleeter 音频分轨工具安装和使用(全网最全,超详细) 小声BB(不想看可直接跳到正片) 碎碎念(写给小白) 正片开始 说明 总体的框架 详细步骤 1.安装pytho ...

  3. 一款纯粹的在线视频App,基于Material Design + MVP + RxJava + Retrofit + Realm

    跟大家分享一款纯粹的在线视频App,目前项目中主要使用到的技术点有: 使用RxJava配合Retrofit2做网络请求 使用RxUtil对线程操作和网络请求结果处理做了封装 使用RxPresenter ...

  4. C语言编程学习:制作掷骰子小游戏!超适合新手的练手项目!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  5. Android Studio App开发之网络通信中使用POST方式调用HTTP接口实现应用更新功能(附源码 超详细必看)

    运行有问题或需要源码请点赞关注收藏后评论区留言~~~ 一.POST方式调用HTTP接口 POST方式把接口地址与请求报文分开,允许使用自定义的报文格式,由此扩大了该方式的应用场景.POST请求与GET ...

  6. thinkphp开发的小程序、公众号H5、浏览器端H5、前端vue框架开发

    需要程序代码的可以找我提供 用户端包含:小程序.公众号H5.浏览器端H5 序号 功能模块 简介 1 商品 商品分类 支持两级分类,分类可添加分类图标,可设置排序和是否显示,支持分类搜索. 2 商品管理 ...

  7. 10款最优秀的开源移动开发工具

    这几天工作在智能手机上已经变得非常普遍,每个组织都有自己的工作在智能手机或平板电脑上,开源社区在移动应用的成长中起着关键的作用.这里有一些应用程序来提高你的工作热情和创造力. 1.Convertigo ...

  8. Axure 安卓组件库 Material Design

    Material Design 是谷歌的出一套设计标准,今天发现了一套很好的组件库分享给大家. 这里可以看demo:https://www.pengdaiwu.com/material-design- ...

  9. Kotlin-Android开发之开源《新闻APP》基于MVP模式+Retrofit2.0+RxJava1.0+Dagger2框架

    前言:此项目是一个适合刚入门安卓开发的且熟悉Kotlin的练手小项目,基于<Kotlin-Android开发之MVP模式+Retrofit2.0+RxJava1.0+Dagger2框架封装> ...

最新文章

  1. 超全超实用的Javascript类库和jQuery插件大全之二:文字处理,表格和列表处理,实用......
  2. JSON数据格式必知
  3. 如果重力对人的意识有影响
  4. Lotus Notes基础知识
  5. php js 比较大小写,JavaScript中如何实现大小写转换
  6. mysql控制台增加一个用户_MySQL 纯命令行添加用户
  7. Chromium 操作系统即将支持所有 SBC 单板电脑
  8. spring-session + redis 实现集群 session 共享
  9. 借助Java 8和lambdas,可以一起使用AssertJ和Awaitility
  10. 关于AOP方面的设计 UML图
  11. 关于搭建Hybrid App所需要的基础技术一文
  12. 语音信号处理基础知识-常用特征及预处理
  13. 什么是TMD格式?TDM格式详细介绍
  14. Matlab——常用函数的用法总结(部分直接摘自mathwork,持续更新)
  15. 走进通信:为什么4G信号满格,却上不了网呢
  16. 【渝粤教育】广东开放大学 计算机导论 形成性考核 (51)
  17. 抖音运营规则讲解系列(4):涉嫌药物,刀具器械被封丨国仁网络
  18. python数据分析有前景吗_数据分析师是否有前途
  19. 【Springboot学习】SpringBoot集成Shiro前后端分离使用redis做缓存【个人博客搭建】
  20. GitLab默认仓库存储目录更换及项目迁移 GitLab跨服务器数据迁移

热门文章

  1. 海睿思分享 | ChatGPT梦幻联动,解锁企业数字化转型新可能
  2. 如何安装vue脚手架
  3. css中.prepend,js prepend() 和append()区别
  4. Locust安装及实战
  5. online learning笔记
  6. python朋友圈头像_Python拼接微信好友头像大图的实现方法
  7. Java基础面试题(1)
  8. “王者荣耀”中的常用英语
  9. 少年班神童今何在:牛人辈出,“让他们按常规读书才是摧残”
  10. Unity游戏文本自动化生成脚本工具-姜雪伟-专题视频课程