不止热门角色,我们为你扩展了更多细分角色分类,覆盖职场提升、商业增长、内容创作、学习规划等多元场景。精准匹配不同目标,让每一次生成都更有方向、更高命中率。
立即探索更多角色分类,找到属于你的增长加速器。
函数名称:loadImageAsync 简要描述:在主线程安全地将网络图片异步加载到 ImageView。支持占位图与错误图显示、圆角或圆形裁剪、内存与磁盘缓存,并在宿主生命周期内自动取消请求以避免资源泄漏。
参数详细说明
返回值说明
使用示例代码
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 {
// 加载失败后的逻辑(例如提示或重试入口)
}
}
)
}
}
注意事项和异常处理
相关函数或模块链接
函数名称:requestLocationOnce — 请求一次高精度定位
简要描述:
参数详细说明:
返回值说明:
使用示例代码:
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()
}
)
}
}
注意事项和异常处理:
相关函数或模块链接:
函数名称:fetchJsonWithCache 简要描述:从指定 URL 获取 JSON 数据,结合 ETag/Last-Modified 进行条件请求与本地磁盘缓存。支持在网络不可用时使用有效缓存进行离线回退,并处理请求超时。成功时将响应解析为 JSONObject 并通过回调返回,失败时通过错误回调返回异常。
参数详细说明
返回值说明
函数行为与数据处理流程(概要)
使用示例代码
// 调用示例(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)
}
)
注意事项和异常处理
相关函数或模块链接
试用后开通会员即可无限使用