一个可以在线看番的 Android App
Kotlin 搭配 Jetpack
Compose,遵循了官方指南中的“
现代 Android 应用架构
”最佳实践。同时,为尽可能地提高用户体验,Neko Anime 在 UI/UX 设计上广泛借鉴了相关优秀 app。
App 的开发仍在进行中 🚧,但是版本迭代可能会比较慢,可在 GitHub
上
⬇️下载最新版本
,最新的代码可在
dev
分支上查看。
这个项目最初是为了学习 Android 开发而诞生的,后续的更新和维护就靠爱发电了😋,如果有什么功能或者技术上的好建议,欢迎在
Issues
中讨论
☺️
。
海量番剧在线观看,无任何广告
丰富的搜索和分类检索功能,快速找到你想要观看的番剧
新番动态展示,以及每日更新表
一键追番,收藏你喜爱的番剧
本地观看历史,以及播放进度记忆
参考了
官方指南
,并借鉴了项目
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
进度条被拖拽时自动消失的问题
支持长按倍速播放和滑动改变播放进度
#15
添加无结果页(搜索、历史记录、追番列表)
改进视频源获取方式,提高视频加载速度
#12
压缩资源体积,提升 App 整体性能
进入时间表页面发生崩溃
#13
改进播放器控件 UI
升级部分依赖项
重构播放页模块
此版本未在平板或折叠屏设备进行充分测试
折叠屏用户若进入播放页异常,可尝试打开 “允许在竖屏状态下全屏播放” 选项
优化自动旋转,修复若干问题
增加“我的”->“禁用横屏模式”配置选项
增加“我的”->“允许在竖屏状态下全屏播放”配置选项
优化平板/宽屏 UI 显示
更新轮播图内容(为了更好的视觉体验,暂且在宽屏状态下隐藏)
更新视频源域名
崩溃提示对话框,可通过“我的”->"问题反馈"访问 GitHub Issues
适配 Android 10
升级部分依赖
自动检查更新,直达新版下载地址
时间表筛选番剧
清空观看历史
清除番剧数据缓存
播放器全屏状态下进行选集
直达 GitHub 仓库
优化播放器控件交互
更新视频源域名
修复番剧集数加载错乱的问题
缩减安装包体积 (50% ↓)
播放页动漫信息不更新的问题
支持 Android 11
在搜索结果页使用系统返回键只会返回到历史搜索页
视频源
www.yinghuacd.com
无法使用的问题
视频源 m.yhdmz2.com 偶尔不可用的问题
App 直接退出导致播放记录无法保存的问题
获取番剧信息时的集数解析问题
图片加载失败显示占位图
时间表页若数据获取异常给予反馈
播放界面番剧信息展示布局
“时间表”和“我的”界面背景色
启动屏滞留时间过短
网络不可用时 Snackbar 不弹出
番剧播放界面的系统状态栏外观问题
获取番剧信息时,图片地址识别问题
播放器播放状态改变问题
第一个发布版本,大多数功能基本实现
待实现功能包括但不限于,番剧下载、明亮/暗黑模式切换、个性化番剧推荐、触摸滑动改变播放时间条。
番剧数据来源是什么?怎么获取番剧列表和视频地址的?
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
此软件所展示的所有内容均来自互联网。
此软件只提供服务,不存储、不制作任何数据内容,不承担任何由于内容的合法性及健康性所引起的争议和法律责任。
若此软件收录的内容侵犯了您的权益,请联系邮箱
[email protected]
。
此软件仅可用作学习交流,不得用于商业用途。