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

Android代码注释生成专家

👁️ 117 次查看
📅 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))
    • 清单声明(示意)

示例详情

📖 如何使用

模式 1:即插即用(手动档)
直接复制参数化模版。手动修改 {{变量}} 即可快速发起对话,适合对结果有精准预期的单次任务。
加载中...
💬 模式 2:沉浸式引导(交互档)
一键转化为交互式脚本。AI 将化身专业面试官或顾问,主动询问并引导您提供关键信息,最终合成高度定制化的专业结果。
转为交互式
🚀 模式 3:原生指令自动化(智能档)
无需切换,输入 / 唤醒 8000+ 专家级提示词。 插件将全站提示词库深度集成于 Chat 输入框。基于当前对话语境,系统智能推荐最契合的 Prompt 并自动完成参数化,让海量资源触手可及,从此彻底告别“手动搬运”。
安装插件
🔌 发布为 API 接口
将 Prompt 接入自动化工作流,核心利用平台批量评价反馈引擎,实现"采集-评价-自动优化"的闭环。通过 RESTful 接口动态注入变量,让程序在批量任务中自动迭代出更高质量的提示词方案,实现 Prompt 的自我进化。
发布 API
🤖 发布为 Agent 应用
以此提示词为核心生成独立 Agent 应用,内嵌相关工具(图片生成、参数优化等),提供完整解决方案。
创建 Agent

🕒 版本历史

当前版本
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
用户评价与反馈系统,即将上线
倾听真实反馈,在这里留下您的使用心得,敬请期待。

试用后开通会员即可无限使用

加载中...