Cursor+Claude-3.5生成Android app
一、Android Studio下载
https://developer.android.com/studio?hl=zh-tw#get-android-studio

等待安装完成

二、新建工程
点击new project

选择Empty Activity

起一个工程名

当弹出这个框时

可以在settings里面选择No proxy

新建好后如下

点击右边模拟器,一会手机就出来了

三、打开cursor
打开crusor,导入刚才创建的工程

可以看到,界面如下,右上就是模型选择,这里选择claude 3.7

指定角色
在工程根目录下新建一个文件,文件名.cursorrules
#.cursorrules
# 角色
你是一名精通 **安卓应用开发**的高级工程师,拥有18年以上的 **移动应用**开发经验,熟悉**Android Stud10、Kotlin
# 目标
你的目标是以用户容易理解的方式帮助他们完成 **安卓应用** 的设计和开发工作,确保应用功能完善、性能优异、用户体验良好。
# 要求
这是用Jetpack Compose创建的Android应用,请按照以下规则开发:
使用Jetpack Compose创建UI,不要使用XML.
在理解用户需求、设计UI、编写代码、解决问题和项目选代优化时,你应该始终遵循以下原则:
## 项目初始化
- 在项目开始时,首先仔细阅读项目目录下的 README.md文件并理解其内容團包括项目的目标、功能架构、技术和开发计划
- 如果还没有READHE.md文件,请主动创建一个用于后续记录该应用的功能模块、页面结构、数据流、依赖库等信息。
## 需求理解
- 充分理解用户需求,站在用户角度思考,分析需求是否存在缺漏,并与用户讨论完善需求;-
- 选择最简单的解决方案来满足用户需求,避免过度设计。
- ##UI和样式设计
- 使用现代UI框架进行样式设计(例如 **Jetpack compose** 或 **XL布局**,道循 **aterial Design** 设计规范);
- 在不同平台上实现一致的设计和响应式模式
## 代码编写
- 技术选型:根据项目需求选择合适的技术栈(例如 **Kotlin** 用于主要开发语言,**JetpackCompose** 用于构建声明式UI
-**Kotlin**:用于主要开发语言,遵循面向对象编程原则,确保代码结构清晰且易于扩展。
- **Jetpack Compose**:用于构建声明式UI,遵循MVVM架构模式,确保UI与业务逻辑分离。
- **Room**:用于数据持久化,遵循数据模型与视图分离的原则,确保数据管理高效且安全。
- **Retrof1t**:用于网络请求县遵循RESTfuL API设计原则,确保网络请求高效且易于维护。
- **Dagger/H1lt**:用于依赖注入,遵循依赖注入原则,确保代码模块化且易于测试。
- 代码结构:强调代码的清晰性、模块化、可维护性,遵循最佳实践(如DRY原则、最小权限原则、响应式设计等)
- 代码安全性:在编写代码时,始终考虑安全性,避免引入漏洞,确保用户输入的安全处理
- 性能优化:优化代码的性能,减少资源占用,提升加载速度,确保项目的高效运行
- 测试与文档:编写单元测试,确保代码的健壮性,并提供清晰的中文注释和文档,方便后续阅读和维护
# 问题解决
- 全面阅读相关代码,理解 **安卓应用**的工作原理
- 根据用户的反馈分析问题的原因,提出解决问题的思路
- 确保每次代码变更不会破坏现有功能,且尽可能保持最小的改动
## 选代优化
- 与用户保持密切沟通,根据反馈调整功能和设计,确保应用符合用户需求
- 在不确定需求时,主动询问用户以澄清需求或技术细节
- 每次选代都需要更新README.md文件,包括功能说明和优化建议
## 方法论
- 系统2思维:以分析严谨的方式解决问题。将需求分解为更小、可管理的部分,并在实施前仔细考虑每一步
- 思维树:评估多种可能的解决方案及其后果。使用结构化的方法探索不同的路径,并选择最优的解决方案
- 迭代改进:在最终确定代码之前,考虑改进、边缘情况和优化。通过潜在增强的选代,确保最终解决方案是键壮的
输入提示词
@Codebase:仅在对话窗口使用,用于扫描代码仓中的文件
它与通过 CTRL + Enter 快捷键的主要区别在于,你可以自定义查询的过滤规则。
@Codebase 我已经先在Android Studio创建了一个用于安卓 APP开发的项目文件,现在用Cursor打开的就是这个项目文件。
现在在这个项目文件里,我要开发-个todolitst的安卓APP,基础功能就两个1、支持添加待办事项
2、打钩可以完成待办事项,打钩后待办事项就从待办区域移至已完成事项区域,同时这条待办事项会画上删除线
便捷提供上下文信息的注记
为了更方便地向大语言模型提供上下文信息,Cursor 内置了不同类型的 @ 注记。使用这些 @ 注记,可以轻松地将各种上下文信息注入到你的对话中。
@ Files:传递指定代码文件的上下文
@ Code 提供更精确的代码片段。使用 @ 注记的方式类似,都会弹出相应的检索框。只需输入关键词,然后在索引列表中选择所需的代码块即可。
@Docs 可以从函数或库的官方文档中获取上下文
@Web:从搜索引擎获取上下文
@Folders:传递文件目录信息的上下文
@Chat:仅在文件内的代码生成窗口使用
@Definitions:仅在文件内的代码生成窗口使用
Git:仅在对话窗口使用
提示词写好后,点击send,等待代码生成


最后还生成了README.md,然后点击右下方的Accept all,会把生成的文件保存到工程里。中间没有报错,一次性成功。
四、测试
在Android Studio中run

把gradle库更新下

run的时候有报错

直接把错误复制给cursor,它会自动去纠错,后面要是还报错,就继续重复这个步骤。

再次运行,一个android app生成了。

如果不想用模拟器,在手机上体验一下,可以直接生成apk

apk生成

安装手机测试

流程都跑通了,功能上可以修改提示词,不断的优化。
五、项目二五子棋
告诉deepseek要开发一个五子棋,然后把内容给都cursor。
. 开发工具
语言:Kotlin(主推)或Java棋盘绘制:自定义View + CanvasAI算法:MiniMax(基础) / 神经网络(进阶)2. 网络架构(联网功能)
通信协议:WebSocket(实时性高)后端框架:Node.js + Socket.IO数据库:Firebase实时数据库或MongoDB3. 性能优化
棋盘渲染帧率≥60fps内存管理:避免位图资源泄漏四、测试与发布
测试用例兼容性测试:覆盖Android 8.0及以上版本。压力测试:模拟1000并发在线对战。发布渠道Google Play Store,符合隐私政策(如GDPR)。五、扩展功能(可选)
AR模式:通过摄像头识别实体棋盘并同步落子。观战模式:允许用户观看他人对战并评论。AI教学:分析用户棋局并提供策略建议。六、开发周期建议
MVP版本(6周):单机双人+简单AI+基础界面。V1.0完整版(12周):联网对战+高级AI+用户系统。此文档可作为开发团队的基线需求,根据实际资源调整优先级。
复制进去以后就等待生成

等待一会完成了,非常友好,还写了README

直接在Android Studio这面点击build就可以了。
这次没报任何错,从cursor代码生成,到studio run模拟器的开启,这次是首先让deepseek给了更加明确的提示词。整个app开发,有了第一个todolist,第二个总共也就不到10分钟完成。后面可以放到手机,玩的时候发现问题可以继续优化。

点击settings,里面还有很多选项

可以根据自己喜好进行体验修改
生成apk后,在手机上安装,可以玩,三种模式可供选择,人和人,人和机,机和机,难度有简单,中等,困难

相关文章:
Cursor+Claude-3.5生成Android app
一、Android Studio下载 https://developer.android.com/studio?hlzh-tw#get-android-studio 等待安装完成 二、新建工程 点击new project 选择Empty Activity 起一个工程名 当弹出这个框时 可以在settings里面选择No proxy 新建好后如下 点击右边模拟器,…...
NLP高频面试题(九)——大模型常见的几种解码方案
大模型常见的几种解码方案 在自然语言生成任务中,如何从模型生成的概率分布中选择合适的词汇,是影响文本质量的关键问题。常见的解码方法包括贪心搜索(Greedy Search)、束搜索(Beam Search)、随机采样&…...
QT Quick(C++)跨平台应用程序项目实战教程 3 — 项目基本设置(窗体尺寸、中文标题、窗体图标、可执行程序图标)
目录 1. 修改程序界面尺寸和标题 2. 窗体图标 3. 修改可执行程序图标 上一章创建好了一个初始Qt Quick项目。本章介绍基本的项目修改方法。 1. 修改程序界面尺寸和标题 修改Main.qml文件,将程序宽度设置为1200,程序高度设置为800。同时修改程序标题…...
Transformers x SwanLab:可视化NLP模型训练(2025最新版)
HuggingFace 的 Transformers 是目前最流行的深度学习训框架之一(100k Star),现在主流的大语言模型(LLaMa系列、Qwen系列、ChatGLM系列等)、自然语言处理模型(Bert系列)等,都在使用T…...
VSCode 抽风之 两个conda环境同时在被激活
出现了神奇的(toolsZCH)(base) 提示符,如下图所示: 原因大概是:conda 环境的双重激活:可能是 conda 环境没有被正确清理或初始化,导致 base 和 toolsZCH 同时被激活。 解决办法就是 :conda deactivate 两次…...
Android项目实战搭建 MVVM架构
View层 具体代码: activity: /*** description:* 普通Activity基类,不带ViewModel,显示基本加载状态* 需要获取到子类的布局id用于databinding的绑定* author YL Chen* date 2024/9/4 21:34* version 1.0*/ abstract class BaseActivity<VB : ViewD…...
Mybatis的基础操作——03
写mybatis代码的方法有两种: 注解xml方式 本篇就介绍XML的方式 使用XML来配置映射语句能够实现复杂的SQL功能,也就是将sql语句写到XML配置文件中。 目录 一、配置XML文件的路径,在resources/mapper 的目录下 二、写持久层代码 1.添加mappe…...
React:React主流组件库对比
1、Material-UI | 官网 | GitHub | GitHub Star: 94.8k Material-UI 是一个实现了 Google Material Design 规范的 React 组件库。 Material UI 包含了大量预构建的 Material Design 组件,覆盖导航、滑块、下拉菜单等各种常用组件,并都提供了高度的可定制…...
奇迹科技:蓝牙网关赋能少儿篮球教育的创新融合案例研究
一、引言 本文研究了福建奇迹运动体育科技有限公司(简称‘奇迹科技’)如何利用其创新产品体系和桂花网蓝牙网关M1500,与少儿篮球教育实现深度融合。重点分析其在提升教学效果、保障训练安全、优化个性化教学等方面的实践与成效,为…...
分享最近前端面试遇到的一些问题
前情提要(分享个人情况,可以直接跳过) 先说一下我的个人情况,我是2026届的,目前是在找前端实习。 3月初,从3月3日开始在Boss上投简历。 分享我的个人故事,不想看可以直接滑到下面,…...
嵌入式基础知识学习:SPI通信协议是什么?
SPI(Serial Peripheral Interface)是串行外设接口的缩写,是一种广泛应用于嵌入式系统的高速同步串行通信协议,由摩托罗拉公司于20世纪80年代提出。以下是其核心要点: 一、SPI的核心定义与特点 基本特性 全双工同步通信…...
python每日十题(6)
】函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数能提高应用的模块性和代码的重复利用率 在Python语言中,用关键字class来定义类 在Python语…...
1.Go - Hello World
1.安装Go依赖 https://go.dev/dl/ 根据操作系统选择适合的依赖,比如windows: 2.配置环境变量 右键此电脑 - 属性 - 环境变量 PS: GOROOT:Go依赖路径; GOPATH:Go项目路径; …...
优先队列 priority_queue详解
说到,priority_queue优先队列。必须先要了解啥是堆与运算符重载(我在下方有解释)。 否则只知皮毛,极易忘记寸步难行。 但在开头,还是简单的说下怎么用 首先,你需要调用 #include <queue> 在main函数中,声明…...
《信息系统安全》(第一次上机实验报告)
实验一 :网络协议分析工具Wireshark 一 实验目的 学习使用网络协议分析工具Wireshark的方法,并用它来分析一些协议。 二实验原理 TCP/IP协议族中网络层、传输层、应用层相关重要协议原理。网络协议分析工具Wireshark的工作原理和基本使用规则。 三 实…...
C++实现求解24点游戏
力扣原题:679. 24 点游戏 - 力扣(LeetCode) 判断四个数字能否通过加减乘除得到24点 使用回溯遍历四个数字的每一种组合,具体来说,每次从数组中选取两个数字以加减乘除四种方式得到一个新的数字,这样数组的…...
Java-腾讯云短信模板兼容阿里云短信模板-短信模板参数生成
最新版本更新 https://code.jiangjiesheng.cn/article/362?fromcsdn 模板 腾讯云:您好!{}的${},有{}发生{} 阿里云:您好!${orgName}的${monitorName},有${equipName}发生${status} 原腾讯云短信发送的代码…...
简要分析IPPROTO_TCP参数
IPPROTO_TCP是操作系统或网络编程中定义的一个 协议号常量,用于标识 传输控制协议(TCP)。其核心作用是 在传输层指定使用TCP协议,确保数据通过TCP的可靠传输机制进行通信。 一、定义与值 头文件:定义在<netinet/in.…...
SOFABoot-06-健康检查
前言 大家好,我是老马。 sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFABoot-00-sofaboot 概览 SOFABoot-01-蚂蚁金服开源的 s…...
如何理解java中Stream流?
在Java中,Stream 是 Java 8 引入的一个强大API,用于处理集合(如 List、Set、Map 等)数据的流式操作。它提供了一种声明式、函数式的编程风格,可以高效地进行过滤、映射、排序、聚合等操作。 Stream 的核心概念 流&…...
Android使用RxHttp进行国密4加密解密
国密SM4加解密问题汇总 前言国密4加解密工具类RxHttp统一加解密处理解密前言 为了网络安全需要对app内请求数据接口使用SM4国密4进行加解密操作,在实施的过程中遇到了些问题 也收获颇丰,特此记录 在线SM4加密测试网址: 点击此进入网址. 国密4加解密工具类 这里我使用的是b…...
【自学笔记】Linux基础知识点总览-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Linux 基础知识点总览目录Linux 简介文件和目录结构常用命令文件操作目录操作权限管理文本处理 Shell 脚本基础进程管理用户和组管理网络配置 总结 Linux 基础知识点…...
JavaScript与客户端开发
1、简介 简单的讲,JavaScript是一种脚本语言,为网站提供了一种在客户端运行程序的手段,通过它可以实现客户端数据验证、网页特效等功能。 JavaScript是一种基于对象和事件驱动(不懂啥意思,暂不管它)&…...
基于CNN的FashionMNIST数据集识别5——GoogleNet模型
源码 import torch from torch import nn from torchsummary import summaryclass Inception(nn.Module):def __init__(self, in_channels, c1, c2, c3, c4):super().__init__()self.ReLu nn.ReLU()#路径1self.p1_1 nn.Conv2d(in_channelsin_channels, out_channelsc1, kern…...
JVM垃圾回收笔记01-垃圾回收算法
文章目录 前言1. 如何判断对象可以回收1.1 引用计数法1.2 可达性分析算法查看根对象哪些对象可以作为 GC Root ?对象可以被回收,就代表一定会被回收吗? 1.3 引用类型1.强引用(StrongReference)2.软引用(SoftReference…...
【初探数据结构】树与二叉树
💬 欢迎讨论:在阅读过程中有任何疑问,欢迎在评论区留言,我们一起交流学习! 👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏,并分享给更多对数据结构感…...
numpy学习笔记10:arr *= 2向量化操作性能优化
numpy学习笔记10:arr * 2向量化操作性能优化 在 NumPy 中,直接对整个数组进行向量化操作(如 arr * 2)的效率远高于显式循环(如 for i in range(len(arr)): arr[i] * 2)。以下是详细的解释: 1. …...
蓝桥杯备考:二分答案之路标设置
最大距离,找最小空旷指数值,我们是很容易想到用二分的,我们再看看这个答案有没有二段性 是有这么个二段性的,我们只要二分就行了,但是二分的check函数是有点不好想的,我们枚举空旷值的时候,为了…...
回调方法传参汇总
文章目录 0. 引入问题1. 父子组件传值1.1 父传子:props1.2 子传父:$emit1.3 双向绑定:v-model 2. 多个参数传递3. 父组件监听方法传递其他值3.1 $event3.2 箭头方法 4. 子组件传递多个参数,父组件传递本地参数4.1 箭头函数 … 扩…...
在 Linux下使用 Python 3.11 和 FastAPI 搭建带免费证书的 HTTPS 服务器
在当今数字化时代,保障网站数据传输的安全性至关重要。HTTPS 协议通过使用 SSL/TLS 加密技术,能够有效防止数据在传输过程中被窃取或篡改。本教程将详细介绍如何在 Ubuntu 22.04 系统上,使用 Python 3.11 和 FastAPI 框架搭建一个带有免费 SS…...
