前几天跑步的时候,我又遇到一个老问题: 想听音乐,也想知道自己走了多远、配速怎么样;听书的时候,又怕错过整公里提醒。 我想要的其实很简单——一个RunBeat APP,把本地音乐、文本朗读、距离和配速放在一起,每1公里、每10分钟自动报一次。 于是我决定,自己做一个。 我原来以为,最难的是写代码。真正开始才发现,我的电脑里连Flutter、JDK、Android SDK都没有。 JDK下载到一半断了;Flutter安装包接近1.8GB;中文路径又让编译连续报错。好不容易打出第一个APK,签名还没通过。 等它终于装进手机,我有点兴奋地点下“开始”——App直接闪退。 后面的问题一个接一个: GPS一直显示“准备中”;走了很久距离不增加;速度和配速一会儿不显示,一会儿又离谱;满1公里不播报;音频不能连续播放;导入的文字也读不出来。 怎么办?骂Codex啊。 Codex负责写代码,我负责把“RunBeat的毛病”说清楚,装到真机上试,再退回重做。 后来,我第一次把OPPO手机用USB连到电脑,打开ADB,盯着logcat看它到底卡在哪里。 权限明明开着,GPS也有信号,问题就在App自己的状态、过滤逻辑和TTS通道里。 从最初的MVP,到crashfix、gpsfix、devicefix,再到现在的UI版,一共折腾了7次。 现在的RunBeat已经可以: - 记录距离、时间、平均速度和配速; - 循环播放多个本地音频; - 导入多个txt、md文件,按顺序朗读; - 每1公里、每10分钟播报; - 播报时自动压低正在播放的音乐; - 把调试信息收起来,主界面终于没那么像工程样机。 它还不是成品。 户外长距离、锁屏后台、不同品牌手机,都还要继续测试。 但它已经不是一句“我想做个App”了。 它现在真的躺在我的手机里,能打开、能播放、能播报。 这次最大的感受是:AI并没有替我一键成功。 它真正给我的,是一种以前没有的能力——一个不懂编程的建筑人,也可以追着一个真实问题,一点一点把想法做出来。 RunBeat还会继续改。我也想把后面的过程继续如实记录下来。 #建筑人的AI进化 #AI编程 #独立开发 #RunBeat #普通人做产品 #跑步APP #中年成长 #从0到1