橘务通-计划规划软件
目录
- 事发背景
- 提示词编写
- 调整
- 产品效果
- 总结
事发背景
最近感觉,有些日常任务需要反复的立起和倒下,比如丢垃圾;
然后,关于四象限任务分配法,我觉得“紧急但不重要”这一个维度是不太需要的,因为不重要的事情就未必会去做,所以用紧急来形容也不太妥当,因为不存在所谓的“不太重要”,只有“必须得做”或者“可以不做”。
而很多规划软件可能并没有我所想的这些东西。
因此,我就突然想要写一个自己的计划软件,装到手机上,实现个性化需求定制。
其实我很早就想写一个背单词的手机软件了,拿来滚一直记不住的词或者汉语意思,还有滚词形变化。 估计这会是下一个项目。
但是,碍于不了解 Android 系统的相关 app 架构,就一直没开工。
但是现在不一样了,前段时间刚给电脑装了个 Agent ,正愁没地方用。
于是乎,开始在 Agent 的引领下试图制作一个用于日程规划的安卓 app 。
提示词编写
众所周知,使用 Agent 干活,最重要的事情是给出清晰的、可执行的路径,尽量不要模棱两可 ,这样可以节省 Token 。
我根据我所构想的初步需求,构建了一下需要存在的页面,比如首页是什么、日常任务页面、任务如何排序和显示、如何删除和归档、如何批量导入导出、添加任务和修改任务界面、不同类型的任务怎么放、任务标签、任务的手动与自动立起、页面的颜色风格、暗色模式适配……
然后有了如下长达 多字的提示词。
请你帮我完成如下任务,项目目录位于 ``D:\OrangePlan`` 。
# 总纲
我现在想要编写一个安卓app,计划是想要通过写成静态网页,然后封装成apk装到自己手机上,但是,如果你可以更方便的生成可安装的apk文件,也可以改变方案。
我希望日程等数据可以存储到手机上,并且可以导入和导出,导入导出采取可读的可批量处理的形式,不用加密,需要兼容中文字符。需要注意存储方式与电脑的不同,希望能存数据到手机上然后读取。要求如下,未提及情况请自行构建。
# 页面要求
打开的主页面是日常任务页面,下方是导航栏,分别是日常任务、单次任务、日程、我的。
所有颜色安排要符合夜间模式的要求,可以在设置中调整或者设置跟随系统。
色调:采用蓝色为主色调。
风格:优美,简洁,鲜明,但是注意颜色不要太亮太刺眼。
“我的”栏目内包含归档按钮和设置按钮,在设置里可以导入导出,还有一些其他设置,归档按钮可以进入归档页面。
# 细则
## 任务/日程显示界面
基础任务/日程显示:每个任务是一个小卡片,一行一个任务,显示任务名称,向左滑可以显示归档按钮和删除按钮,直接点击任务卡片可以进入修改界面,与创建页面相同,可修改任务信息。
## 日常任务
- 性质:时不时需要立起来的任务- 添加任务页面:需要填写的内容包括名称、手动或自动特定时间(允许手动或自动每日/每周/每月/每学期) (任务按首字母排序),末尾是保存按钮,右上角有个叉可以取消编辑,手机返回也可以取消编辑- 显示界面额外显示:对于手动任务,任务卡片左边存在按钮,可以切换立起任务/完成任务,其他的任务左边统一空出相同距离。对于立起的任务,采用不同颜色标识。- 示例任务(可选一两个加入):记账 不背词形变化 丢垃圾 吃水果 完成某科作业 写小说 志愿者 理头发 剪指甲
## 一次性任务
- 性质:做完后直接归档 (按重要度从大到小排序)- 添加任务页面:需要填写的内容包括名称、DDL(允许填暂无或特定日期)、重要指数 (任务按重要指数排序,重要程度相同按DDL从早到晚排序,暂无排在最后,其次按任务首字母排序),末尾是保存按钮,右上角有个叉可以取消编辑,手机返回也可以取消编辑- 事态分类(或重要度): 1. 落灰任务:可能长期屯在这里 2. 休闲任务:可以不做,时间宽松 3. 紧急任务:不得不做,时间紧急 4. 重要任务:不得不做,时间宽松- 内容标签:(希望可以自行添加标签、删除标签和按标签筛选)- 以下是示例标签: 1. 吃 2. 玩 3. 活- 显示界面额外显示:每个卡片名称下方带有字体较小的标签和DDL,页面上面可以按标签筛选任务,不同事态的任务可用颜色区别(灰 蓝 黄 红)- 示例任务(可选一两个加入):更新某文章 研究某东西 学创活动安排 看某电影 安装某应用 毕业论文
## 日程
- 性质:可分类的日期标识 (按时间排序)- 添加日程页面:需要填写的内容包括名称、时间(写特定日期,可以精确到时间点或者选择全天) (任务按时间排序,全天日程排在当天其他时间点日程的前面,其次按首字母排序),末尾是保存按钮,右上角有个叉可以取消编辑,手机返回也可以取消编辑- 显示界面额外显示:每个卡片名称下方带有时间(精确或全天)- 示例任务(可选一两个加入):社活 某某活动 选科抢课 四级报名
## 归档界面
对于每个已归档的任务或日程,首先按照三个类别分类,每个类别按照归档时间分类,每个类别可以折叠收起,页面最上方可以按名称搜索已归档的任务/日程。
每个归档卡片显示名称,下方显示归档日期,左划只有删除按钮,无法点击卡片修改信息。
# 补充
如果有不确定的信息,可以询问我,然后再继续工程。
如果有无法实现的步骤,请告知并给与可替代方案。
如果可以实现,请给出完成工程的步骤日志,需要构建和检查可用性,确定没问题后告诉我,我将投入试用。调整
因为我一开始并不了解如何编写安卓软件,所以我一开始想让他通过封装静态网站的方法实现。后来他补充了,还需要写安卓框架和通过 Android build-tools 进行。
环境情况
dsh :当前这台 Windows 机器上有 Node.js 和包管理器(winget/choco),但没有安装 Java 和 Android SDK,而打包 APK 需要这两样。我先确认几个关键选择再动工。我选择了 下载并安装 JDK 17 + Android build-tools + platform (无 Gradle 方案)
静态网页
他直接一口气把 index.html 、 style.css 、 app.js 等全部搞定了,一口气写了 行代码。
构建 build
安装完需要的工具后,他进行了自检并且尝试构建。
后来在字符编码上出了问题,也就是中文字符的问题。然后他进行了一下我看不懂的 16 进制操作后,实现了 “no warning” 的 build 。
随后他再次确认了各项功能运行正常,修改了一点 app.js 中的内容,且有签名。
成果安装包:D:\OrangePlan\OrangePlan.apk(约 33 KB,已签名)步骤日志1. 环境:本机无 Java/Android SDK。我用 winget/直连下载的方式,在临时目录装了 Microsoft JDK 17、Android build-tools 34、platform-35(共约 300 MB,全自动)。首次后台脚本因 PowerShell 把中文路径按 GBK 读取而失败,改用纯 ASCII 脚本 + $env:TEMP 后成功;Adoptium 源连不上,改用微软 JDK;platform-34 已下架,改用 platform-35。2. 网页 App(D:\OrangePlan\app\assets\ 下 index.html / style.css / app.js):实现全部需求,深色蓝色主题,可跟随系统/深色/浅色。3. WebView 外壳(MainActivity.java):全屏加载网页,本地存储(localStorage),原生桥接导入/导出文件(走系统文件选择器,无需任何权限),重写返回键配合「手机返回取消编辑」。4. 无 Gradle 打包(build.ps1):aapt2 编资源 → javac → d8 → aapt2 链接 → 注入 dex → zipalign → keytool/apksigner 签名。期间把 android.jar 复制到纯英文路径消除了 aapt2 的中文路径告警。5. 验证:node --check 语法通过;Chrome 无头渲染确认 JS 正常初始化(主题、视图、标签筛选均已生效);aapt2 dump badging 确认包名 com.orangeplan.app、minSdk 21 / target 28、图标与中文标签「橙计划」字节正确;apksigner verify 通过。期间修复了「标签筛选未真正过滤列表」的 bug。已实现功能要点- 四个页签:日常任务 / 单次任务 / 日程 / 我的;卡片左滑出「归档/删除」、点击进编辑。- 日常:手动(左侧切换立起/完成,立起高亮)/自动(每日·每周·每月·每学期) + 首字母(拼音)排序。- 单次:重要度(落灰·休闲·紧急·重要,灰/蓝/黄/红)排序 + DDL + 自定义标签(增删/筛选);示例标签 吃/玩/活。- 日程:全天/具体时间,按时间排序。- 归档:按三类别 + 归档时间分组可折叠,顶部搜索,卡片仅可删除。- 设置:主题、导出 JSON/CSV、导入、载入示例任务、清空数据。导入导出说明- 导出/导入均不加密、UTF-8、兼容中文。JSON 保完整数据;CSV 表头为 类型,名称,方式,重要度,标签,日期,时间,全天,状态,可用 Excel 批量编辑后导入(归档内容仅随 JSON 导出)。- 手机上导出会弹系统保存框(建议存到「下载」),导入可「选择文件」或直接粘贴文本。试用方式把 OrangePlan.apk 传到手机(微信/数据线/网盘均可),点击安装,允许「安装未知来源应用」即可。数据保存在本机 App 私有目录,卸载会丢失(建议定期在设置里导出备份)。两个说明- 未提及的「自动立起」我按「自动任务常驻列表、以周期标签标识、无手动开关」处理;「完成」仅手动任务可切换,自动任务靠左滑归档来移出。- 我用临时目录里的 JDK/SDK 打包,orangeplan.keystore 已留在 D:\OrangePlan\android\(重打包需保留此密钥才能覆盖安装)。如果你希望我把工具链固定到项目里或改用其他方案,告诉我即可。修改小问题
-
对于日常任务,手动任务的设计不太合理,应该是点击按钮之后设为完成,按钮不点击的时候视为未完成(他设计反了);对于自动任务,自动的应该是立起来的时间,之前我说的有误,他也跟手动一样前面有个按钮可以完成或取消完成,也就是说,与手动的相比,他多了一个自动立起任务的功能(补充内容)
-
应用名称叫“橘务通”,而不是橙计划(这个我怀疑是他直接翻译英文而没有看到我写的提示词)
-
(询问问题)应用签名具体是什么?
修正
他直接把所有 OrangePlan 都改成了 juwutong ,这我就很无奈了,只是想意译一下而已。我深知如果继续跟他纠结这个他肯定搞不明白,所以就这样罢。
然后修改了一下功能。
他自动给自动立起的任务设置了黄色边框高亮,这个感觉还可以,就没有管他。
问题的答复:
签名署名说明
Android 每个 App 都必须用数字签名才能安装。这个签名是一个「自签名证书」(自己生成的),里面的名字(CN)无需你的真实姓名、也没有法律署名要求——侧载自用场景下爱填什么都行。我填的是 CN=JuWuTong。真正重要的只有两点:1. 保管好 D:\OrangePlan\android\juwutong.keystore 和密码。密码我固定为 ******(库密码与密钥密码相同)。以后出新版必须用这个同一个 keystore 签名,否则手机会要求先卸载旧版才能安装(数据会丢)。2. 将来若要上架应用市场,才需要用这个签名的指纹做开发者实名认证,那是上架阶段的事,与现在无关。结论:现在不需要你署名,东西都已替你生成并留在项目里。若想改密码或改 CN,告诉我即可重新生成。得出结论:
- keystore 是用来更新软件的,防止卸载旧版数据丢失
- 上架应用市场的时候才会扯到那些签名实名问题,不用管
接下来使用时又出现一个问题:自动立起的任务在未完成的时候会一直显示归档和删除按钮遮挡任务卡片。
让他改了改,重新打包,发现问题:立起状态的卡片之前用半透明背景色,下面按钮就显示出来了。
修复:背景改成不透明色,保留琥珀色边框和「立起」标签。
至此,没什么大问题了。
产品效果








总结
这次 Agent 应用实践,让我大致了解了 Android 架构长什么样,初步熟悉如何写提示词,同时也深刻认识到了:
Agent 太好用了!
Agent 太好用了!
Agent 太好用了!
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!












