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

Android函数文档生成器

👁️ 110 次查看
📅 Nov 29, 2025
💡 核心价值: 本提示词专为Android开发场景设计,能够根据函数名称和功能描述,自动生成专业、准确的技术文档。它采用结构化思维,确保输出的函数说明包含完整的参数说明、返回值描述、使用示例和注意事项,帮助开发者快速理解函数用途和调用方式,提升代码可维护性和团队协作效率。生成的文档风格严谨专业,符合Android开发规范要求。

🎯 可自定义参数(4个)

函数名称
需要生成文档的Android函数名称
函数功能
函数的主要功能和用途描述
参数信息
函数的参数列表和类型信息
所属模块
函数所属的功能模块或组件类别

🎨 效果示例

函数名称:loadImageAsync 简要描述:在主线程安全地将网络图片异步加载到 ImageView。支持占位图与错误图显示、圆角或圆形裁剪、内存与磁盘缓存,并在宿主生命周期内自动取消请求以避免资源泄漏。

参数详细说明

  • context: Context
    • 描述:用于创建图片加载请求、访问资源以及感知宿主生命周期(当 Context 关联到 Activity/Fragment 时)。
    • 约束:建议传入与目标 ImageView 所在界面关联的 Activity/Fragment 的 Context,以便启用生命周期自动取消;传入 Application Context 时通常无法感知界面生命周期。
  • imageView: ImageView
    • 描述:图片的目标视图,加载成功后会在主线程设置位图/Drawable。
    • 约束:需为当前界面中的有效视图实例;在视图已被销毁或移除时会自动取消或不再更新。
  • url: String
    • 描述:网络图片地址。
    • 约束:必须是有效的可访问 URL。空字符串或不合法的 URL 会导致加载失败并显示错误占位图。
  • placeholderRes: Int
    • 描述:加载过程中显示的占位图资源 ID。
    • 约束:应为有效的 drawable 资源 ID;无效资源 ID 可能导致不显示或抛出资源异常(取决于具体实现)。
  • errorRes: Int
    • 描述:加载失败时显示的错误占位图资源 ID。
    • 约束:应为有效的 drawable 资源 ID;当请求失败、URL 无效或被取消时显示。
  • transform: ImageTransform?
    • 描述:图片裁剪/圆角配置。可用于实现圆形裁剪或指定圆角半径等样式。
    • 约束:传入 null 表示不进行变换;具体字段与构造方式请参阅 ImageTransform 类型定义。通常缓存会基于 url 与 transform 组合键进行区分。
  • onComplete: (Boolean) -> Unit
    • 描述:加载完成回调。参数为 true 表示成功设置到 ImageView,false 表示失败或请求被取消。
    • 约束:回调仅在请求结束时触发一次。请避免在回调中持有对 Activity/Fragment 的强引用,以免造成泄漏。

返回值说明

  • 类型:Unit
  • 说明:函数本身不返回结果;加载状态通过 onComplete 回调传递。加载过程异步执行,UI 赋值在主线程进行。

使用示例代码

class ProfileFragment : Fragment(R.layout.fragment_profile) {

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        val avatarView = view.findViewById<ImageView>(R.id.avatar)

        // 示例:不进行变换
        loadImageAsync(
            context = requireContext(),
            imageView = avatarView,
            url = "https://example.com/user/avatar.jpg",
            placeholderRes = R.drawable.ic_avatar_placeholder,
            errorRes = R.drawable.ic_avatar_error,
            transform = null,
            onComplete = { success ->
                if (success) {
                    // 加载成功后的逻辑(例如打点或启用交互)
                } else {
                    // 加载失败后的逻辑(例如提示或重试入口)
                }
            }
        )
    }
}

注意事项和异常处理

  • 生命周期自动取消
    • 当传入的 Context 关联到 Activity/Fragment 且可获取宿主生命周期时,请求会在宿主销毁时自动取消,避免更新已销毁的视图与内存泄漏。
    • 若使用 Application Context,通常无法自动取消;请在界面销毁时自行确保不再使用该 ImageView。
  • 线程与并发
    • 加载过程为异步操作;UI 更新在主线程执行,无需手动切换线程。
    • 对同一 ImageView 发起新的请求会取消或覆盖旧请求,以防止视图显示错乱。
  • 资源与参数校验
    • placeholderRes 与 errorRes 必须为有效 drawable 资源 ID;传入无效资源可能导致显示异常或资源访问错误。
    • url 应为可访问的网络地址;无效或不可达的地址会触发错误占位图与失败回调。
  • 变换与缓存
    • 内存/磁盘缓存通常将 transform 作为缓存键的一部分;更改裁剪配置会导致重新解码与缓存写入。
    • 若远端图片内容变更但 URL 不变,可能会命中缓存显示旧图。需要强制刷新时,请更改 URL(例如追加版本参数)或使用模块提供的缓存清理能力。
  • RecyclerView 等列表场景
    • 视图复用频繁,建议在绑定时立即调用该函数,并依赖自动取消机制避免旧请求回调到新复用的视图。
  • 回调使用
    • onComplete 回调仅用于通知结果状态;避免在回调中进行耗时操作或持有界面的强引用,以免造成卡顿与泄漏。

相关函数或模块链接

  • 所属模块:UI/图片与媒体
  • 类型说明:ImageTransform(请参阅该类型的具体字段与构造方式)
  • 缓存与清理:如需缓存策略或清理机制的详细说明,请参阅 UI/图片与媒体 模块文档与缓存章节。

函数名称:requestLocationOnce — 请求一次高精度定位

简要描述:

  • 发起一次高精度定位请求,自动检查并申请所需定位权限。
  • 在指定超时时间内未获取到实时位置时,回退返回最近一次缓存位置。
  • 通过回调返回经纬度与精度信息,完成后自动移除定位更新监听,避免资源泄漏。
  • 适用于前台组件(Activity)内的单次定位场景。

参数详细说明:

  • activity: ComponentActivity
    • 说明:用于权限申请与生命周期绑定的上下文组件。请在组件处于有效生命周期(如已启动/可见)时调用。
    • 约束:不可为 null;建议为当前前台页面的 Activity 实例。
  • timeoutMs: Long
    • 说明:定位超时时间,单位为毫秒。超过该时间仍未获取到实时位置时,将回退到最近一次缓存位置。
    • 约束:应为正整数;过短可能导致频繁回退到缓存位置,过长会增加等待时间。
  • priority: LocationPriority
    • 说明:定位精度策略,用于控制定位的精度与耗电/延迟权衡。具体可选值以项目中该类型定义为准。
    • 约束:传入合法的策略枚举/配置;不合法的策略可能被忽略或导致请求失败。
  • onResult: (Location) -> Unit
    • 说明:定位成功回调,仅回调一次。可能为实时位置或在超时后返回的最近一次缓存位置。
    • 返回数据:Location 对象,包含至少以下信息:
      • latitude:纬度(Double)
      • longitude:经度(Double)
      • accuracy:精度(米,Float/Double,依实现而定)
  • onDenied: () -> Unit
    • 说明:权限被拒绝时触发的回调(包括用户明确拒绝的情况)。仅回调一次。

返回值说明:

  • 本函数为异步操作,无直接返回值(Unit)。
  • 结果通过回调返回:
    • 成功:触发 onResult,提供 Location(实时或缓存)。
    • 权限拒绝:触发 onDenied。
  • 完成回调后自动移除定位更新监听,无需手动清理。

使用示例代码:

class SampleActivity : ComponentActivity() {

    fun fetchLocationOnce() {
        requestLocationOnce(
            activity = this,
            timeoutMs = 10_000L, // 10 秒超时
            priority = /* 根据项目定义选择合适策略,例如:LocationPriority.HighAccuracy */,
            onResult = { location ->
                val lat = location.latitude
                val lng = location.longitude
                val acc = location.accuracy
                // 使用定位结果,例如上传或展示
                // updateUi(lat, lng, acc)
            },
            onDenied = {
                // 展示权限被拒绝的提示或引导用户查看权限设置
                // showPermissionDeniedDialog()
            }
        )
    }
}

注意事项和异常处理:

  • 权限:
    • 函数会自动检查并申请定位权限;若用户拒绝,将触发 onDenied。
    • 已授予权限的情况下不会再次弹窗。
  • 生命周期与上下文:
    • 需传入当前有效的 ComponentActivity;若组件已销毁或不可见,可能导致权限流程或定位请求无法正常进行。
  • 超时与缓存:
    • 超时后回退到最近一次缓存位置。缓存位置可能与实时位置存在偏差,请根据业务判断可用性。
    • 建议为 timeoutMs 设定合理值,以平衡等待时长与缓存回退的概率。
  • 回调调用次数:
    • onResult 与 onDenied 均为单次回调;不会重复触发。
  • 线程与耗时操作:
    • 回调中的处理请避免阻塞(例如长时间 I/O),以免影响界面体验。
  • 监听清理:
    • 函数在回调后会自动移除定位更新监听,无需额外清理。

相关函数或模块链接:

  • 所属模块:位置/权限
  • 相关:位置权限申请与单次定位功能(具体链接或文档条目以项目实际文档为准)

函数名称:fetchJsonWithCache 简要描述:从指定 URL 获取 JSON 数据,结合 ETag/Last-Modified 进行条件请求与本地磁盘缓存。支持在网络不可用时使用有效缓存进行离线回退,并处理请求超时。成功时将响应解析为 JSONObject 并通过回调返回,失败时通过错误回调返回异常。

参数详细说明

  • url: String
    • 描述:请求地址,需为可访问的绝对 HTTP/HTTPS URL。
    • 约束:必须为有效的 URL;建议使用 HTTPS 以保障安全。
  • cacheKey: String
    • 描述:本地磁盘缓存的键,用于标识与复用对应的缓存条目(包含响应体、ETag、Last-Modified、写入时间戳)。
    • 约束:在同一数据集内需保持唯一与稳定;变更后将视为不同缓存。
  • maxAgeMinutes: Int
    • 描述:缓存有效期(分钟)。用于控制离线回退时是否允许使用缓存。
    • 约束:应为正整数(> 0);过期缓存不会在离线回退中使用。
  • headers: Map<String, String>
    • 描述:追加到 HTTP 请求的额外请求头。
    • 约束:键与值均为非空字符串;若包含 If-None-Match 或 If-Modified-Since,可能被内部的条件请求头覆盖或与其冲突,建议不要自行设置这两个头。
  • onSuccess: (JSONObject) -> Unit
    • 描述:成功回调,提供解析后的 JSONObject。
    • 调用约束:仅调用一次;回调线程未作保证,调用方如需在主线程处理,请自行切换线程。
  • onError: (Throwable) -> Unit
    • 描述:失败回调,提供导致失败的异常信息。
    • 调用约束:仅调用一次;当网络不可用且缓存不存在或已过期、HTTP 非 2xx、超时、解析失败等情况将触发。

返回值说明

  • 返回类型:Unit(异步执行)
  • 结果交付:通过 onSuccess 或 onError 二选一回调交付结果,不直接返回数据。
  • 成功条件:
    • 在线场景:服务端返回 200 及合法 JSON;或返回 304 时读取缓存成功。
    • 离线场景:存在未过期(maxAgeMinutes 内)缓存并读取成功。
  • 失败条件:
    • URL 无效、网络不可用且无有效缓存、请求超时、HTTP 非 2xx/304、响应体为空或非合法 JSON、磁盘读写异常等。

函数行为与数据处理流程(概要)

  • 条件请求与缓存协作
    • 若缓存中存在 ETag 或 Last-Modified:
      • 在线发起条件请求,分别设置 If-None-Match 与/或 If-Modified-Since。
      • 响应 304 Not Modified:读取并返回缓存 JSON。
      • 响应 200 OK:更新缓存(响应体 + 新的 ETag/Last-Modified + 写入时间戳),返回新的 JSON。
    • 若无缓存元数据:直接 GET,成功后写入缓存。
  • 离线回退
    • 检测网络不可用时,若存在未过期缓存(当前时间 - 写入时间 ≤ maxAgeMinutes):直接返回缓存。
    • 无缓存或缓存过期则走错误回调。
  • 请求超时
    • 超时作为失败处理,触发 onError;超时时间由内部实现或全局网络配置决定。

使用示例代码

// 调用示例(Kotlin)
fetchJsonWithCache(
    url = "https://api.example.com/v1/profile",
    cacheKey = "profile_v1",
    maxAgeMinutes = 30,
    headers = mapOf(
        "Authorization" to "Bearer <token>",
        "Accept" to "application/json"
    ),
    onSuccess = { json ->
        // 解析字段示例(确保服务端返回顶层为对象)
        val name = json.optString("name")
        val age = json.optInt("age", -1)
        // 更新 UI:如需在主线程,请切换线程(例如使用 Handler/Dispatchers.Main)
    },
    onError = { error ->
        // 统一错误处理与提示
        // 可根据异常类型进行分支处理(超时、网络不可用、解析失败等)
        // 例如:Log.e("fetchJsonWithCache", "request failed", error)
    }
)

注意事项和异常处理

  • 顶层 JSON 类型:onSuccess 回调的参数类型为 JSONObject,若服务端返回顶层为数组或非 JSON,解析将失败并触发 onError。请确保接口返回顶层为对象,或在服务端调整格式。
  • 缓存键设计:cacheKey 应与接口路径及业务版本强关联;若接口字段或结构变更,请更换 cacheKey 以隔离旧缓存。
  • 有效期控制:离线回退仅在缓存未过期时进行;过期缓存不会返回。若需“过期但可用”的策略,请在调用侧增加降级逻辑(例如自行读取缓存文件)。
  • 条件请求头冲突:内部会设置 If-None-Match/If-Modified-Since(基于缓存元数据)。请勿在 headers 中重复设置这两个头,以避免不可预期行为。
  • 回调线程:不保证在主线程回调。UI 更新前请切换到主线程。
  • 错误类型(可能的 Throwable)
    • IllegalArgumentException:URL 不合法或参数不符合约束。
    • IOException/UnknownHostException:网络错误或域名解析失败。
    • SocketTimeoutException:请求超时。
    • JSONException:响应体无法解析为 JSONObject。
    • 其他 I/O 异常:磁盘读写失败、缓存损坏等。
  • 数据一致性:在同一 cacheKey 上并发请求可能引起缓存写入竞争;如需严格一致性,请在调用侧序列化请求或加锁。
  • 安全建议:优先使用 HTTPS;避免在 headers 中传递敏感信息的明文。

相关函数或模块链接

示例详情

📖 如何使用

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

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

加载中...