2026-01-08 18:41:07 +08:00
2026-01-28 18:43:36 +08:00
2025-11-18 19:39:16 +08:00
2025-10-27 20:09:12 +08:00
2025-11-08 17:45:45 +08:00
pk
2025-11-06 11:53:23 +08:00
2026-01-26 10:29:18 +08:00
pk
2025-11-06 11:53:23 +08:00
2025-12-02 19:35:18 +08:00
2026-01-28 18:43:36 +08:00
2025-10-20 10:16:44 +08:00
2025-10-20 10:16:44 +08:00
2025-10-24 17:55:15 +08:00
2026-03-10 10:38:32 +08:00
2025-12-23 18:20:25 +08:00

羽声语音项目文档

项目概述

羽声语音是一款基于Android平台的语音社交应用支持实时语音通信、多人语音聊天等功能。项目采用模块化架构设计便于功能扩展和维护。

项目结构

yusheng_new/
├── app/                    # 主应用模块
├── BaseModule/            # 基础功能模块
├── MainModule/            # 主要功能模块
├── timcommon/             # 腾讯云IM通用组件
├── tuichat/               # 腾讯云IM聊天组件
├── tuiconversation/       # 腾讯云IM会话组件
├── tuicore/               # 腾讯云IM核心组件
├── animplayer/            # 动画播放组件
├── appupdate/             # 应用更新模块
├── locktableview/         # 锁定表格视图组件
├── moduletablayout/       # 自定义Tab布局组件
└── Loadinglibrary/        # 加载动画库

MainModule 详细说明

MainModule 是项目的核心功能模块包含了应用的主要业务逻辑和界面实现。该模块采用MVP架构模式结合Kotlin和Java混合开发实现了丰富的社交和语音功能。

核心架构

  • 基础类:

    • BaseMvpActivity.java: MVP架构的基础Activity类提供Presenter绑定和生命周期管理
    • Application.kt: 全局应用程序类,负责初始化各种服务和全局配置
  • 功能模块:

    • activity/: 包含所有主要活动的实现
    • adapter/: 列表适配器实现
    • bean/: 数据模型类
    • dialog/: 对话框实现
    • manager/: 各种管理器类
    • model/: 数据模型层
    • service/: 服务实现
    • utils/: 工具类
    • view/: 自定义视图组件
    • widget/: 自定义UI控件

主要功能

1. 房间系统 (activity/room/)

房间系统是应用的核心功能,提供语音聊天室功能:

  • RoomActivity.kt: 房间主界面,实现语音聊天、麦序管理、礼物互动等功能
  • PopularRoomActivity.java: 热门房间列表
  • RankingListActivity.java: 排行榜页面
  • RedResultActivity.java: 红包结果页面
  • SearchActivity.java: 房间搜索功能

房间功能包括:

  • 实时语音通信
  • 麦序管理(上麦、下麦、抱麦等)
  • 礼物系统(赠送、接收、礼物特效)
  • PK对战功能
  • 红包功能
  • 点歌系统
  • 聊天室互动

2. 用户系统 (activity/user/)

用户系统管理用户信息和相关功能:

  • 用户资料编辑
  • 个人主页
  • 钱包与充值
  • 任务系统
  • 贵族体系

3. 消息系统 (activity/msg/)

消息系统处理应用内的各种通知和消息:

  • 系统通知
  • 官方公告
  • 消息提醒设置

4. 登录系统 (activity/login/)

处理用户登录、注册和认证:

  • 登录界面
  • 注册流程
  • 实名认证
  • 密码找回

5. 主页系统 (activity/main/)

应用主页和相关功能:

  • 主页界面
  • 推荐内容
  • 发现功能

6. 广场系统 (activity/plaza/)

社交广场功能:

  • 动态发布
  • 动态浏览
  • 互动评论

技术特点

  1. 混合开发: 结合Kotlin和Java开发充分利用两种语言的优势
  2. MVP架构: 采用MVP设计模式分离视图、模型和展示逻辑
  3. 模块化设计: 功能模块清晰划分,便于维护和扩展
  4. 路由管理: 使用ARouter实现模块间导航和通信
  5. 数据绑定: 使用DataBinding和ViewBinding简化UI操作
  6. 实时通信: 集成腾讯云IM SDK实现即时通讯
  7. 动画效果: 丰富的动画和过渡效果提升用户体验

关键组件

  1. RoomManager: 房间管理器,处理房间创建、加入、退出等操作
  2. TimerManager: 计时器管理,处理各种倒计时和定时任务
  3. WheatLayoutSingManager: 麦序管理器,处理语音房间的麦序逻辑
  4. 自定义对话框: 丰富的对话框组件,如礼物对话框、设置对话框等

资源文件

MainModule包含丰富的资源文件

  • 布局文件: 100+个XML布局文件涵盖所有界面
  • drawable资源: 各种形状、选择器和图标资源
  • 动画资源: 各种动画效果定义
  • 字体资源: 自定义字体文件

依赖关系

MainModule依赖以下模块

  • BaseModule: 基础功能支持
  • timcommon: 腾讯云IM通用组件
  • tuichat: 腾讯云IM聊天组件
  • tuiconversation: 腾讯云IM会话组件
  • appupdate: 应用更新功能
  • locktableview: 自定义表格视图

配置信息

  • 命名空间: com.xscm.modulemain
  • 最低SDK: 24
  • 目标SDK: 35
  • 编译SDK: 35
  • Java版本: 17
  • Kotlin JVM目标: 11
  • 启用功能: DataBinding, ViewBinding

技术栈

  • 开发语言: Java、Kotlin
  • 最低支持版本: Android 7.0 (API 24)
  • 目标版本: Android 13 (API 33)
  • 编译版本: Android 14 (API 35)
  • 架构: 模块化架构使用ARouter进行路由管理
  • UI框架: DataBinding、ViewBinding
  • 依赖管理: Gradle

主要功能模块

1. 语音通信

  • 实时语音通话
  • 多人语音聊天室
  • 语音消息处理

2. 即时通讯

  • 集成腾讯云IM SDK
  • 单聊功能
  • 群聊功能
  • 会话管理

3. 用户认证

  • 人脸识别认证集成腾讯云人脸识别SDK
  • 账号注册与登录
  • 用户信息管理

4. 应用更新

  • 自动检测更新
  • 版本管理
  • 安装包下载与安装

构建配置

项目支持以下构建变体:

  1. 正式版 (releas)

    • 应用名称: 羽声语音
    • 包名: com.qxcm.qxlive
    • 签名: 使用release签名配置
  2. 测试版 (beta)

    • 应用名称: 羽声-测试版
    • 包名: com.qxcm.qxlive.beta
    • 签名: 使用debug签名配置

签名配置

  • 调试签名: my-release-key.jks

    • 密码: 123456
    • 别名: mykey
    • 别名密码: 123456
  • 发布签名: midi.jks

    • 密码: 未在配置文件中显示

依赖库

主要依赖包括:

  • AndroidX基础库
  • Material Design组件
  • 腾讯云IM SDK
  • 腾讯云人脸识别SDK
  • ARouter路由框架
  • 权限管理库(PermissionX)

构建说明

  1. 克隆项目到本地
  2. 确保Android Studio版本兼容
  3. 使用Gradle同步项目
  4. 选择构建变体(releas或beta)
  5. 运行或构建应用

版本信息

版本号通过gradle.properties配置

  • 版本代码: APP_VERSION_CODE
  • 版本名称: APP_VERSION_NAME

注意事项

  1. 项目使用了混淆,发布版本会进行代码混淆
  2. 支持的CPU架构: arm64-v8a, armeabi-v7a
  3. 使用了DataBinding和ViewBinding技术
  4. 集成了ARouter进行模块间通信

许可证

本项目未指定许可证,请联系项目所有者获取更多信息。

Description
No description provided
Readme 605 MiB
2025-08-11 17:21:46 +08:00
Languages
Java 99.7%
Kotlin 0.3%