Skip to content

🔥 基于Kotlin+MVP+Retrofit+RxJava+Glide 等架构实现短视频类小项目,简约风格及详细注释,欢迎 star or fork!

License

Notifications You must be signed in to change notification settings

git-xuhao/KotlinMvp

Repository files navigation

KotlinMvp

Build Status CircleCI API Codacy Badge License

【由于个人原因该项目停止维护,目前 api 可以使用,可自行clone 进行二次开发、开源、感谢支持】

English Document

这里写图片描述

(开源不易,如果喜欢的话希望给个小星星,谢谢~)

《KotlinMvp》 是仿着“开眼Eyepetizer”之前版本并加上自己的想法,开发的一款的短视频小应用,每日为你推荐精选视频,让你大开眼界。本项目采用 Kotlin 语言编写,结合 MVP+RxJava2+Retrofit2+Glide等的架构设计,学习 Kotlin 利用空余时间开发的一款小项目,代码结构清晰有详细注释,如有任何疑问和建议请提 Issue或联系

前言

前段时间学习了 Kotlin 的一些语法,然后就写了这个项目熟悉一下 Android的官方语言,总体下来,感觉比较爽,相比 Java 而言源代码行数有所减少、方法数也有所减少。

Kotlin 团队为 Android 开发提供了一套超越标准语言功能的工具:

  • Kotlin Android 扩展是一个编译器扩展, 可以让你摆脱代码中的 findViewById() 调用,并将其替换为合成的编译器生成的属性。
  • Anko 是一个提供围绕 Android API 的 Kotlin 友好的包装器的库 ,以及一个可以用 Kotlin 代码替换布局 .xml 文件的 DSL。

项目截图

  • 截图

  • gif

下载体验

点击 或者扫描下方二维码

(下方二维码,每日上限100次,如达到上限,还是 clone 源码吧!✧(≖ ◡ ≖✿))

图片名称

技术要点

主要使用的第三方开源框架有:

模块说明:

  • 每日精选: 首页采用下拉刷新+RecyclerView 实现,Banner展示每日精选推荐的视频,监听 RecyclerView 的滑动事件,实现 TitleBar 的隐藏显示功能,底部菜单采用高斯模糊的半透明效果,使整个 APP 风格更加清爽。
  • 发现: 包括关注和分类模块,关注是推荐的作者上传的视频集,分类包括时尚、运动、创意、广告、音乐、旅行、生活、记录、开胃、游戏、萌宠、动画、综艺、搞笑等可自由选择想查看的类型视频。
  • 热门: 热门排行榜包括周排行、月排行、总排行的视频列表。
  • 搜索: 根据关键字搜索榜你找到感兴趣的视频。
  • 我的: 个人主页的相关介绍。
  • 观看记录: 查看之前看过的视频,按时间进行排序。

更新日志

最新记录请点击查看

v1.3.0

  • Kotlin版本升级,优化 kotlin 用法;
  • 修复分类详情老接口不能使用问题(原 api 有改动);
  • 优化代码;

v1.1

  • 去除无用代码,添加观看记录功能。

v1.0

  • 初始化版本,主要功能已经完成。

关于我

Thanks

  • 感谢所有优秀的开源项目

声明

项目中的 API 均来自开眼视频,纯属学习交流使用,不得用于商业用途!

LICENSE

Copyright 2017 Xiho

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.