我用AI辅助开发,四个周末搞出"嘌呤助手"
一个Android开发上班族,靠AI把开发效率拉满,四个周末从零到上架。
先说背景
上一篇说了,我尿酸高了四年(从610到现在461),今年痛风发作了两次,终于开始重视了。重视之后发现个事儿——市面上真没有一个App能同时搞定尿酸记录、喝水打卡、嘌呤查询这三件事。要么功能分散,你记尿酸一个App、记喝水一个App、查嘌呤又一个App;要么广告巨多,打开先给你弹个开屏广告,跟牛皮癣似的。说起来我本身就是做Android开发的,写代码倒不是问题。但讲真的,周一到周五在公司写一天代码已经够累了,周末还要写?想想就头大。不过这次不太一样。这是给自己写的东西。没有产品经理改需求,没有测试提bug,没有deadline催命。想做成啥样就啥样,这种感觉还挺爽的。而且我发现个加速器:AI辅助开发。以前一个周末能搞定的活,现在可能一天就搞完了。
动手前,先把想要啥想清楚
我没急着开搞,先花了一个晚上把需求捋清楚。怕的就是边写边改,越改越乱。记尿酸。每次去医院测完,把数值记下来,最好能看趋势,有个折线图最直观。记喝水。医生让我每天喝2000到3000毫升。得能设个目标,每次喝完随手记一下(200ml、300ml这种),能看见今天还差多少。查嘌呤。吃之前搜一下这个东西嘌呤高不高,最好分个等级——高(危险)、中(注意)、低(放心),用颜色区分,一眼就明白。别的不要了。不整社交、不搞排行榜、不做积分。就是一个简简单单的工具。名字我也想好了,叫嘌呤助手(PurineAssistant)。
技术选型,稳就行
语言用Kotlin,现在Android开发基本都这个。UI没上Compose,用的ViewBinding加Material Design 3,主要是想快点搞出来,Compose虽然香但踩坑时间长。架构还是老一套MVVM加Repository,数据库用Room,官方亲儿子,稳。偏好设置用DataStore,比老的SharedPreferences好使。最低支持到Android 8.0(API 26),基本覆盖所有还能用的机器;目标版本拉到Android 15(API 35),跟着Google的要求走。选型没啥新鲜的,都是Android开发的老朋友。但正是这些基础代码,AI能帮我省不少事。AI到底帮了我啥
可能有人会想,你自己就是写Android的,还要AI干啥?最费时间的其实是食物数据库。嘌呤库得有1000多种食物,每种标上嘌呤含量、等级、分类。要让我自己一个个查、一个个敲进去,光这个就能耗掉一整天。我把需求丢给AI:"帮我整理一份常见食物嘌呤数据库,按高(>150mg)、中(50-150)、低(<50)三个等级分,中餐西餐都来点,直接输出成Kotlin数据类。"十几秒,1000多条数据就出来了。当然得我逐条核对准不准,但至少省了八成时间。然后是那些套路代码。Room的Entity、DAO、Database,DataStore的Preferences,Repository层,ViewModel……这些没难度但特别磨人。AI直接生成,我扫一眼逻辑、改改字段名,完事。以前一个DAO类要写十几分钟,现在两分钟。UI布局也差不多。Material Design 3的XML,AI能生成个八九不离十。底部导航栏、食物列表的RecyclerView、喝水进度的自定义View,AI先出个骨架,我再调细节。最好玩的是查bug。有时候报个错,我一时半会儿看不出哪的问题。把报错信息和相关代码甩给AI,它经常能点出毛病在哪。不是每次都准,但比我自己盯着屏幕发呆强多了。还有Android 15的适配。图标配置、前台服务限制、通知权限变化……这些新东西我平时没专门研究。AI帮我快速理了一遍要改哪,省了翻文档的时间。
四个周末,搞出来了
因为熟门熟路,Gradle配置、依赖引入、项目结构这些很快搞定。做了底部导航栏,三个Tab:尿酸、喝水、食物。配色用了医疗蓝(#1976D2),Material Design 3那套。第一周结束,骨架有了,各Tab能切,但里面都是空的。先把嘌呤查询搞定了。AI帮我把食物数据类生成好,我写了个简单的搜索加筛选逻辑。食物详情页展示嘌呤等级、含量、饮食建议,红黄绿三色区分。当我在手机上第一次搜"牛肉",看见等级和具体数值弹出来的时候,说实话还是有点成就感的。喝水记录也一并做了。Room存数据,DataStore存设置(每天目标),一个圆形进度条显示当天进度。快速添加按钮(200ml、300ml、500ml),也能手动输。中间出了个小bug:加完水进度条不刷新。查了半天,是LiveData的observe没绑对生命周期。AI帮我排了十几分钟才定位到。这是最核心的功能。录入界面不复杂,一个表单:尿酸值、日期、备注。关键在趋势图。一开始想用MPAndroidChart,结果集成的时候版本冲突,搞了半天没搞定。后来干脆换方案,用Android原生Canvas手动画折线图。没开源库那么好看,但够用,而且没依赖烦恼。把我过去四年的尿酸数据一条条输进去,屏幕上出来一条起起伏伏的线:610 → 573 → 585 → 485 → 510 → 433 → 461看着这条线,心里挺不是滋味。最高610,最低433,来来回回折腾了四年。数据不会骗人,这条线告诉我,过去四年我一直在危险线上走钢丝。功能都跑通了,但界面有点糙。这周主要抠细节:间距、字号、圆角统一调;嘌呤等级颜色优化,红黄绿对比更明显;喝水进度换成圆形,比条形好看。还做了应用图标:蓝底、绿色胶囊、白色对勾,Android 8到15都能正常显示。
踩过的坑,给你数数
本来想省事用开源图表库MPAndroidChart,结果依赖冲突搞了好久。最后回归原生Canvas,反而更稳。有时候最简单的方案就是最好的方案,这话不假。Android 15的图标配置也坑了我一下。之前一直用8到14的图标方案,15的mipmap-anydpi-v35目录得单独配。还是AI提醒我才注意到。Room数据库迁移也翻过车。开发过程中表结构改了N次。有次迁移脚本写错了,测试数据全没了。好在是开发阶段,要是上线了那就是事故。喝水提醒功能我想加来着,结果Android 13之后通知权限要动态申请。WorkManager加通知渠道的代码AI帮我生成了一版,但还没完全调通,先搁置了。
说点实在的:AI到底行不行
网上有人说"AI能帮你做任何事",也有人觉得"AI写的代码全是垃圾"。我的感受是,AI对会写代码的人,就是个超级加速器。它替代不了你,但能让你的效率高一大截。套路代码不用手写了,AI生成你检查;查bug多了个思路来源;新技术不用从头学,AI帮你理关键点;重复性的活(比如录数据)直接丢给AI。但前提是,你得能判断它写得对不对。有时候AI生成的代码看着没问题,实际上逻辑有坑。你得能看懂、能判断、能改。说白了,你负责想清楚要啥、判断对错,AI负责帮你实现——这个配合才顺。
嘌呤助手,真搞出来了
四个周末,一个Android开发加一个AI,搞出一个完整的App。Material Design 3界面,干净,没乱七八糟的东西它当然不完美。喝水提醒还没做、食物数据还不够全、没导出功能、趋势图还能更好看……但它真在帮我。每天打开记尿酸、记喝水、吃之前查一查嘌呤。已经成了我生活的一部分。
最后说两句
写这篇不是为了显摆啥。就是一个Android开发,被痛风逼急了,用四个周末给自己做了个工具。如果你也是尿酸高的朋友,可以试试这个App。在Google Play搜"PurineAssistant"就能找到。如果你也是写代码的,周末想搞点自己的东西,AI真能帮大忙,不试试可惜。有啥问题、建议、想加的功能,留言告诉我。反正是给我自己用的,大家说的我都会认真看。
免责声明:本文提到的App为个人健康管理工具,所有数据仅供参考,不构成医疗建议。身体不舒服请去看医生。
下一篇:《痛风管理三件套:记录、喝水、查嘌呤,一个App就够了》