- Android 运行时权限设计与兼容运行时权限不仅是调用一次系统弹窗。不同系统版本会调整权限粒度,用户可能拒绝、仅允许一次、选择部分内容,或者在系统设置中撤销权限。正确设计应以功能能力为中心,按使用时机请求,并为每种明确结果提供可理解的后续路径。 一、先判断是否真的需要权限权限请求越少,用户决策成本和合规风险越低。开发前可以确认:是否有系统选择器可以完成同一目标。是否只需访问用户主动选择的... Android 运行时权限设计与兼容运行时权限不仅是调用一次系统弹窗。不同系统版本会调整权限粒度,用户可能拒绝、仅允许一次、选择部分内容,或者在系统设置中撤销权限。正确设计应以功能能力为中心,按使用时机请求,并为每种明确结果提供可理解的后续路径。 一、先判断是否真的需要权限权限请求越少,用户决策成本和合规风险越低。开发前可以确认:是否有系统选择器可以完成同一目标。是否只需访问用户主动选择的...
- Android 离线优先的数据同步设计离线优先并不意味着所有页面永远展示缓存,而是让界面拥有稳定的本地数据源,并在网络可用时按业务规则同步。设计不当时,常见问题包括本地修改被旧响应覆盖、离线操作重复提交、多个同步任务互相抢写,以及用户看到无法判断新旧的数据。 一、建立单一可观察数据源页面优先观察本地数据库,网络同步只负责更新数据库。这样界面不会在接口结果和本地结果之间反复切换。class ... Android 离线优先的数据同步设计离线优先并不意味着所有页面永远展示缓存,而是让界面拥有稳定的本地数据源,并在网络可用时按业务规则同步。设计不当时,常见问题包括本地修改被旧响应覆盖、离线操作重复提交、多个同步任务互相抢写,以及用户看到无法判断新旧的数据。 一、建立单一可观察数据源页面优先观察本地数据库,网络同步只负责更新数据库。这样界面不会在接口结果和本地结果之间反复切换。class ...
- Android 分页加载与状态管理长列表通常采用分页加载减少首屏等待和内存占用。分页看似只是维护页码,实际还要处理刷新、追加、重复触发、空页、错误重试和数据去重。一个可靠的分页实现,应先明确服务端分页协议,再把刷新与追加建模为不同状态。 一、确认分页协议常见协议有页码分页和游标分页:页码分页通过页号和每页数量请求,适合相对稳定的数据集合。游标分页通过上一页返回的标记继续查询,更适合实时变化... Android 分页加载与状态管理长列表通常采用分页加载减少首屏等待和内存占用。分页看似只是维护页码,实际还要处理刷新、追加、重复触发、空页、错误重试和数据去重。一个可靠的分页实现,应先明确服务端分页协议,再把刷新与追加建模为不同状态。 一、确认分页协议常见协议有页码分页和游标分页:页码分页通过页号和每页数量请求,适合相对稳定的数据集合。游标分页通过上一页返回的标记继续查询,更适合实时变化...
- HarmonyOS 7.0 已于 2026 年 9 月 7 日正式发布,该版本在 HarmonyOS 6.1 基础上增强了若干特性,让鸿蒙系统变得更智能更好用,下面结合《鸿蒙HarmonyOS 6应用开发:从零基础到App上线》一书对 HarmonyOS 7.0 新特性中的常用部分逐一讲解。一、ArkUI(方舟UI框架)新增ArkUI组件级沉浸光感,提供的一套高品质视觉与动效体系,通过沉浸... HarmonyOS 7.0 已于 2026 年 9 月 7 日正式发布,该版本在 HarmonyOS 6.1 基础上增强了若干特性,让鸿蒙系统变得更智能更好用,下面结合《鸿蒙HarmonyOS 6应用开发:从零基础到App上线》一书对 HarmonyOS 7.0 新特性中的常用部分逐一讲解。一、ArkUI(方舟UI框架)新增ArkUI组件级沉浸光感,提供的一套高品质视觉与动效体系,通过沉浸...
- Android 进程重建与页面状态恢复Android 页面可能因旋转、语言切换、后台内存压力等原因被重建。配置变化时进程通常仍在,ViewModel 可以继续持有状态;进程被系统回收后,内存对象全部消失,仅依赖 ViewModel 就无法恢复。可靠的状态恢复需要先区分哪些信息应自动保存,哪些应从持久化数据重新构建。 一、区分三类状态页面中的数据可以分为:导航参数:业务对象标识、入口来源等,... Android 进程重建与页面状态恢复Android 页面可能因旋转、语言切换、后台内存压力等原因被重建。配置变化时进程通常仍在,ViewModel 可以继续持有状态;进程被系统回收后,内存对象全部消失,仅依赖 ViewModel 就无法恢复。可靠的状态恢复需要先区分哪些信息应自动保存,哪些应从持久化数据重新构建。 一、区分三类状态页面中的数据可以分为:导航参数:业务对象标识、入口来源等,...
- Android 本地数据与日志安全实践移动应用会接触账户标识、业务记录、缓存文件和调试日志。安全问题往往不是某个算法选择错误,而是数据在整个生命周期中被复制到过多位置:请求参数被完整记录、敏感字段进入普通偏好存储、临时文件长期不清理,或 WebView 暴露了超出需要的能力。 一、先做数据分类安全设计应从数据含义开始。可以按风险分为:公开数据:公开资讯、通用配置等。内部数据:业务开关、非公... Android 本地数据与日志安全实践移动应用会接触账户标识、业务记录、缓存文件和调试日志。安全问题往往不是某个算法选择错误,而是数据在整个生命周期中被复制到过多位置:请求参数被完整记录、敏感字段进入普通偏好存储、临时文件长期不清理,或 WebView 暴露了超出需要的能力。 一、先做数据分类安全设计应从数据含义开始。可以按风险分为:公开数据:公开资讯、通用配置等。内部数据:业务开关、非公...
- Android 自定义 View 的测量与绘制自定义 View 适合实现进度环、行情曲线、刻度盘等标准控件难以表达的视觉效果。它的难点不在于画出图形,而在于遵守测量协议、处理不同尺寸和密度、减少绘制阶段分配,并让状态变化以正确方式触发重绘。 一、明确 View 的职责自定义 View 应接收已经整理好的展示数据,只负责测量、绘制和局部交互。数据请求、业务计算和长期状态不应放在 View 内... Android 自定义 View 的测量与绘制自定义 View 适合实现进度环、行情曲线、刻度盘等标准控件难以表达的视觉效果。它的难点不在于画出图形,而在于遵守测量协议、处理不同尺寸和密度、减少绘制阶段分配,并让状态变化以正确方式触发重绘。 一、明确 View 的职责自定义 View 应接收已经整理好的展示数据,只负责测量、绘制和局部交互。数据请求、业务计算和长期状态不应放在 View 内...
- Android 触摸事件分发与滑动冲突处理轮播图嵌套列表、横向卡片放在纵向页面、可拖拽面板覆盖按钮时,都可能出现滑动冲突。很多问题源于对事件序列理解不完整:一次手势不是某个单独的移动事件,而是从按下开始、以抬起或取消结束的一组连续事件。 一、理解完整事件序列典型手势包含:ACTION_DOWN:手指首次接触屏幕。ACTION_MOVE:手指位置变化,可能出现多次。ACTION_UP:手指正... Android 触摸事件分发与滑动冲突处理轮播图嵌套列表、横向卡片放在纵向页面、可拖拽面板覆盖按钮时,都可能出现滑动冲突。很多问题源于对事件序列理解不完整:一次手势不是某个单独的移动事件,而是从按下开始、以抬起或取消结束的一组连续事件。 一、理解完整事件序列典型手势包含:ACTION_DOWN:手指首次接触屏幕。ACTION_MOVE:手指位置变化,可能出现多次。ACTION_UP:手指正...
- A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom... A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom...
- A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom... A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom...
- A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom... A Practical Guide to Android Custom ViewsFrom a blank View to a reusable, interactive component — everything you need to know to build your own custom views in Android. Table of ContentsWhy Custom...
- 现在主流的手机操作系统有Android、iOS和HarmonyOS(鸿蒙系统),为了减少同时维护三种客户端的工作量,一般采用APP内嵌H5页面的形式。由于H5不能直接调用客户端的原生能力,比如相机、麦克风,以及读取设备信息,因此需要在APP与H5之间搭建一种双向通信的桥梁机制。一、JSBridge的开源框架JSBridge(JavaScript Bridge)就是这种H5混合App的双向通... 现在主流的手机操作系统有Android、iOS和HarmonyOS(鸿蒙系统),为了减少同时维护三种客户端的工作量,一般采用APP内嵌H5页面的形式。由于H5不能直接调用客户端的原生能力,比如相机、麦克风,以及读取设备信息,因此需要在APP与H5之间搭建一种双向通信的桥梁机制。一、JSBridge的开源框架JSBridge(JavaScript Bridge)就是这种H5混合App的双向通...
- Android 模块化架构与依赖边界随着业务增长,单一模块会逐渐出现编译缓慢、代码相互引用、资源命名冲突和改动影响范围过大的问题。模块化可以隔离业务边界,但模块数量越多并不代表架构越好。真正有价值的模块化,应让依赖方向清晰、公共接口稳定,并降低团队并行开发时的冲突。 一、先识别模块边界常见模块可以按职责划分:应用壳模块:负责进程入口、全局装配和最终打包。业务模块:围绕账户、交易、资讯等完整... Android 模块化架构与依赖边界随着业务增长,单一模块会逐渐出现编译缓慢、代码相互引用、资源命名冲突和改动影响范围过大的问题。模块化可以隔离业务边界,但模块数量越多并不代表架构越好。真正有价值的模块化,应让依赖方向清晰、公共接口稳定,并降低团队并行开发时的冲突。 一、先识别模块边界常见模块可以按职责划分:应用壳模块:负责进程入口、全局装配和最终打包。业务模块:围绕账户、交易、资讯等完整...
- Android WorkManager 后台任务设计上传日志、同步离线数据、清理缓存等任务往往不要求立即完成,但需要在应用离开前台甚至进程重启后继续执行。此类工作如果只放在普通协程或线程中,进程被回收后就会丢失。WorkManager 适合管理可延迟、需要保证最终执行的后台任务,但并不适合所有异步需求。 一、先判断任务是否适合 WorkManager适合的任务通常具备以下特征:可以延迟到系... Android WorkManager 后台任务设计上传日志、同步离线数据、清理缓存等任务往往不要求立即完成,但需要在应用离开前台甚至进程重启后继续执行。此类工作如果只放在普通协程或线程中,进程被回收后就会丢失。WorkManager 适合管理可延迟、需要保证最终执行的后台任务,但并不适合所有异步需求。 一、先判断任务是否适合 WorkManager适合的任务通常具备以下特征:可以延迟到系...
- Android Room 数据一致性与事务设计本地数据库不仅是接口数据的缓存,也常用于保存用户草稿、离线任务和关键业务快照。数据量增加后,常见问题包括多表更新只成功一半、查询越来越慢、数据库升级失败,以及界面观察到短暂的不一致状态。Room 提供了编译期校验和事务能力,但数据边界仍需要开发者根据业务设计。 一、从稳定的数据模型开始数据库实体应围绕持久化需求设计,不必与接口对象或界面模型完全... Android Room 数据一致性与事务设计本地数据库不仅是接口数据的缓存,也常用于保存用户草稿、离线任务和关键业务快照。数据量增加后,常见问题包括多表更新只成功一半、查询越来越慢、数据库升级失败,以及界面观察到短暂的不一致状态。Room 提供了编译期校验和事务能力,但数据边界仍需要开发者根据业务设计。 一、从稳定的数据模型开始数据库实体应围绕持久化需求设计,不必与接口对象或界面模型完全...
上滑加载中
推荐直播
-
华为云码道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华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签