×
¥
查看详情
🔥 会员专享 文生文 其它

Android代码注释生成专家

👁️ 118 次查看
📅 Nov 29, 2025
💡 核心价值: 本提示词专门为Android开发场景设计,能够为指定的Android代码片段生成精准、专业的技术注释。通过系统化的分析流程,深入理解代码逻辑和业务功能,生成结构清晰、内容完整的注释文档,帮助开发团队提升代码可读性和维护性。支持多种代码类型和复杂度的注释生成,确保技术准确性和实用性。

🎯 可自定义参数(3个)

代码片段
需要生成注释的Android代码片段
代码类型
代码类型分类
注释详细程度
注释的详细程度要求

🎨 效果示例

  • 代码功能概述

    • 本代码实现一个用于会话消息列表的 RecyclerView 适配器 MessageAdapter,基于 ListAdapter 和 DiffUtil 实现高效的增量刷新。
    • 展示两行文本的消息项:第一行为发送者(sender),第二行为消息内容(content)。
    • 支持点击与长按回调;对未读消息通过加粗发送者名称做视觉强调。
  • 核心逻辑说明

    • 数据模型:Message 为不可变数据类,包含唯一标识 id、sender、content、timestamp、unread 状态。Kotlin data class 的结构化 equals 用于内容比较。
    • 差分更新:MessageDiff 以 id 判断同一数据项(areItemsTheSame),以 data class 的 equals 判断内容是否相同(areContentsTheSame)。这样当 unread、content、timestamp 等任一字段变更时,DiffUtil 都会触发必要的 UI 更新。
    • 视图绑定:
      • 使用系统布局 android.R.layout.simple_list_item_2,对应 text1=tvSender、text2=tvContent。
      • onBindViewHolder 中为 sender、content 赋值;根据 unread 状态对 tvSender 设置加粗或正常字体样式,确保复用时两种状态都被正确覆盖。
    • 事件处理:
      • 点击事件:itemView.setOnClickListener -> 回调外部 onClick(Message)。
      • 长按事件:itemView.setOnLongClickListener -> 回调外部 onLongClick(Message),并返回 true 表示消费该事件,避免向上继续分发。
    • 列表更新:update(messages) 仅做 submitList(messages) 的直通封装,触发异步差分计算与 UI 刷新。
  • 技术要点注释

    • ListAdapter/AsyncListDiffer:内部使用异步线程计算差分,主线程安全更新;要求传入的列表为新实例(不可在原列表就地修改),数据项尽量保持不可变以确保 equals 判定稳定可靠。
    • Diff 策略:
      • areItemsTheSame 使用 id 比较,保证同一消息的“身份”一致性(支持动画与局部刷新)。
      • areContentsTheSame 使用数据类 equals,任何字段变化都会被识别并触发重新绑定。
    • 样式设置:使用 setTypeface(currentTypeface, style) 切换粗体/正常;由于 RecyclerView 复用,必须成对设置两个分支,避免样式“脏复用”,本实现已覆盖两个状态。
    • 系统布局:android.R.layout.simple_list_item_2 只包含两行文本,若后续需要头像、时间等更多元素,需自定义布局并扩展 ViewHolder。
    • 事件消费:长按返回 true 防止与点击等手势冲突,符合交互常规。
  • 参数说明

    • MessageAdapter 构造参数
      • onClick: (Message) -> Unit
        • 说明:单击列表项时的回调,入参为被点击的消息。
        • 返回:无
      • onLongClick: (Message) -> Unit
        • 说明:长按列表项时的回调,入参为被长按的消息。
        • 返回:无(内部 OnLongClickListener 返回 true 以消费事件)
    • private object MessageDiff : DiffUtil.ItemCallback
      • areItemsTheSame(oldItem: Message, newItem: Message): Boolean
        • 说明:判断两项是否为同一数据实体;此处比较 id。
        • 返回:true 表示同一实体。
      • areContentsTheSame(oldItem: Message, newItem: Message): Boolean
        • 说明:判断内容是否完全一致;此处使用数据类 equals。
        • 返回:true 表示无需重新绑定 UI。
    • onCreateViewHolder(parent: ViewGroup, viewType: Int): VH
      • 说明:创建 ViewHolder,使用 simple_list_item_2 布局。
      • 返回:VH 实例。
    • onBindViewHolder(holder: VH, position: Int)
      • 说明:将当前位置消息数据绑定到视图,并根据 unread 设置字体样式;注册点击与长按回调。
      • 返回:无。
    • update(messages: List)
      • 说明:提交新列表数据,触发异步差分与 UI 刷新。
      • 返回:无。
  • 使用示例

    • 在 Activity/Fragment 中配置 RecyclerView 与适配器
      class ConversationFragment : Fragment() {
      
          private lateinit var adapter: MessageAdapter
      
          override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
              val rv = view.findViewById<RecyclerView>(R.id.recyclerView)
              adapter = MessageAdapter(
                  onClick = { msg ->
                      // 示例:点击后标记为已读并刷新列表
                      val current = adapter.currentList
                      val updated = current.map { if (it.id == msg.id) it.copy(unread = false) else it }
                      adapter.update(updated)
                      // 继续跳转到消息详情等
                  },
                  onLongClick = { msg ->
                      // 示例:长按弹出菜单
                      showMessageActionsDialog(msg)
                  }
              )
              rv.layoutManager = LinearLayoutManager(requireContext())
              rv.adapter = adapter
      
              // 首次加载数据
              val initial = listOf(
                  Message(id = "1", sender = "Alice", content = "Hi", timestamp = 1710000000000, unread = true),
                  Message(id = "2", sender = "Bob", content = "See you", timestamp = 1710001000000, unread = false)
              )
              adapter.update(initial)
          }
      }
      
    • 列表更新注意事项
      • 每次更新请传入新的 List 实例(如使用 map/filter/toList 等创建),避免原地修改原列表,确保 DiffUtil 正确工作。
  • 代码功能概述

    • 实现一个前台同步服务(Service),通过通知栏展示进度。
    • 支持外部通过Action启动/停止:ACTION_START 开始同步并前台运行,ACTION_STOP 停止服务。
    • 同步任务在协程中执行,完成后自动停止前台与服务自身。
  • 核心逻辑说明

    • 服务生命周期
      • onCreate:创建通知渠道(Android O+)。
      • onStartCommand:
        • ACTION_START:startForeground 启动前台通知并调用 beginSync。
        • ACTION_STOP:stopSelf 停止服务。
        • 其他:仅启动前台通知(“准备同步”)。
      • onDestroy:取消协程作用域,清理任务。
    • 同步流程(beginSync)
      • 在 IO 线程的协程中执行,模拟 3 个步骤,每步延迟 600ms。
      • 每步通过相同的通知 ID 更新进度文本。
      • finally 块中保证无论正常结束还是异常/取消,均 stopForeground(true) 并 stopSelf。
    • 通知管理
      • buildNotification:构建持续显示的前台通知(小图标为系统上传图标,IMPORTANCE_LOW)。
      • updateNotify:通过 NotificationManager.notify 更新同一通知。
      • ensureChannel:O+ 创建通知渠道,避免前台启动失败/无通知问题。
  • 技术要点注释

    • 前台服务约束:O+ 必须在短时间内调用 startForeground 并提供有效通知,此处在 ACTION_START 与默认分支均满足。
    • 协程与生命周期:使用 SupervisorJob + Dispatchers.IO,onDestroy 取消作用域,避免任务泄漏;finally 确保前台与服务收尾一致性。
    • 重入与并发:未对多次 ACTION_START 并发做防护,可能并行启动多个同步任务;如需避免应引入单任务锁或 Job 状态检查。
    • 服务类型:onBind 返回 null,表示仅“启动型”服务,不支持绑定。
    • 通知更新:复用同一 NOTIFY_ID 实现增量更新;stopForeground(true) 同时移除通知。
  • 参数说明

    • onStartCommand(intent: Intent?, flags: Int, startId: Int): Int
      • intent.action:决定启动/停止/默认行为(ACTION_START、ACTION_STOP 或其他)。
      • flags/startId:由系统传入的启动标记与序号,本实现未使用。
      • 返回值 START_STICKY:被系统回收后尽量重建服务(intent 可能为 null)。
    • updateNotify(text: String)
      • text:通知正文,将用于更新前台通知内容。
    • buildNotification(text: String): Notification
      • text:通知正文;返回构建完成的通知实例。
    • onBind(intent: Intent?): IBinder?
      • intent:绑定意图(未使用);返回 null 表示不支持绑定。
  • 使用示例

    • 启动同步(建议在 O+ 使用 startForegroundService)
      • Kotlin:
        • if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { ContextCompat.startForegroundService(context, Intent(context, SyncService::class.java).setAction(SyncService.ACTION_START)) } else { context.startService(Intent(context, SyncService::class.java).setAction(SyncService.ACTION_START)) }
    • 停止同步
      • Kotlin:
        • context.startService(Intent(context, SyncService::class.java).setAction(SyncService.ACTION_STOP))
    • 清单声明(示意)

示例详情

📖 如何使用

30秒出活:复制 → 粘贴 → 搞定
与其花几十分钟和AI聊天、试错,不如直接复制这些经过千人验证的模板,修改几个 {{变量}} 就能立刻获得专业级输出。省下来的时间,足够你轻松享受两杯咖啡!
加载中...
💬 不会填参数?让 AI 反过来问你
不确定变量该填什么?一键转为对话模式,AI 会像资深顾问一样逐步引导你,问几个问题就能自动生成完美匹配你需求的定制结果。零门槛,开口就行。
转为对话模式
🚀 告别复制粘贴,Chat 里直接调用
无需切换,输入 / 唤醒 8000+ 专家级提示词。 插件将全站提示词库深度集成于 Chat 输入框。基于当前对话语境,系统智能推荐最契合的 Prompt 并自动完成参数化,让海量资源触手可及,从此彻底告别"手动搬运"。
即将推出
🔌 接口一调,提示词自己会进化
手动跑一次还行,跑一百次呢?通过 API 接口动态注入变量,接入批量评价引擎,让程序自动迭代出更高质量的提示词方案。Prompt 会自己进化,你只管收结果。
发布 API
🤖 一键变成你的专属 Agent 应用
不想每次都配参数?把这条提示词直接发布成独立 Agent,内嵌图片生成、参数优化等工具,分享链接就能用。给团队或客户一个"开箱即用"的完整方案。
创建 Agent

✅ 特性总结

一键为Android代码生成结构化注释,含功能概述、核心逻辑、参数与示例。
自动解析常见Android组件代码,精准还原交互与业务流程细节。
按需调节注释详细程度,适配开发、重构、交接多场景,兼顾速度与深度。
智能识别关键算法与业务规则,标注易错点与依赖关系,降低排查与维护成本。
统一团队注释风格与规范,一键生成一致输出,让多人协作与评审更顺畅。
多层结构分析梳理模块边界与数据流,避免遗漏关键细节,提升代码可读性。
自动校验注释准确性与完整性,拒绝冗余与歧义,确保与实际实现严格对齐。
无缝融入日常研发流程,作为提交前的文档补全助手,缩短从编码到交付周期。
提供可复用注释模板与示例库,沉淀团队知识资产,帮助新人快速熟悉项目。

🎯 解决的问题

让Android团队把任意代码片段即刻转化为“可读、可交付、可复用”的专业注释与小型说明文档,覆盖新功能开发、重构、代码评审与技术交接等关键场景。通过标准化的结构输出与可控的详细程度,显著提升代码可读性与维护性,降低新人上手与评审成本,减少沟通偏差与质量风险,推动团队知识沉淀与交付效率提升。

🕒 版本历史

当前版本
v2.1 2024-01-15
优化输出结构,增强情节连贯性
  • ✨ 新增章节节奏控制参数
  • 🔧 优化人物关系描述逻辑
  • 📝 改进主题深化引导语
  • 🎯 增强情节转折点设计
v2.0 2023-12-20
重构提示词架构,提升生成质量
  • 🚀 全新的提示词结构设计
  • 📊 增加输出格式化选项
  • 💡 优化角色塑造引导
v1.5 2023-11-10
修复已知问题,提升稳定性
  • 🐛 修复长文本处理bug
  • ⚡ 提升响应速度
v1.0 2023-10-01
首次发布
  • 🎉 初始版本上线
COMING SOON
版本历史追踪,即将启航
记录每一次提示词的进化与升级,敬请期待。

💬 用户评价

4.8
⭐⭐⭐⭐⭐
基于 28 条评价
5星
85%
4星
12%
3星
3%
👤
电商运营 - 张先生
⭐⭐⭐⭐⭐ 2025-01-15
双十一用这个提示词生成了20多张海报,效果非常好!点击率提升了35%,节省了大量设计时间。参数调整很灵活,能快速适配不同节日。
效果好 节省时间
👤
品牌设计师 - 李女士
⭐⭐⭐⭐⭐ 2025-01-10
作为设计师,这个提示词帮我快速生成创意方向,大大提升了工作效率。生成的海报氛围感很强,稍作调整就能直接使用。
创意好 专业
COMING SOON
用户评价与反馈系统,即将上线
倾听真实反馈,在这里留下您的使用心得,敬请期待。
加载中...
📋
提示词复制
在当前页面填写参数后直接复制: