Aniyomi
全功能播放器和阅读器,基于Mihon开发
在Android设备上比以往更轻松地发现和观看动漫、卡通、剧集等内容。
功能特性
- 本地内容管理:支持本地阅读和观看内容
- 高度可配置的阅读器:提供多种阅读器视图、阅读方向和其他设置选项
- 强大的播放器:基于mpv-android构建,提供多种配置选项和设置
- 追番跟踪支持:集成MyAnimeList、AniList、Kitsu、MangaUpdates、Shikimori、Simkl和Bangumi等主流追番平台
- 智能内容组织:使用分类管理您的媒体库
- 主题个性化:支持浅色和深色主题
- 自动更新:定时检查媒体库中的新章节和剧集
- 备份功能:支持本地备份和云端服务备份,便于离线观看
- 丰富的扩展功能:持续更新,提供更多实用特性
安装指南
系统要求:Android 8.0 或更高版本
下载方式
从官方发布页面下载最新版本的APK文件进行安装。
开发环境搭建
如需参与开发,需要准备以下工具:
- Android Studio
- 模拟器或已开启开发者选项的测试设备
- 基本的Android开发和Kotlin编程知识
使用说明
基础使用
安装完成后,您可以:
- 添加内容源并浏览动漫、剧集
- 将感兴趣的内容添加到媒体库
- 配置个性化的阅读和观看设置
- 使用追番功能同步观看进度
播放器设置
最新版本(v0.18.1.0)已将播放器设置整合到主设置界面,方便用户快速调整播放参数。
季节支持
新增季节分类功能,更好地组织和管理系列内容。
核心代码
播放器配置集成
/*** 将播放器设置集成到主设置界面* 版本v0.18.1.0新增功能*/
class PlayerSettingsFragment : PreferenceFragmentCompat() {override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {setPreferencesFromResource(R.xml.player_preferences, rootKey)// 配置MPV播放器参数setupMpvPreferences()}private fun setupMpvPreferences() {// 设置媒体标题属性findPreference<Preference>("media_title")?.let {it.setOnPreferenceChangeListener { _, newValue ->// 更新MPV的media-title属性updateMpvConfiguration("media-title", newValue.toString())true}}}
}
剧集解析优化
/*** 修复剧集编号解析问题* 版本v0.18.1.0修复内容*/
object EpisodeParser {/*** 从多种格式中解析剧集编号* 支持: "EP 12", "第12话", "Episode 12" 等格式*/fun parseEpisodeNumber(title: String): Int? {val patterns = listOf(Regex("""EP?\s*(\d+)""", RegexOption.IGNORE_CASE),Regex("""第\s*(\d+)\s*话"""),Regex("""Episode\s*(\d+)""", RegexOption.IGNORE_CASE),Regex("""\b(\d+)\b"""))patterns.forEach { pattern ->pattern.find(title)?.groups?.get(1)?.value?.toIntOrNull()?.let {return it}}return null}
}
列表视图滚动状态保持
/*** 修复子页面退出时列表视图滚动位置重置问题* 版本v0.18.1.0修复内容*/
class LibraryListFragment : Fragment() {private var scrollState: Int = 0override fun onPause() {super.onPause()// 保存当前滚动位置recyclerView?.layoutManager?.let {if (it is LinearLayoutManager) {scrollState = it.findFirstVisibleItemPosition()}}}override fun onResume() {super.onResume()// 恢复保存的滚动位置if (scrollState > 0) {recyclerView?.layoutManager?.scrollToPosition(scrollState)}}
}
备份系统兼容性
/*** 修复Aniyomi与Mihon之间的备份创建和恢复兼容性问题* 版本v0.18.1.0修复内容*/
object BackupManager {/*** 创建跨平台兼容的备份文件*/fun createCompatibleBackup(context: Context): File {val backupFile = createBackupFile(context)// 添加版本兼容性信息addCompatibilityHeaders(backupFile)// 转换数据格式以确保跨平台兼容convertDataForCrossPlatform(backupFile)return backupFile}private fun addCompatibilityHeaders(file: File) {// 添加识别头信息,确保Mihon和Aniyomi都能正确识别备份文件file.appendText("backup_format: aniyomi_mihon_compatible_v2\n")}
}
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码
公众号二维码