Skip to content

一个动漫番剧 Android App,使用 Jetpack Compose 构建.

License

Notifications You must be signed in to change notification settings

xioneko/neko-anime

Repository files navigation

Neko Anime

一个可以在线看番的 Android App

Android Release Downloads Powered-by License

介绍

Neko Anime 使用樱花动漫 🌸 作为数据源,灵感来源于项目 Imomoe。技术栈方面采用了 Kotlin 搭配 Jetpack Compose,遵循了官方指南中的“现代 Android 应用架构 ”最佳实践。同时,为尽可能地提高用户体验,Neko Anime 在 UI/UX 设计上广泛借鉴了相关优秀 app。

App 的开发仍在进行中 🚧,但是版本迭代可能会比较慢,可在 GitHub 上 ⬇️下载最新版本 ,最新的代码可在 dev 分支上查看。

这个项目最初是为了学习 Android 开发而诞生的,后续的更新和维护就靠爱发电了😋,如果有什么功能或者技术上的好建议,欢迎在 Issues 中讨论☺️

功能特色

  • 海量番剧在线观看,无任何广告
  • 丰富的搜索和分类检索功能,快速找到你想要观看的番剧
  • 新番动态展示,以及每日更新表
  • 一键追番,收藏你喜爱的番剧
  • 本地观看历史,以及播放进度记忆
  • ...

应用截图

首页 搜索 分类 播放 时间表
Home Search Category Player Schedule

技术特性

  • 参考了官方指南,并借鉴了项目 nowinandroid 的架构设计,UI Layer、Domain Layer 和 Data Layer 三层分离。
  • Data Layer 层使用了 Room (database)、Retrofit (http client)、jsoup (HTML 解析器)、jetpack datastore (数据存储)、kotlinx-serialization (数据结构化/序列化) 以及 store5 (“离线优先”解决方案)
  • UI Layer 层基于 Jetpack Compose,使用了 media3 (视频播放器)、coil (图片异步加载) 和 lottie-compose (矢量图形动画),并在 Accompanist 的支持下实现了 navigation compose 动画以及对 Systerm UI 的控制
  • 使用 Hilt 实现依赖注入
  • ...

构建

  • Android Studio Flamingo | 2023.3.1
  • compileSdk 34
  • Gradle JDK 17

更新日志

v0.3.1 (2024-5-20)

缺陷修复

  • 进度条被拖拽时自动消失的问题

v0.3.0 (2024-5-5)

新增功能

  • 支持长按倍速播放和滑动改变播放进度 #15
  • 添加无结果页(搜索、历史记录、追番列表)

改进功能

  • 改进视频源获取方式,提高视频加载速度 #12
  • 压缩资源体积,提升 App 整体性能

缺陷修复

  • 进入时间表页面发生崩溃 #13

界面美化

  • 改进播放器控件 UI

开发重构

  • 升级部分依赖项
  • 重构播放页模块

版本备注

  • 此版本未在平板或折叠屏设备进行充分测试
  • 折叠屏用户若进入播放页异常,可尝试打开 “允许在竖屏状态下全屏播放” 选项

v0.2.1 (2023-9-17)

改进功能

  • 优化自动旋转,修复若干问题
  • 增加“我的”->“禁用横屏模式”配置选项
  • 增加“我的”->“允许在竖屏状态下全屏播放”配置选项

界面优化

  • 优化平板/宽屏 UI 显示
  • 更新轮播图内容(为了更好的视觉体验,暂且在宽屏状态下隐藏)

缺陷修复

  • 更新视频源域名
  • 崩溃提示对话框,可通过“我的”->"问题反馈"访问 GitHub Issues

开发重构

  • 适配 Android 10
  • 升级部分依赖

v0.2.0 (2023-7-20)

新增功能

  • 自动检查更新,直达新版下载地址
  • 时间表筛选番剧
  • 清空观看历史
  • 清除番剧数据缓存
  • 播放器全屏状态下进行选集
  • 直达 GitHub 仓库

界面优化

  • 优化播放器控件交互

缺陷修复

  • 更新视频源域名
  • 修复番剧集数加载错乱的问题

开发重构

  • 缩减安装包体积 (50% ↓)

v0.1.3 (2023-6-13)

缺陷修复

  • 播放页动漫信息不更新的问题

v0.1.2 (2023-6-6)

改进功能

  • 支持 Android 11
  • 在搜索结果页使用系统返回键只会返回到历史搜索页

缺陷修复

  • 视频源 www.yinghuacd.com 无法使用的问题
  • 视频源 m.yhdmz2.com 偶尔不可用的问题
  • App 直接退出导致播放记录无法保存的问题
  • 获取番剧信息时的集数解析问题

v0.1.1 (2023-5-27)

改进功能

  • 图片加载失败显示占位图
  • 时间表页若数据获取异常给予反馈

界面优化

  • 播放界面番剧信息展示布局
  • “时间表”和“我的”界面背景色

缺陷修复

  • 启动屏滞留时间过短
  • 网络不可用时 Snackbar 不弹出
  • 番剧播放界面的系统状态栏外观问题
  • 获取番剧信息时,图片地址识别问题
  • 播放器播放状态改变问题

v0.1.0 (2023-5-24)

  • 第一个发布版本,大多数功能基本实现
  • 待实现功能包括但不限于,番剧下载、明亮/暗黑模式切换、个性化番剧推荐、触摸滑动改变播放时间条。

FAQ

  • 番剧数据来源是什么?怎么获取番剧列表和视频地址的?

    NekoAnime (v0.3.0+) 目前仅有一个番剧数据源 https://www.yhmgo.com/, 番剧信息通过 HTTP 请求 + HTML 解析获取,视频地址的获取方式在老版本(v0.2.x 及以下)中采用的是 WebView,从 v0.3.0 版本开始直接通过 HTTP 获取(感谢 @hehe1005566889 提供的思路),具体代码实现见 <番剧信息> 和 <视频地址>

许可证

GNU General Public License v3.0

免责声明

  1. 此软件所展示的所有内容均来自互联网。
  2. 此软件只提供服务,不存储、不制作任何数据内容,不承担任何由于内容的合法性及健康性所引起的争议和法律责任。
  3. 若此软件收录的内容侵犯了您的权益,请联系邮箱 [email protected]
  4. 此软件仅可用作学习交流,不得用于商业用途。