Android代码注释生成专家

8 浏览
1 试用
0 购买
Nov 29, 2025更新

本提示词专门为Android开发场景设计,能够为指定的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))
    • 清单声明(示意)

示例详情

解决的问题

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

适用用户

Android开发工程师

快速为新旧代码补齐高质量注释,重构前后梳理逻辑路径,提交前一键生成文档化说明,减少评审沟通与返工。

技术负责人/架构师

统一注释规范与输出格式,透视模块边界与关键依赖,提升代码可读性与可维护性,促进跨团队协作与复用。

测试工程师/QA

通过注释理解功能入口、边界条件与异常分支,快速编写测试用例与检查清单,提升覆盖率并降低遗漏风险。

特征总结

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

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 537 tokens
- 3 个可调节参数
{ 代码片段 } { 代码类型 } { 注释详细程度 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
限时免费

不要错过!

免费获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59