- 你的测试用例中,是否包含App前后台切换App前后台切换是我们平时常用的一个操作,比如:按手机的home键将应用置于后台、直接按手机电源键关闭屏幕或者通过最近打开的应用列表切换应用等,由此,我们可以得出结论:当app置于前台时,它的页面对我们是可见的;当app置于后台时,它的页面对我们是不可见的。 无论对于Android还是IOS,app前后台切换的流程都很长,因为牵扯到应用生命周期的管理... 你的测试用例中,是否包含App前后台切换App前后台切换是我们平时常用的一个操作,比如:按手机的home键将应用置于后台、直接按手机电源键关闭屏幕或者通过最近打开的应用列表切换应用等,由此,我们可以得出结论:当app置于前台时,它的页面对我们是可见的;当app置于后台时,它的页面对我们是不可见的。 无论对于Android还是IOS,app前后台切换的流程都很长,因为牵扯到应用生命周期的管理...
- 不 root、不解锁 BL,在 Android 手机上用 PRoot 跑起完整的 Ubuntu 24.04(arm64)环境:导入 rootfs、配置 apt 与 SSH、跑自动化任务,并附完整踩坑清单。 不 root、不解锁 BL,在 Android 手机上用 PRoot 跑起完整的 Ubuntu 24.04(arm64)环境:导入 rootfs、配置 apt 与 SSH、跑自动化任务,并附完整踩坑清单。
- 10 月 1 日,JetBrains 在自己的 AI 博客上开了 Air 的 EAP。Air 不是一个新的 AI 编程工具。官方在博客里说它是 “a conduit for agents and subscriptions you already use”,也就是你正在用的那些 agent 的通道。安装包里一个 agent 都不带,Codex、Copilot、Junie、Cursor 谁都能... 10 月 1 日,JetBrains 在自己的 AI 博客上开了 Air 的 EAP。Air 不是一个新的 AI 编程工具。官方在博客里说它是 “a conduit for agents and subscriptions you already use”,也就是你正在用的那些 agent 的通道。安装包里一个 agent 都不带,Codex、Copilot、Junie、Cursor 谁都能...
- Android Compose 语义与界面测试摘要:Compose 界面测试应围绕用户能看见和操作的语义编写,而不是依赖脆弱的视图层级。本文介绍语义节点、状态等待和交互验证。 一、测试用户可感知行为用户通过文字、角色、可点击状态和选中状态理解界面。测试优先查找这些语义属性,避免依赖组合函数数量或内部节点顺序。实现重构后,只要用户行为没变,测试就不该全部失效。重要控件应有准确且唯一的可访问名... Android Compose 语义与界面测试摘要:Compose 界面测试应围绕用户能看见和操作的语义编写,而不是依赖脆弱的视图层级。本文介绍语义节点、状态等待和交互验证。 一、测试用户可感知行为用户通过文字、角色、可点击状态和选中状态理解界面。测试优先查找这些语义属性,避免依赖组合函数数量或内部节点顺序。实现重构后,只要用户行为没变,测试就不该全部失效。重要控件应有准确且唯一的可访问名...
- Android Compose 语义与界面测试摘要:Compose 界面测试应围绕用户能看见和操作的语义编写,而不是依赖脆弱的视图层级。本文介绍语义节点、状态等待和交互验证。 一、测试用户可感知行为用户通过文字、角色、可点击状态和选中状态理解界面。测试优先查找这些语义属性,避免依赖组合函数数量或内部节点顺序。实现重构后,只要用户行为没变,测试就不该全部失效。重要控件应有准确且唯一的可访问名... Android Compose 语义与界面测试摘要:Compose 界面测试应围绕用户能看见和操作的语义编写,而不是依赖脆弱的视图层级。本文介绍语义节点、状态等待和交互验证。 一、测试用户可感知行为用户通过文字、角色、可点击状态和选中状态理解界面。测试优先查找这些语义属性,避免依赖组合函数数量或内部节点顺序。实现重构后,只要用户行为没变,测试就不该全部失效。重要控件应有准确且唯一的可访问名...
- Android Compose 语义与界面测试摘要:Compose 界面测试应围绕用户能看见和操作的语义编写,而不是依赖脆弱的视图层级。本文介绍语义节点、状态等待和交互验证。 一、测试用户可感知行为用户通过文字、角色、可点击状态和选中状态理解界面。测试优先查找这些语义属性,避免依赖组合函数数量或内部节点顺序。实现重构后,只要用户行为没变,测试就不该全部失效。重要控件应有准确且唯一的可访问名... Android Compose 语义与界面测试摘要:Compose 界面测试应围绕用户能看见和操作的语义编写,而不是依赖脆弱的视图层级。本文介绍语义节点、状态等待和交互验证。 一、测试用户可感知行为用户通过文字、角色、可点击状态和选中状态理解界面。测试优先查找这些语义属性,避免依赖组合函数数量或内部节点顺序。实现重构后,只要用户行为没变,测试就不该全部失效。重要控件应有准确且唯一的可访问名...
- Android DataStore 偏好设置与迁移摘要:DataStore 适合保存小型偏好和应用配置,并通过异步数据流提供一致读取。本文介绍存储边界、原子更新、错误处理和迁移。 一、选择适合的数据主题选择、简单筛选偏好和开关适合放入 DataStore。大量记录、复杂查询、关系和分页属于数据库问题,不应把整个业务模型塞进偏好文件。偏好键和默认值都是持久化契约。改名、改变类型或调整默认值会... Android DataStore 偏好设置与迁移摘要:DataStore 适合保存小型偏好和应用配置,并通过异步数据流提供一致读取。本文介绍存储边界、原子更新、错误处理和迁移。 一、选择适合的数据主题选择、简单筛选偏好和开关适合放入 DataStore。大量记录、复杂查询、关系和分页属于数据库问题,不应把整个业务模型塞进偏好文件。偏好键和默认值都是持久化契约。改名、改变类型或调整默认值会...
- Android DataStore 偏好设置与迁移摘要:DataStore 适合保存小型偏好和应用配置,并通过异步数据流提供一致读取。本文介绍存储边界、原子更新、错误处理和迁移。 一、选择适合的数据主题选择、简单筛选偏好和开关适合放入 DataStore。大量记录、复杂查询、关系和分页属于数据库问题,不应把整个业务模型塞进偏好文件。偏好键和默认值都是持久化契约。改名、改变类型或调整默认值会... Android DataStore 偏好设置与迁移摘要:DataStore 适合保存小型偏好和应用配置,并通过异步数据流提供一致读取。本文介绍存储边界、原子更新、错误处理和迁移。 一、选择适合的数据主题选择、简单筛选偏好和开关适合放入 DataStore。大量记录、复杂查询、关系和分页属于数据库问题,不应把整个业务模型塞进偏好文件。偏好键和默认值都是持久化契约。改名、改变类型或调整默认值会...
- Android 网络层超时、重试与错误映射摘要:可靠网络层需要把传输细节转换为应用可理解的结果。超时、重试、取消和错误映射应配合业务语义设计,避免重复提交或把所有失败显示成同一条提示。 一、划分网络职责客户端负责连接与协议解析,数据源负责调用接口,仓库负责组合本地和远端数据,界面模型负责映射展示状态。错误应在层间逐步收敛,而不是让界面解析底层异常文本。成功、网络暂不可用、需要重新认证和数据... Android 网络层超时、重试与错误映射摘要:可靠网络层需要把传输细节转换为应用可理解的结果。超时、重试、取消和错误映射应配合业务语义设计,避免重复提交或把所有失败显示成同一条提示。 一、划分网络职责客户端负责连接与协议解析,数据源负责调用接口,仓库负责组合本地和远端数据,界面模型负责映射展示状态。错误应在层间逐步收敛,而不是让界面解析底层异常文本。成功、网络暂不可用、需要重新认证和数据...
- Android RecyclerView 复杂列表性能优化摘要:复杂列表的卡顿可能来自数据计算、布局测量、图片解码或频繁更新。本文从视图复用、差异更新、稳定标识和性能测量介绍优化方法。 一、正确复用视图ViewHolder 绑定时应完整设置当前项目的可见属性。复用会让旧项目的文本、选中状态或图片短暂残留,因此每个字段都要处理,包括空值和默认值。列表项层级越简单,测量和布局通常越轻。避免不必... Android RecyclerView 复杂列表性能优化摘要:复杂列表的卡顿可能来自数据计算、布局测量、图片解码或频繁更新。本文从视图复用、差异更新、稳定标识和性能测量介绍优化方法。 一、正确复用视图ViewHolder 绑定时应完整设置当前项目的可见属性。复用会让旧项目的文本、选中状态或图片短暂残留,因此每个字段都要处理,包括空值和默认值。列表项层级越简单,测量和布局通常越轻。避免不必...
- Android RecyclerView 复杂列表性能优化摘要:复杂列表的卡顿可能来自数据计算、布局测量、图片解码或频繁更新。本文从视图复用、差异更新、稳定标识和性能测量介绍优化方法。 一、正确复用视图ViewHolder 绑定时应完整设置当前项目的可见属性。复用会让旧项目的文本、选中状态或图片短暂残留,因此每个字段都要处理,包括空值和默认值。列表项层级越简单,测量和布局通常越轻。避免不必... Android RecyclerView 复杂列表性能优化摘要:复杂列表的卡顿可能来自数据计算、布局测量、图片解码或频繁更新。本文从视图复用、差异更新、稳定标识和性能测量介绍优化方法。 一、正确复用视图ViewHolder 绑定时应完整设置当前项目的可见属性。复用会让旧项目的文本、选中状态或图片短暂残留,因此每个字段都要处理,包括空值和默认值。列表项层级越简单,测量和布局通常越轻。避免不必...
- Android Gradle 多模块架构治理摘要:多模块可以缩小代码边界、改善并行开发和构建缓存,但拆分本身不会自动带来更好的架构。本文从模块职责、依赖方向和构建配置介绍治理方法。 一、明确拆分目标模块化可能为了隔离业务、复用基础能力、限制依赖或缩短局部构建时间。目标不同,模块边界也不同。先记录当前痛点和构建耗时,再决定按业务域、平台能力或层次拆分。不要只按包名机械拆模块。一个模块应有清楚... Android Gradle 多模块架构治理摘要:多模块可以缩小代码边界、改善并行开发和构建缓存,但拆分本身不会自动带来更好的架构。本文从模块职责、依赖方向和构建配置介绍治理方法。 一、明确拆分目标模块化可能为了隔离业务、复用基础能力、限制依赖或缩短局部构建时间。目标不同,模块边界也不同。先记录当前痛点和构建耗时,再决定按业务域、平台能力或层次拆分。不要只按包名机械拆模块。一个模块应有清楚...
- Android Gradle 多模块架构治理摘要:多模块可以缩小代码边界、改善并行开发和构建缓存,但拆分本身不会自动带来更好的架构。本文从模块职责、依赖方向和构建配置介绍治理方法。 一、明确拆分目标模块化可能为了隔离业务、复用基础能力、限制依赖或缩短局部构建时间。目标不同,模块边界也不同。先记录当前痛点和构建耗时,再决定按业务域、平台能力或层次拆分。不要只按包名机械拆模块。一个模块应有清楚... Android Gradle 多模块架构治理摘要:多模块可以缩小代码边界、改善并行开发和构建缓存,但拆分本身不会自动带来更好的架构。本文从模块职责、依赖方向和构建配置介绍治理方法。 一、明确拆分目标模块化可能为了隔离业务、复用基础能力、限制依赖或缩短局部构建时间。目标不同,模块边界也不同。先记录当前痛点和构建耗时,再决定按业务域、平台能力或层次拆分。不要只按包名机械拆模块。一个模块应有清楚...
- Android CameraX 相机预览与拍照摘要:相机功能涉及权限、设备能力、生命周期和图像处理。CameraX 封装了常见用例,但应用仍需管理权限流程、预览比例、拍摄反馈和资源释放。 一、组合相机用例预览、拍照和图像分析是不同职责。根据页面需要绑定相应组件,避免打开相机后无条件运行图像分析。预览负责实时画面,拍照负责生成静态图像,分析则适合识别和检测任务。将相机用例绑定到对应页面生命周... Android CameraX 相机预览与拍照摘要:相机功能涉及权限、设备能力、生命周期和图像处理。CameraX 封装了常见用例,但应用仍需管理权限流程、预览比例、拍摄反馈和资源释放。 一、组合相机用例预览、拍照和图像分析是不同职责。根据页面需要绑定相应组件,避免打开相机后无条件运行图像分析。预览负责实时画面,拍照负责生成静态图像,分析则适合识别和检测任务。将相机用例绑定到对应页面生命周...
- Android Hilt 依赖注入与作用域摘要:依赖注入把对象创建与业务使用分开,让服务替换、测试和生命周期管理更清楚。本文介绍注入边界、作用域和依赖图的常见问题。 一、从显式依赖开始业务对象应通过构造参数声明需要的仓库、服务或时钟,而不是在内部自行创建数据库和网络客户端。构造注入能让依赖关系容易阅读,也便于在单元测试中直接传入替代实现。接口和实现之间的映射应显式声明。第三方类型、需要额外... Android Hilt 依赖注入与作用域摘要:依赖注入把对象创建与业务使用分开,让服务替换、测试和生命周期管理更清楚。本文介绍注入边界、作用域和依赖图的常见问题。 一、从显式依赖开始业务对象应通过构造参数声明需要的仓库、服务或时钟,而不是在内部自行创建数据库和网络客户端。构造注入能让依赖关系容易阅读,也便于在单元测试中直接传入替代实现。接口和实现之间的映射应显式声明。第三方类型、需要额外...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签