背景
学习目的:熟悉Cursor使用环境,跑通基本开发链路。
本人背景:安卓开发不熟悉,了解科技软硬件常识
实践
基础操作
1,下载安装安卓Android Studio
创建一个empty project 工程,名称为helloworld
2,下载安装cursor
打开文件夹,导入helloworld文件夹
在右边composer中输入,提示词
accept 接受所有cursor的修改项
在安卓studio里面,点击build
ERROR: C:\Users\iamlv\AndroidStudioProjects\helloworld\app\src\main\res\layout\activity_main.xml:16: AAPT: error: attribute layout_constraintTop_toTopOf (aka com.example.helloworld:layout_constraintTop_toTopOf) not found.
给到cursor处理
再遇到compose问题,给cursor处理
安卓studio再次build。
真机运行
闪退了,让cursor修复
可以运行了。同时cursor给了操作提示和功能建议。
我选择一个计时器的功能,让它去写,没有给详细的交互细节,一分钟写完了,直接运行。也生效了。
给我的功能建议共计3个,我都让它写,看下。
借助通义tongyi.ai_你的全能AI助手-通义千问,把android studio和git commit 和push也打通了
对应的代码上传到gitee:iamlvshijie/ai_app_dev
后续功能再一直这样迭代了。
复杂任务
扩页面,增加功能;(测试复杂任务,意图理解和任务拆解能力)
虽然一步步实现容易成功,但是功能复杂度不太高,挑战下一次成功率如何。
问题1:闪退
不闪退了;
问题2:番茄计时器导航点不进去;
修改后出现了问题3
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.res.ResourceCompilerRunnable
问题3:编译不通过;
AI修复;编译通过;问题2依旧;
问题4:番茄计时器导航进不去;
AI尝试修复,出现编译不过,e: file:///C:/Users/iamlv/AndroidStudioProjects/helloworld/app/src/main/java/com/example/helloworld/MainActivity.kt:6:28 Unresolved reference 'NavHostFragment'.
问题5:编译问题
AI尝试修复,给了一个warning
w: file:///C:/Users/iamlv/AndroidStudioProjects/helloworld/app/src/main/java/com/example/helloworld/HistoryActivity.kt:40:9 '@Deprecated(...) @MainThread() @CallSuper() fun onBackPressed(): Unit' is deprecated. Deprecated in Java.
再次优化;可以进番茄时钟了。
功能正常。哈哈哈,git commit &push一下,ai都会抢答了。
后续有迭代了若干功能;
全部更新到gitee了。
总结
优点
理解强:基本是一句话需求(对产品经理友好了);口语化交流,会推理下一个意图;
速度快:代码写的很快,小功能几秒就可以出来,
完成度:一次成功率较高,个别交互可能想的不完美,再来一句话就好;复杂任务可以完成,会有一些问题没有考虑到;跨功能的修改,比如一个变量删除,多处调用的地方,也会自己查找(可能会不全)
背景全:除了代码,git使用,android studio使用都可以提供帮助;
GUI:ui设计居中,有一定的美观度,和功能建议;会增加简易的图标;
缺点
文本和图片模态:和cursor交流只有文本模态,信息交流受限,可以通过形象的语言描述,在ide使用,apk的ui 问题反馈上使用文本进行调试(比如android studio上的build 是个锤子,这么通过文本来形象描述)可能受制于模型的模态;
跨端交互:cursor处理代码编辑,调试build run在android studio,如果cursor可以出一个androidstudio 的插件, 很多操作可以融合的更好(当然google 官方可能也会用ai chat 增强android studio)
git 提交:由于cursor除了工程代码编辑,git commit也可以总结,但是不能操作git,建议可以增加terminal 输入调用git的能力;
另外
使用的是注册用的权限,已经消费光了。以下是付费情况。