我在84岁时如何构建全栈 Android 应用(使用 Google Gemini 作为我的初级开发者)
Source: Dev.to
背景
人们常说老狗学不会新把戏。我坚决不同意。
我于 1960 年作为英国电信的学徒开始职业生涯,随后在非洲和亚洲管理了数十年的技术项目,并为德·拉·鲁(De La Rue)研发了获专利的安全系统。我懂工程、逻辑、架构和创新——但我不懂 Kotlin,也不懂如何构建 Android 应用。
在 84 岁时,我想解决一个现代问题:主流的家庭安全应用已经变成了会耗电、全天候记录位置的监控工具。我决定打造一个 以隐私为先的实用工具,通过短信和电子邮件按需查询位置,而不要求接收方安装任何应用。
我雇佣了一位 AI 助手——Google Gemini——不是让它“替我完成”,而是让它在我提供思路时充当我的“手”。
架构
该解决方案需要四种不同的技术安全地相互通信:
- Android 应用(Kotlin) – 运行在手机上,管理 GPS。
我担任技术总监,描述逻辑流程、错误处理和隐私约束。Gemini 则充当初级开发者,根据我的测试编写语法并进行重构。
下面是内部实现的概览。
挑战
挑战 1: “睡眠”状态的手机(Kotlin & Firebase)
Android 的 Doze 模式会在手机闲置时终止后台网络访问,使远程唤醒变得困难。我需要一种可靠的方式,即使设备深度睡眠也能触发位置检查。
// Generated by Gemini, Architected by Terry Mechan
if (action == "buddy_location_request") {
// Critical: Use WorkManager to guarantee execution even if app is killed
// My contribution: switched from IntentService to WorkManager with setExpedited
}
挑战 2: “无应用”界面(PHP)
接收方(Buddy)不应需要安装应用,只需点击一个链接。我需要一个安全的、带有过期时间的链接系统,在允许位置请求之前先在 MySQL 数据库中验证令牌。
挑战 3: 数据结构(MySQL)
我们需要将 “Buddies”(请求者)与 “Users”(手机所有者)关联起来,但不存储不必要的个人信息。我绘制了模式草图,Gemini 完成了 SQL 编写。
CREATE TABLE sms_authorized_requesters (
-- columns definition here
);
结果
经过 12 个月的迭代、测试以及与 AI 的“争论”(是的,你必须纠正它!),最终交付了一个稳健、已上架的应用。得益于 Kotlin 协程,代码运行高效。该项目证明 AI 并不会取代人类经验,而是放大它,使一位 84 岁的老人也能完成通常需要五人团队才能实现的产品。
查看方式
- 理念:在主站了解我关于 “共享而不跟踪” 的概念:[PlaceMe Guardian Homepage]
- 技术演示:无需安装应用即可立即体验技术(网页模拟):[Try the Web Demo]
- 应用:在 Google Play 上查看正式发布版本:[MyBuddy on Google Play]