自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

帅次的博客

三人行必有我师焉;择其善者而从之,其不善者而改之

  • 博客(583)
  • 资源 (8)
  • 收藏
  • 关注

原创 ads.txt 里的 DIRECT 到底是什么意思?

说明 ads.txt / app-ads.txt 中 DIRECT 的 IAB 定义、ads.txt 1.1 的 OWNERDOMAIN / MANAGERDOMAIN、真实 App 案例,以及公开 Seller ID 的安全边界;强调 DIRECT 描述账户授权而非 RTB 请求路径

2026-08-21 20:00:00 921 8

原创 reverse-skill 给 AI Agent 装上逆向与渗透的路由大脑

reverse-skill 是 GitHub 开源的逆向/渗透 Skill 路由包。它用 RULES.md + routing.json 把 APK、二进制、JS 加密、CTF 等任务分到对应方法论,再联动本机 jadx、Frida、IDA 等工具链执行。

2026-08-17 18:00:00 1498 22

原创 i-have-adhd 让 Coding Agent 别把答案埋进废话里

i-have-adhd 是一个 MIT 开源 Agent Skill(截至 2026-08-15 约 **20,457 Star**),把 Coding Agent 的输出收成「命令先行、步骤编号、一句下一步」。它不诊断 ADHD,只改**输出形状**。本文拆解 10 条规则、user-invoked 设计,并给出 Cursor 可复制安装命令

2026-08-15 08:00:00 1368 9

原创 用 find-skills 在海量 Agent Skill 里快速找到对的那个

开放生态里已有数万 Agent Skill,手动翻 GitHub 效率很低。本文从零讲清 Skill 是什么,用 find-skills 与 Skills CLI 走完「搜索 → 验质量 → 安装」全流程,并以「为技术博客找配图 Skill」做完整实战。读完 20 分钟内能装上合适 Skill、让 AI 主动推荐能力包,并产出可发 CSDN 的插图

2026-08-11 08:00:00 1475 36

原创 GitNexus + MCP 实战记录理解整个项目

大型项目里,AI 写代码不难,难在不懂仓库结构。GitNexus 在本地将仓库索引为知识图谱,经 MCP 向 Cursor、Claude Code 暴露调用链与影响分析能力,助 Agent 改码前先摸清波及面。本文结合 Android 多模块场景,对比普通 RAG,分享接入步骤与三个高频实战场景

2026-08-07 08:00:00 1141 19

原创 Android 高级工程师面试通关手册:系列导读与全篇导航

本专栏共 53 篇,覆盖 Java/Kotlin 语言、Framework 模块高频追问、架构与 Jetpack、Flutter、工程化与 AI 面试等 Android 高级工程师备战主线。本文为系列总导航:说明适合谁读、四条备战路径、模块阅读顺序,并附全部文章直达链接。建议收藏置顶,按路径刷题效率最高

2026-07-30 23:00:00 1207 21

原创 Kotlin Android 成长之路:系列导读与全篇导航

本专栏共 40 篇(2026 主线 22 篇 + 历史稿 18 篇),从零到 Compose + Jetpack 现代应用栈。本文为系列总导航:说明适合谁读、四阶段怎么跟、三条学习路径,并附全部文章直达链接与 KotlinPrimary Demo。建议收藏置顶,跟读请优先 22 篇主线

2026-07-30 08:00:00 1061 8

原创 Android 应用高级面试:WMS 近1年高频追问 16 题

本篇聚焦 WindowManagerService 与窗口布局,面向应用高级面试备战者。覆盖基础 6 题、进阶 5 题、核心 5 题,从 WindowState、addView 到 DisplayContent 与 relayout。参考回答讲清机制;工程场景见追问。读完可系统复述 WMS 真高频问答,并讲清 relayout 与焦点协作

2026-07-29 20:00:00 1004 2

原创 Cursor 实战:用 grill-me Skill 把 AI 写的 PRD 拷问到能写代码

普通 review 难逼出产品决策。本文以离线英语 Android App 为例,用 Cursor 的 grill-me Skill 多轮拷问 PRD:拍板离线策略与评分标准,输出 v1.1 并推进 W1 工程,含安装、触发与完整复现清单。

2026-07-29 12:00:00 1829 23

原创 Android 应用高级面试:Window 近1年高频追问 18 题

本篇聚焦 Window/DecorView、WindowManager 与 Insets 体系,面向应用高级面试备战者。覆盖基础 6 题、进阶 6 题、核心 6 题,从 Window 类型到 Edge-to-Edge 与 Dialog/PopupWindow。参考回答讲清机制;工程场景见追问。读完可系统复述 Window 真高频问答,并讲清 Insets 与焦点衔接

2026-07-29 06:00:00 1277 17

原创 Android 应用高级面试:View 近1年高频追问 22 题

本篇聚焦 View 绘制与事件分发,面向应用高级面试备战者。覆盖基础 8 题、进阶 7 题、核心 7 题,从 measure/layout/draw 到滑动冲突与 RecyclerView。参考回答讲清机制;工程场景见追问。读完可系统复述 View 真高频问答,并定位绘制与分发问题

2026-07-28 20:00:00 994 4

原创 Android 应用高级面试:PMS 近1年高频追问 18 题

本篇聚焦 PackageManagerService 与权限/安装模型,面向应用高级面试备战者。覆盖基础 6 题、进阶 5 题、核心 5 题与 **Android 17 增量 2 题**,从权限声明与授予到 Package 解析、UID 隔离与 targetSdk 37 本地网权限。参考回答讲清机制;工程场景见追问。读完可系统复述 PMS 真高频问答,并讲清权限审查链路

2026-07-28 08:00:00 1221 10

原创 Android 应用高级面试:Input 近1年高频追问 16 题

本篇聚焦 InputReader 与 InputDispatcher 触摸链路,面向应用高级面试备战者。覆盖基础 6 题、进阶 5 题、核心 5 题,从触摸采集、事件分发到 ANR 与冲突处理。参考回答讲清机制;工程场景见追问。读完可系统复述 Input 真高频问答,并区分输入 ANR 与主线程阻塞

2026-07-27 18:00:00 1020 13

原创 Android 应用高级面试:Handler 近1年高频追问 20 题

本篇聚焦 Handler/Looper/MessageQueue 机制(**含 Android 17 / API 37 DeliQueue**),面向应用高级面试备战者。覆盖基础 7 题、进阶 7 题、核心 6 题与 Android 17 增量,从主线程消息模型到同步屏障与泄漏治理。参考回答讲清机制;工程场景见追问。读完可系统复述 Handler 真高频问答,并具备主线程排障与 ANR 口述能力

2026-07-27 12:00:00 1089 5

原创 Android 应用高级面试:Display Pipeline 近1年高频追问 18 题

本篇聚焦 Android 显示流水线(ViewRootImpl→Surface→RenderThread→SurfaceFlinger/HWC),面向应用高级面试备战者。覆盖基础 6 题、进阶 6 题、核心 6 题与 Android 17 增量,讲清合成路径选择与掉帧分段定位。参考回答讲清机制;工程场景见追问。读完可口述完整上屏链路与高刷排障要点

2026-07-27 06:00:00 1037 1

原创 Android 应用高级面试:Choreographer/VSYNC 近1年高频追问 18 题

本篇聚焦 VSYNC/Choreographer 帧调度,面向应用高级面试备战者。覆盖基础 6 题、进阶 6 题、核心 6 题,讲清 16ms 预算、doFrame 四阶段与 jank 排查。参考回答讲清机制;工程场景见追问。读完可系统复述 VSYNC/Choreographer 真高频问答,并做 jank 分段定位

2026-07-27 00:00:00 1119 5

原创 Android 应用高级面试:Binder 近1年高频追问 22 题

本篇聚焦 Binder IPC 机制,面向应用高级面试备战者。覆盖基础 8 题、进阶 7 题、核心 7 题,从 IPC 原理、一次拷贝表述到 Binder 线程池与 AIDL。参考回答讲清机制;工程场景见追问。读完可系统复述 Binder 真高频问答,并准确表述一次拷贝与主线程风险

2026-07-26 18:00:00 1094 1

原创 Android 应用高级面试:ATMS 近1年高频追问 18 题

本篇聚焦 ActivityTaskManagerService 与 Task 栈管理,面向应用高级面试备战者。覆盖基础 6 题、进阶 6 题、核心 6 题,从 RootWindowContainer 到 startActivity 跨进程链路。参考回答讲清机制;工程场景见追问。读完可系统复述 ATMS 真高频问答,并口述启动栈组织

2026-07-26 12:00:00 1121 7

原创 Android 应用高级面试:AMS 近1年高频追问 18 题

本篇聚焦 AMS 进程管理与内存回收,面向应用高级面试备战者。覆盖基础 6 题、进阶 6 题、核心 6 题,从进程优先级、OOM adj、LMK 到 ProcessRecord。参考回答讲清机制;工程场景见追问。读完可系统复述 AMS 真高频问答,并讲清 adj 与 LMK 工作流

2026-07-26 06:00:00 1114 4

原创 Android 应用高级面试:Activity 近1年高频追问 22 题

本篇聚焦 Activity 生命周期、启动模式与 Task 栈,面向应用高级面试备战者。覆盖基础 8 题、进阶 7 题、核心 7 题,从回调时序、launchMode 到配置变更与 ATMS 启动链路。参考回答讲清机制;工程落地见追问。读完可系统复述 Activity 真高频问答,并口述启动链路与状态恢复

2026-07-25 20:00:00 1090 1

原创 Coil 图片加载:Compose 与 View 统一方案

Compose 新工程默认 **Coil 3**:`AsyncImage` 加载网络/本地图,统一 `ImageLoader` 与 OkHttp 共用连接栈,掌握缓存、尺寸策略与列表性能。Glide 仅作 View 存量维护对照

2026-07-25 08:00:00 271

原创 Hilt 依赖注入:Android 模块化装配

用 Hilt 在 Application/Activity/Fragment/ViewModel 注入依赖,`@Module` 提供 OkHttp/Retrofit/Repository,`@Singleton` 与 `ViewModelScoped` 管理生命周期。新工程默认 Hilt;手写 Dagger Component 仅遗留对照

2026-07-24 18:00:00 250

原创 Retrofit 与 OkHttp:suspend 网络层

用 Retrofit 2 + OkHttp 5 声明 `suspend` 接口,拦截器处理 Token/日志/超时,Repository 映射 DTO→领域模型,ViewModel 只消费 `Result` 或 `UiState`。新代码禁止 Callback/`enqueue` 作默认

2026-07-24 12:00:00 315

原创 Navigation Compose:类型安全路由与嵌套导航

纯 Compose 下搭建 `NavHost`、序列化 Route、BottomBar 多栈与嵌套图,处理深链、ViewModel 作用域与 Hilt。与《应用导航》互补,本篇聚焦 Compose 专栈

2026-07-24 06:00:00 221

原创 Material3 与动态主题:Design Token 到 Compose

用 Material3 的 `ColorScheme`、`Typography`、`Shapes` 构建主题,支持动态取色与暗色模式,配合 `enableEdgeToEdge()` 处理系统栏 insets。新工程默认 Material3,避免硬编码颜色

2026-07-24 00:00:00 319

原创 Compose 状态、副作用与状态提升

在 Compose 中落地 UDF:`remember`/`rememberSaveable` 管理 UI 状态,状态提升到 ViewModel `StateFlow`,用 `LaunchedEffect` 等处理副作用,用 `collectAsStateWithLifecycle` 收集业务状态

2026-07-23 18:00:00 431

原创 Compose 基础与重组:从 View 命令式到声明式 UI

掌握 `@Composable`、Modifier 链与重组直觉,理解「状态变 → 重组」与稳定性,对照 View 命令式更新。新 UI 默认 Compose + Material3;XML 仅遗留维护说明

2026-07-23 12:00:00 332

原创 应用导航:Navigation Compose 与 XML 遗留对照

新功能用 Navigation Compose 类型安全 Route 与 `NavHost`;存量 XML Nav Graph 作遗留对照。掌握返回栈、`popUpTo`、`launchSingleTop`、深链与 ViewModel 作用域,对齐 Android 17 单 Activity 实践

2026-07-23 06:00:00 249

原创 ClassLoader 与双亲委派:应用高级工程师该懂到什么程度

面向 Android 应用开发高级工程师:讲清 ClassLoader 与双亲委派、Android 上 BootClassLoader / BaseDexClassLoader 分工、从 `loadClass` 到 `DexFile` 的调用链,以及动态加载限制、ClassCastException、App Bundle 等工程边界。不展开 ART C++ 实现,够用即可

2026-07-23 00:00:00 627

原创 Paging 3 与 RemoteMediator:列表分页工程

用 Paging 3 的 `PagingSource`、`Pager` 与 `Flow<PagingData<T>>` 处理大列表;网络+本地用 `RemoteMediator` 离线缓存;在 Compose `LazyColumn` 或 `RecyclerView` 中收集。避免全量加载与手写页码状态机

2026-07-22 12:00:00 435

原创 DataStore:类型安全偏好存储

用 Preferences DataStore 与 Proto DataStore 替代 SharedPreferences 新写入:以 `Flow` 暴露配置、在 Repository 封装读写,并掌握从 SP 迁移策略。新工程默认 DataStore,SP 仅遗留对照

2026-07-22 06:00:00 329

原创 Android 工程师的 AI 搭档:Android CLI + Skills 实战笔记

Android CLI 是 Google 推出的 AI Agent 命令行工具,通过安装 Skills 为工程引入 R8 优化、Perfetto 分析等专业能力。本文记录从安装到踩坑的完整实战过程,涵盖命令格式变化、GitHub 下载失败、缓存同步等问题的排查方法,并给出国内网络下的解决方案和实际使用场景。

2026-07-21 21:00:00 783

原创 Room 与 Flow:本地数据源现代写法

用 Room 的 Entity/DAO/Database 替代裸 SQLite:以 `suspend` 做一次性读写、以 `Flow` 驱动 UI 自动刷新,在 Repository 中与 Retrofit 组合成单一数据源策略。默认 Kotlin 2.x + Room 2.7+ 协程/Flow API

2026-07-21 12:00:00 468

原创 ViewModel 与状态恢复:SavedStateHandle 与 Factory

掌握 ViewModel 在配置变更与进程死亡下的存活边界,`StateFlow` 暴露 UI 状态,`SavedStateHandle` 恢复导航参数与草稿,`viewModelScope` 管理协程,以及 Factory / Hilt 构造注入。读完能正确选型状态存放位置并避免 Context 泄漏

2026-07-21 06:00:00 503

原创 MVI 单向数据流:Intent、Model 与可预测状态

在《MVVM 与单向数据流》基础上,用 MVI 契约约束状态入口:所有用户与系统事件统一为 `Intent`,经 `reduce` 产出不可变 `State`,副作用走 Effect 通道。读完能判断复杂屏何时值得上 MVI,并用手写 `StateFlow` 落地最小实现

2026-07-20 16:00:00 519 1

原创 Android MVVM 与单向数据流:StateFlow 驱动 UI

用 MVVM + 单向数据流(UDF)拆分 UI、ViewModel 与 Repository:以不可变 `UiState` 建模屏幕状态,`StateFlow` 向下、`onXxx` 事件向上,一次性副作用走 `SharedFlow`。读完能在 Compose 或 Fragment 中落地可测试的列表/详情 Feature

2026-07-20 08:00:00 492

原创 协程与 Android 生命周期:该何时取消、何时保留

掌握 `lifecycleScope`、`viewModelScope`、`repeatOnLifecycle` 与 Flow 安全收集,弄清旋转屏、进后台、Fragment 销毁时协程如何取消或保留,避免泄漏与重复请求

2026-07-19 16:00:00 868

原创 Flow 与 StateFlow:冷流、热状态与 UI 收集

区分冷 `Flow` 与热 `StateFlow`,掌握 `map`/`filter`/`catch`、`stateIn` 共享上游,以及 Fragment/Compose 里安全收集的时机,为 MVVM 单向数据流打基础

2026-07-19 08:00:00 313

原创 Kotlin 协程与结构化并发:Scope、Job 与取消

从 `CoroutineScope` 与 Job 层级入手,掌握 `launch`/`async`、`Dispatchers` 选型、结构化取消与 `SupervisorJob`,能在 ViewModel 与 Repository 中写出可取消、可测试的异步代码,远离 `GlobalScope`

2026-07-18 16:00:00 447

原创 suspend 与 Continuation:挂起不是子线程

清 `suspend` 是编译期 CPS 变换而非自动切线程,理解 `Continuation` 与回调的对应关系,能读懂 `withContext`、Retrofit `suspend` 接口背后的挂起模型,避免在 suspend 里 `Thread.sleep` 占线程

2026-07-18 08:00:00 916

Android MediaRecorder 视频录制 Demo

项目介绍:https://shuaici.blog.csdn.net/article/details/141216305 MediaRecorder是Android平台上用于录制音频和视频的API,它允许开发者通过简单的设置和控制来实现高质量的音视频录制功能。使用MediaRecorder进行视频录制的快速步骤如下: 1初始化MediaRecorder对象并设置必要的参数,比如音频源、视频源、输出文件格式等。 2.配置音频和视频的编码器,例如使用AMR NB或AMR WB作为音频编码器,使用MPEG4或H.264作为视频编码器。 3.设置录制视频的尺寸和帧率,以及音频的采样率和声道数。 4.准备MediaRecorder对象,这一步是将所有设置应用到MediaRecorder上。 5.开始录制视频,调用start()方法开始录制,调用stop()方法停止录制。 6.在录制结束后,进行资源的清理,确保调用release()方法释放MediaRecorder对象。

2024-08-16

Android 架构MVC MVP MVVM 实践

文章链接:https://shuaici.blog.csdn.net/article/details/119756280 MVC、MVP和MVVM是软件比较常用的三种软件架构,这三种架构的目的都是分离,避免将过多的逻辑全部堆积在一个类中。 在Android中,Activity中既有UI的相关处理逻辑,又有数据获取逻辑,从而导致Activity逻辑复杂不单一难以维护。 为了一个应用可以更好的维护和扩展,我们需要很好的区分相关层级,要不然以后将数据获取方式从数据库变为网络获取时,我们需要去修改整个Activity。架构使得View和数据相互独立,我们把应用分成三个不同层级,这样我们就能够单独测试相关层级,使用架构能够把大多数逻辑从Activity中移除,方便进行单元测试。

2021-08-17

系统架构设计师范文参考

原文链接:https://blog.csdn.net/g984160547/article/details/140953509 系统架构设计师题目类型: (1)软件架构,自从2020年以来,更偏向于去考察具体的架构,而不是之前的宏观上的架构风格架构评估等内容。尤其喜欢考察改版后的八大架构,如云原生、微服务、安全架构等。 (2)系统开发,这块也是每年必考,软件工程全生命周期都有可能考察,而且也是更具体,比如具体的开发方法、开发模型,以及需求分析、设计、测试、运维等全过程。 (3)系统可靠性、安全性、容错技术等, (4)企业应用集成、企业集成平台等。 (5)其他:项目管理、数据库等。 ————————————————

2024-08-07

HTML 入门资料Demo

HTML 入门手册(一):https://shuaici.blog.csdn.net/article/details/135680716 HTML 入门手册(二):https://shuaici.blog.csdn.net/article/details/135698613 HTML 英文全称 " HyperText Mark-up Language " , 中文名称是 " 超文本标记语言 " 。是一种用于创建网页的标准标记语言。它使用一系列标签来描述网页内容的结构和样式,包括段落、标题、链接、图片、列表等。HTML文档是由HTML元素组成的,这些元素可以嵌套在其他元素中,从而构建出复杂的网页结构。 HTML5是HTML的最新版本,相比之前的版本,它引入了许多新的元素和API,使得网页可以更好地支持多媒体内容、图形和动画等。此外,HTML5还提供了更多的表单控件和数据绑定功能,使得用户可以更方便地与网页进行交互。

2024-01-23

BroadcastReceiverDemo.zip

使用人群:BroadcastReceiver初学者。 里面涉及BroadcastReceiver的静态注册(无序广播)、动态注册(无序广播)、有序广播。 项目对应:https://shuaici.blog.csdn.net/article/details/118337894

2021-06-29

SQLite用户信息的增删改查

Android的数据库存储方式—SQLite的使用方法,包括:SQLite用到了哪些SQL语法,如何使用数据库管理器操纵SQLite,如何使用数据库帮助器简化数据库操作等,以及如何利用SQLite改进登录页面的记住密码功能。 适用人群:初学者

2021-06-22

Android面试题汇总.zip

Android面试题汇总,总有一款适合你。

2021-08-05

ContentProviderDemo.zip

适合人群:ContentProvider初学者。 ContentProvider的简单使用,和其他应用调用ContentProvider的实例。 项目对应:https://shuaici.blog.csdn.net/article/details/118222691

2021-06-25

登录注册+标准体重计算器

大学生结业作业、简单小项目练习。 涉及控件:TextView、EditText、Button、ListView,SP数据存储。内部备注详细。

2021-07-03

Android-标准体重计算器

适合人群:初学者 里面涉及控件:TextView、EditText、RadioGroup、RadioButton、Button;代码涉及Activity跳转

2021-07-01

TimePickerDemo.zip

学习是劳动,是充满思想的劳动。

2016-01-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除