上一页 1 ··· 8 9 10 11 12
摘要: 从 Android 6.0 (API 23) 开始,Google 引入了运行时权限模型,彻底改变了权限管理的游戏规则。不再是在安装时"一键同意",而是需要开发者在运行时动态请求。尤其是在 Android 11+ 之后,权限机制愈发严格——MANAGE_EXTERNAL_STORAGE、QUERY_A 阅读全文
posted @ 2026-06-17 11:10 天总会晴的 阅读(17) 评论(0) 推荐(0)
摘要: 背景 在前面的文章里,我们已经接触过 Activity、Fragment 和 RecyclerView。写到稍微复杂一点的页面时,一个常见问题会立刻出现:页面上的数据到底应该放在哪里?如果把用户输入、接口结果、列表状态都直接放进 Activity 或 Fragment,代码很快会变得臃肿,而且旋转屏 阅读全文
posted @ 2026-06-16 17:53 天总会晴的 阅读(12) 评论(0) 推荐(0)
摘要: Handler & Looper 消息机制——你以为的延时操作,背后藏着一整个线程通信系统 > 适合读者:已了解 Activity/Fragment 基础,想搞懂"为什么能在子线程更新 UI"的开发者 一、背景:为什么需要 Handler? 你在子线程里调用 runOnUiThread() 或 Vi 阅读全文
posted @ 2026-06-15 11:10 天总会晴的 阅读(23) 评论(0) 推荐(0)
摘要: [Android 从零到一] RecyclerView 进阶:DiffUtil 与列表更新 背景 在使用 RecyclerView 展示列表时,我们经常需要动态更新数据。直接调用 notifyDataSetChanged() 虽然简单粗暴,但会导致整个列表重绘,性能差且没有动画效果。DiffUtil 阅读全文
posted @ 2026-06-12 16:29 天总会晴的 阅读(20) 评论(0) 推荐(0)
摘要: 为什么 RecyclerView 能取代 ListView 在 Android 开发的早期版本中,ListView 是列表展示的标配。但随着 App 交互越来越复杂,ListView 的局限性逐渐暴露: 性能瓶颈:没有强制实现 ViewHolder 模式,开发者容易写出低效代码 扩展性差:水平滚动、 阅读全文
posted @ 2026-06-11 10:09 天总会晴的 阅读(12) 评论(0) 推荐(0)
摘要: 1. 背景 Android 界面由布局(Layout)来组织控件的位置关系。常用的布局有 LinearLayout(线性布局)、RelativeLayout(相对布局)和 ConstraintLayout(约束布局)。新手常遇到「控件不见了」「布局嵌套太深卡顿」「ConstraintLayout 看 阅读全文
posted @ 2026-06-10 15:41 天总会晴的 阅读(57) 评论(0) 推荐(0)
摘要: Fragment 基础与生命周期 一、背景 Android 从 API 11(Android 3.0)引入了 Fragment,最初是为了在大屏平板上实现灵活的 UI 布局。如今它已成为 Android 开发的核心组件,即使是手机上的单屏 App 也广泛使用 Fragment 来管理界面。 简单来说 阅读全文
posted @ 2026-06-10 11:14 天总会晴的 阅读(22) 评论(0) 推荐(0)
摘要: 1. 背景 Activity 之间怎么通信?答案是 Intent。Intent 是 Android 中连接各组件的「信使」——启动 Activity、发送广播、绑定 Service 都要靠它。而 IntentFilter 决定了哪些 Intent 能被接收。很多新手分不清显式隐式、搞不懂为什么 In 阅读全文
posted @ 2026-06-09 11:18 天总会晴的 阅读(21) 评论(0) 推荐(0)
摘要: 1. 背景 Activity 是 Android 四大组件之首,是用户交互的入口。理解它的生命周期和启动模式,是写好 Android 应用的基础。新手常遇到「退出应用数据丢了」「屏幕旋转崩溃」「启动多个相同页面」等问题,追根溯源都是对这块理解不到位。 2. Activity 生命周期 2.1 六种核 阅读全文
posted @ 2026-06-09 11:17 天总会晴的 阅读(36) 评论(0) 推荐(0)
摘要: 看一看 阅读全文
posted @ 2025-09-10 09:27 天总会晴的 阅读(10) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12