程序聚合 软件案例 舞萌查分系统-maimaiCheck

舞萌查分系统-maimaiCheck

2026-03-28 18:36:35
行业:游戏/电竞
载体:安卓APP
技术:Kotlin、Gradle、Microsoft Cognitive Toolkit (CNTK)

业务和功能介绍



1. 立项背景和目标
背景:舞萌DX官方无成绩查询系统,现有网页查分器操作繁琐、体验不佳。
目标:开发原生Android查分器,让玩家快速查询成绩,清晰展示Rating和Best 50数据。
2. 核心功能模块
模块 功能
玩家查询 输入玩家名,调用水鱼API获取数据
状态管理 管理空闲/加载/成功/错误四种UI状态
信息展示 展示玩家Rating、额外Rating
成绩列表 展示DX/SD谱面Best 50,含评级、达成率、定数等
错误处理 网络异常、玩家不存在等友好提示
3. 业务流程
text
启动 → 输入玩家名 → 点击查询

加载中...

├─ 成功 → 显示玩家信息 + 成绩列表
└─ 失败 → 显示错误提示 → 重新查询

项目实现

1. 整体架构和设计思路
采用 MVVM架构,分为三层:
View层:Jetpack Compose + Material 3,负责UI渲染和用户交互
ViewModel层:AndroidX ViewModel + 协程,负责状态管理和业务逻辑
网络层:Retrofit + Gson,负责API调用和JSON解析
使用密封类定义空闲、加载中、成功、错误四种UI状态,实现单向数据流。成绩列表使用LazyColumn懒加载优化性能。
2.我的负责模块和结果
本人独立完成全部开发工作:
数据模型:定义PlayerData、Charts、ScoreRecord三个数据类,覆盖14个字段
网络请求:配置Retrofit客户端,实现API接口,设置30秒超时
状态管理:实现UiState密封类和ViewModel,管理四种状态切换
UI构建:开发搜索框、玩家卡片、成绩列表、加载动画、错误提示等6个界面组件
错误处理:封装HTTP异常、网络断开、超时等5种错误类型的统一处理
单元测试:编写4个测试用例,全部通过
项目成果:完成功能完整的Android查分器,代码约400行,运行稳定。
3.我遇到的难点和解决方案
协程测试失败:在编写单元测试时,网络请求是异步执行的,断言执行时协程还未完成,导致测试总是失败。解决方案是使用协程测试库中的 runTest 配合 advanceUntilIdle 方法,等待所有协程执行完毕后再进行断言,确保测试结果正确。
@Composable注解编译错误:定义颜色函数时内部使用了 MaterialTheme,但函数本身未标记 @Composable 注解,导致编译报错。考虑到这些函数只需要返回固定颜色值,不需要依赖Compose上下文,因此将函数改为普通函数,直接返回十六进制颜色值,问题解决。

HTTP 400错误排查:查询玩家名时始终返回400错误,最初以为是代码问题,排查了请求头、请求体格式等多个方面。后来发现是因为该玩家名未在水鱼查分器官网绑定账号,API返回的400实际上是“玩家不存在”的含义。解决方案是在错误处理中增加对400状态码的特殊处理,给出“未找到玩家,请确认玩家名是否正确或是否已绑定”的友好提示。
包名不一致导致编译失败:测试文件和主代码文件的包名不一致,导致编译时找不到相关类。解决方案是统一所有文件的包名为 com.example.mamaicheck,确保代码能够正确引用。
成绩列表滚动卡顿:最初使用Column垂直排列所有成绩条目,当成绩数量较多时界面滚动出现明显卡顿。改用LazyColumn懒加载列表后,只渲染可见区域的条目,滚动流畅度大幅提升。

示例图片视频


西瓜
30天前活跃
方向: 移动端-安卓、
交付率:100.00%
相似推荐
聚合支付系统
该项目是通过对接不同的上游支付渠道,封装被扫/主扫支付、订单查询、支付异步回调、退款等全套HTTP接口。映射出不同的支付场景,例如POS机收款、商店收款码、商户收银插件、微信公众号、微信小程序等 商户进件成功后可以建立不同的门店,门店下可以新增店长店员。门店收载后店长可以查询门店交易信息,商户可以查询所有门店交易信息等等
量化
核心要解决的是加密货币量化交易的痛点: 人工盯盘不可持续 — 7×24 小时行情,人不可能实时做技术指标计算 + 风控 + 下单。 策略无法自动进化 — 传统量化策略写死参数后不会自我迭代。 赛道:加密货币衍生品 三模式运行:read_only(只读模拟)/ demo(模拟盘,自动加 x-simulated-trading)/ live(实盘,强制过安全检查清单)。
内部-宁波银行对公营销决策系统
该项目是宁波银行自己的名为星云平台中的脚手架搭建的微服务项目,本系统包含7个微服务分别 是:数据集服务、标签服务、客户群服务、决策服务、触点服务、事件服务、工单服务。整体是的数据集跑批到每个标签,客户群中配置每个客户群所包含的标签,用户主要在决策的画布中配置营销模型,包含决策所属的客户群,发放的权益种类、发放的时间和频率、发放后续的处理。主要用于银行在做一些业务推广时,需要通过发奖的方式达到宣传效果。会针对不同权益奖品所用到的不同的发放规则,发放客户群,发放时机落地到每一个策略中,以达到业务需求。
C++高性能量化回测系统-QuantPilot
面向个人投资者的A股策略回测平台,解决"策略上线前无法验证"的痛点。 核心功能:①双均线、动量、网格三类内置策略模板,支持参数化配置;②基于真实历史行情的逐笔撮合回测引擎;③收益曲线、最大回撤、夏普比率等绩效指标自动计算与可视化报告。使用流程:导入行情数据→选择策略配置参数→运行回测→查看绩效报告,全程无需编程基础。
某金融风控和模型系统
1. 风控决策引擎的研发与优化(核心主线) 这是我工作中最核心、贯穿始终的部分。我负责开发和维护机审规则引擎,它决定了贷款申请能否通过审批。具体工作包括: 开发了大量风控规则,例如:经纬度反欺诈规则、AppListName规则、银行卡信息核验、内部人脸黑名单(百度接口)、多平台共债规则、首复贷进件限制、逾期天数限制等。 主导了机审规则的两次大版本优化(2021/2/18-3/10),大幅提升了规则执行的效率与可维护性。 引入了RocketMQ,将风控规则调用、埋点数据上报等改为异步解耦,提升了系统吞吐量。 2. 多国支付网关对接(关键业务闭环) 我独立负责了泰国、尼日利亚、印尼等多个国家的支付渠道对接,完成了从支付下单、回调验签到放款、还款的完整闭环。其中: 尼日利亚支付是你投入时间最长的模块之一(持续从5月到7月),涉及Paystack渠道的深度集成,包括USSD还款、BVN(银行验证号)验证、核销对账等复杂业务。 我解决了多个生产环境的关键问题,如还款数据重复写入、姓名验证BUG等,保障了资金安全。 3. 电销与催收管理系统的功能开发 你为越南/菲律宾市场开发了电销名单自动分单系统,包括案件分配、回收时间逻辑、意向客户标记、拨打任务查询等功能,提升了贷后转化效率。同时,也涉及催收系统的部分功能(如手动分配催收订单)。 4. 数据模型与报表支持 我配合风控模型团队,将多个模型分(菲律宾模型02、越南H5模型、越南模型11/13、贷中评分卡模型等) 落地到系统中,并根据模型结果进行风险定价和档位评定。同时,我为运营提供了大量数据支持(如商户对账单、跑马灯SQL优化等)。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服