# myapp **Repository Path**: cxyqzy/myapp ## Basic Information - **Project Name**: myapp - **Description**: 安卓项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-09-05 - **Last Updated**: 2025-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # myapp安卓视频动态App说明文档 ## 一、项目介绍 myapp是一款专注于视频动态内容展示的安卓应用,支持视频播放、分类浏览、个性换肤等核心功能,同时新增了“小姐姐随机视频”“一言短句”等特色模块,为用户提供丰富的视听体验。 ## 二、软件架构 ### 技术栈组成 - **前端**:采用 Java 语言开发安卓原生应用,遵循安卓开发规范构建交互界面与业务逻辑。 - **后端**:基于 Spring Boot 框架搭建接口服务,提供稳定的数据流交互能力。 - **数据库**:采用 MySQL + MongoDB 双数据库架构,分别存储结构化业务数据(如用户信息、视频分类)与非结构化视频相关数据(如视频元信息)。 ## 三、功能优化说明 相较于参考源码,本项目主要做了以下增强与完善: 1. **新增特色功能** - 「小姐姐随机视频」模块:接入第三方接口,支持随机加载趣味视频内容。 - 「一言短句」功能:集成朋友圈文案接口,提供多样化文案素材。 2. **完善核心功能** - 优化「一键换肤」:修复源码中换肤逻辑漏洞,支持更流畅的主题切换体验。 - 新增「视频检索接口」:支持按分类检索视频,提升内容查找效率。 3. **后端框架复用**:沿用参考源码的 Renren-Fast 后端框架,降低开发成本的同时保证接口稳定性。 ## 四、运行环境要求 ### 1. 基础环境 - JDK 版本:1.8 及以上(需配置好环境变量)。 ### 2. 数据库配置 | 数据库类型 | 版本要求 | 配置信息 | |------------|----------|----------| | MySQL | 8.0 版本 | 数据库名:`myapp`,默认账号:`root`,默认密码:`123456` | | MongoDB | 无特定版本限制 | 数据库名:`myapp`,核心集合(Collection):`video`(存储视频相关数据) | ## 五、问题说明与解决方案 ### 1. 数据库相关问题 - **数据有效性问题**:参考源码中的部分测试数据已失效,可能导致接口返回异常。 - **接口依赖问题**:若代码中未实现“点赞、评论”相关业务逻辑,仅调用基础数据接口(如视频列表、分类)可正常使用;若涉及视频详情接口(`video` 接口)超时,需优先确保 MongoDB 数据库已正确配置并启动(视频核心数据依赖 MongoDB 存储)。 ### 2. MongoDB 数据导入步骤 1. 启动 MongoDB 服务后,通过命令行进入 MongoDB 终端。 2. 执行 `use myapp` 命令,创建并切换至 `myapp` 数据库。 3. 将参考源码或本项目提供的 TXT 格式数据文件直接导入 `video` 集合,完成数据初始化。 ## 六、依赖开源框架 项目开发过程中,集成了以下成熟开源框架以提升开发效率: | 框架名称 | 功能用途 | 开源地址 | |----------|----------|----------| | FlycoTabLayout | 高性能标签页(Tab)控件,用于实现视频分类切换界面 | [GitHub](https://github.com/H07000223/FlycoTabLayout) | | SmartRefreshLayout | 智能下拉刷新/上拉加载控件,优化视频列表滚动体验 | [Gitee](https://gitee.com/scwang90/SmartRefreshLayout) | | DKVideoPlayer | 轻量级安卓视频播放器,支持多种格式与播放控制 | [GitHub](https://github.com/Doikki/DKVideoPlayer) | | ButterKnife | View 注入框架,简化控件绑定代码(无需重复编写 `findViewById`) | [GitHub](https://github.com/JakeWharton/butterknife) | | Android-skin-support | 安卓换肤框架,实现“一键换肤”核心功能 | [GitHub](https://github.com/ximsfei/Android-skin-support) | ## 七、接口请求地址 ### 1. 基础配置 - **内网接口根地址**:`https://unboring-qiana-pietistical.ngrok-free.app/renren-fast` - **分页参数**:默认一页显示 5 条数据(`LIMIT=5`),分类页一页显示 4 条数据(`LIMIT_Page=4`)。 ### 2. 核心业务接口 | 接口功能 | 接口路径 | 备注 | |----------|----------|------| | 用户登录 | `/app/login` | 需传入账号、密码参数 | | 用户注册 | `/app/register` | 需传入注册信息(用户名、密码等) | | 视频列表(全部) | `/app/videolist/list` | 返回所有视频的分页数据 | | 视频列表(按分类) | `/app/videolist/getListByCategoryId` | 需传入分类 ID 参数 | | 视频分类列表 | `/app/videocategory/list` | 返回所有视频分类数据 | | 文章列表 | `/app/news/api/list` | 返回图文资讯分页数据 | | 点赞/收藏操作 | `/app/videolist/updateCount` | 需传入视频 ID 与操作类型(点赞/收藏) | | 我的收藏列表 | `/app/videolist/mycollect` | 返回当前用户收藏的视频 | | 朋友圈文案 | `https://whyta.cn/api/tx/pyqwenan?key=` | 需拼接固定 Token:`738b541a5f7a` | | 小姐姐随机视频 | `https://api.mmp.cc/api/ksvideo?type=json&id=jk` | 第三方接口,返回随机视频链接 | ## 八、资源说明 - **代码资源**:仓库中包含完整的安卓端(App)源代码,可直接导入 Android Studio 编译运行。 - **音视频存储**:所有音视频资源均存储于七牛云对象存储服务,若出现视频无法播放(提示“过期”),可直接在 MySQL 数据库的 `video_list` 表中修改对应视频的存储链接。 ![首页](https://foruda.gitee.com/images/1758183029441242985/0f1b7800_10446759.png "屏幕截图") ![资讯](https://foruda.gitee.com/images/1758183062983517497/5fb25406_10446759.png "屏幕截图") ![小视频](https://foruda.gitee.com/images/1758183085418527677/de2acb2b_10446759.png "屏幕截图") ![我的界面](https://foruda.gitee.com/images/1758183102114744625/1f6dee44_10446759.png "屏幕截图") ![视频搜索界面](https://foruda.gitee.com/images/1758183139924102331/05bbb3a3_10446759.png "屏幕截图") ## 九、项目总结 ### 1. 学习与上手难度 本项目整体技术栈清晰,核心业务逻辑与参考源码保持一致,适合安卓初学者或有基础的开发者学习。只要按照开发文档逐步配置环境、调试接口,即可顺利实现全部功能。 ### 2. 依赖管理说明 项目中所有第三方依赖(如上述开源框架)均已在 Gradle 配置文件(`build.gradle`)中明确声明,编译时会自动下载所需依赖包,无需手动配置。