<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[indeedes的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/indeedes</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; indeedes]]></copyright><item><title><![CDATA[Jetpack Compose 知识点整理1【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/164123850</link><guid>https://blog.csdn.net/indeedes/article/details/164123850</guid><author>indeedes</author><pubDate>Mon, 07 Sep 2026 16:55:27 +0800</pubDate><description><![CDATA[Compose被称为声明式UI框架，开发者只需描述UI应该是什么样的？它会呈现什么样的状态？而不需要一步步指定如何达到这个状态。而传统的UI开发体系（命名式UI）比较复杂，需要先用xml定义布局样式，然后再通过java或者kotlin语言把布局与页面关联，之后还需要我们一步步的指定UI应该如何达到某种样式状态，过程繁琐、代码冗余。]]></description><category></category></item><item><title><![CDATA[Kotlin 语言 知识点整理3【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/164026740</link><guid>https://blog.csdn.net/indeedes/article/details/164026740</guid><author>indeedes</author><pubDate>Wed, 26 Aug 2026 18:50:54 +0800</pubDate><description><![CDATA[一、类与对象

1.定义与使用

1.1 基础用法

1.2 主构造函数，直接在类名后声明

1.3 次构造函数（Secondary Constructor）用constructor 关键字定义：

2.继承

3.抽象

4.接口

5.数据类

6.伴生对象

6.1 声明方式

6.2 访问成员

6.3 默认名称

7.可见性修饰符

8.与 Java 的主要区别​

二、列表与集合

1.创建集合

2.高频操作

2.1 遍历集合

2.2 数据类型转换

2.3 过滤数据（列表筛选）

2.4]]></description><category></category></item><item><title><![CDATA[Kotlin 语言 知识点整理2【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/163247344</link><guid>https://blog.csdn.net/indeedes/article/details/163247344</guid><author>indeedes</author><pubDate>Mon, 24 Aug 2026 16:26:32 +0800</pubDate><description><![CDATA[本文摘要：Kotlin基础语法与特性详解 本文系统介绍了Kotlin编程语言的核心概念与特性。主要内容包括： 基本概念：包定义、程序入口点、变量声明与类型推断 基本类型：数字（整数/浮点）、布尔、字符、字符串的详细处理方式，包括类型转换、运算规则和性能优化 控制语句：增强版的if/when条件表达式、多种循环遍历方式（范围/集合/Map）及流程控制 函数特性：函数定义、扩展函数机制、高阶函数（函数作为参数/返回值） 空安全机制：问号操作符、安全调用、Elvis操作符等特性，有效预防空指针异常 Kotlin通]]></description><category></category></item><item><title><![CDATA[Kotlin 语言 知识点整理1【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/163244235</link><guid>https://blog.csdn.net/indeedes/article/details/163244235</guid><author>indeedes</author><pubDate>Mon, 27 Jul 2026 16:31:05 +0800</pubDate><description><![CDATA[Kotlin作为JetBrains开发的现代化语言，以其简洁、安全和高效特性成为Java的理想替代。它与Java完全互操作，共享JVM平台和生态系统，但通过空安全机制、扩展函数、数据类等特性大幅减少样板代码。核心优势包括：1）强制空安全设计杜绝NPE；2）支持函数式编程和Lambda表达式；3）协程简化异步编程；4）扩展函数增强代码组织。Java开发者应重点掌握空安全处理、集合操作、作用域函数及协程应用，通过IDE转换工具和Kotlin标准库快速上手。渐进式迁移策略和&quot;以Kotlin方式思考&qu]]></description><category></category></item><item><title><![CDATA[Linux编程笔记4【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/163165209</link><guid>https://blog.csdn.net/indeedes/article/details/163165209</guid><author>indeedes</author><pubDate>Fri, 24 Jul 2026 17:58:42 +0800</pubDate><description><![CDATA[摘要：本文详细介绍了Linux环境下的多进程与多线程编程、进程间通信（IPC）机制以及网络编程基础。主要内容包括： 多进程：解释了程序与进程的区别，进程管理方法（如ps命令），以及进程创建（fork）、执行（exec系列）和同步（wait）等系统调用。 进程间通信：涵盖了四种主要IPC方式： 管道通信（无名管道pipe和命名管道FIFO） 消息队列（msgget/msgsnd/msgrcv） 共享内存（shmget/shmat） 信号量（semget/semop） 多线程编程：对比了进程与线程的区别，介绍了]]></description><category></category></item><item><title><![CDATA[Linux编程笔记3【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/163140326</link><guid>https://blog.csdn.net/indeedes/article/details/163140326</guid><author>indeedes</author><pubDate>Fri, 24 Jul 2026 15:53:36 +0800</pubDate><description><![CDATA[本文摘要： Shell部分： Shell是用户与Linux系统的桥梁，既是命令语言也是脚本语言。常见解释器包括Bash、sh等。 Shell脚本编写基础：需声明解释器（#!/bin/bash），通过chmod +x添加执行权限。 变量操作：定义规则（字母/数字/下划线）、引用（$var）、只读（readonly）、删除（unset）。 字符串与数组处理：拼接、截取、查找；数组支持一维索引。 运算符：算术（expr）、关系（-eq/-ne）、逻辑（&amp;&amp;/||）、文件测试（-f/-d）。 流程控]]></description><category></category></item><item><title><![CDATA[Linux编程笔记2【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/162427751</link><guid>https://blog.csdn.net/indeedes/article/details/162427751</guid><author>indeedes</author><pubDate>Mon, 29 Jun 2026 22:23:20 +0800</pubDate><description><![CDATA[本文介绍了Linux系统下的C/C++开发工具链，主要涵盖gcc编译器、gdb调试器、make工程管理器和cmake构建工具。首先详细讲解了gcc编译器的四个编译阶段（预处理、编译、汇编、链接）及其常用命令选项。其次介绍了gdb调试器的使用，包括设置断点、单步执行、查看变量等调试技巧。然后阐述了makefile的编写规则和自动变量，展示了如何通过make简化多文件项目的编译过程。最后讲解了跨平台的cmake工具，包括CMakeLists.txt文件的编写方法以及如何处理不同目录结构的项目。文章还介绍了Win]]></description><category></category></item><item><title><![CDATA[Linux编程笔记1【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/162340926</link><guid>https://blog.csdn.net/indeedes/article/details/162340926</guid><author>indeedes</author><pubDate>Fri, 26 Jun 2026 16:38:24 +0800</pubDate><description><![CDATA[本文全面介绍了Linux操作系统的基础知识与应用指南，主要内容包括： Linux概述：阐述其开源特性、发展历程及与Windows的区别，分析主流发行版（如Ubuntu、CentOS）及嵌入式开发关联。 环境搭建：详解通过VirtualBox虚拟机安装Ubuntu的步骤。 目录结构：解析Linux核心目录（如/bin、/etc、/home）的功能与用途。 命令操作：归纳基础命令（ls、cd、mkdir）、文件操作（rm、cp、mv）及包管理工具apt的使用方法。 Vim编辑器：介绍三种模式（命令、输入、底线命]]></description><category></category></item><item><title><![CDATA[C语言基础笔记4【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/161200065</link><guid>https://blog.csdn.net/indeedes/article/details/161200065</guid><author>indeedes</author><pubDate>Tue, 26 May 2026 15:58:47 +0800</pubDate><description><![CDATA[本文系统介绍了C语言的核心编程技术，包括预处理器指令、头文件机制、类型转换、错误处理和内存管理五大模块。预处理器部分详细讲解了宏定义、条件编译和文件包含等关键功能；头文件章节阐述了接口声明和代码共享的实现方式；类型转换内容涵盖基本语法和指针转换等进阶用法；错误处理模块分析了返回值、全局变量等常见策略；内存管理部分则深入解析了malloc、calloc、realloc等动态内存操作函数及其应用场景。全文通过丰富的代码示例，全面展示了C语言底层编程的核心技术要点，为开发者提供了实用的编程参考指南。]]></description><category></category></item><item><title><![CDATA[C语言基础笔记3【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/161197878</link><guid>https://blog.csdn.net/indeedes/article/details/161197878</guid><author>indeedes</author><pubDate>Wed, 20 May 2026 18:51:55 +0800</pubDate><description><![CDATA[本文摘要： C语言核心知识点总结，涵盖字符串、结构体、共同体、位域、typedef及输入输出操作。字符串部分详解定义初始化、可修改性及常用函数；结构体重点讲解声明方式、成员访问、指针使用及内存对齐；typedef用于简化类型声明；输入输出部分对比不同函数特性，强调安全性差异。特别指出gets()函数因安全隐患已被废弃，推荐使用fgets()替代。全文提供丰富代码示例，帮助理解各知识点的实际应用场景和注意事项。]]></description><category></category></item><item><title><![CDATA[C语言基础笔记2【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/161040747</link><guid>https://blog.csdn.net/indeedes/article/details/161040747</guid><author>indeedes</author><pubDate>Mon, 18 May 2026 16:31:48 +0800</pubDate><description><![CDATA[摘要：C语言核心概念（函数、数组、枚举、指针）
本文档系统性地讲解了C语言的四个核心主题：函数、数组、枚举和指针。

一、函数
函数是代码封装与复用的基本单元。

声明与定义：声明（原型）告知编译器函数签名，定义提供具体实现。参数名可省略。

分类：分为C标准库提供的库函数（如printf）和程序员编写的自定义函数。

参数传递：C语言只有值传递。传递普通变量时，形参改变不影响实参；传递指针（地址）时，可通过间接访问修改实参，实现“引用传递”效果（如swap函数）。

二、数组
数组是存储相同类型数据的连续]]></description><category></category></item><item><title><![CDATA[C语言基础笔记1【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/160931660</link><guid>https://blog.csdn.net/indeedes/article/details/160931660</guid><author>indeedes</author><pubDate>Tue, 12 May 2026 16:09:18 +0800</pubDate><description><![CDATA[本文介绍了C语言的基础语法和程序结构。首先通过&quot;Hello World&quot;示例讲解了C程序的基本组成，包括预处理指令、主函数、注释和输出语句。然后详细说明了C语言的数据类型（整型、浮点型、字符型等）、变量定义与初始化、常量声明方式（#define和const）以及存储类（auto、register、static、extern）。接着介绍了各种运算符（算术、关系、逻辑、位运算等）及其优先级。最后讲解了流程控制语句，包括条件判断（if-else、switch-case）、循环结构（while、]]></description><category></category></item><item><title><![CDATA[Java 基础学习笔记【个人用】]]></title><link>https://blog.csdn.net/indeedes/article/details/160830314</link><guid>https://blog.csdn.net/indeedes/article/details/160830314</guid><author>indeedes</author><pubDate>Fri, 08 May 2026 18:19:17 +0800</pubDate><description><![CDATA[本文摘要： Java开发环境搭建指南，包括JDK安装配置和IDEA使用教程。详细介绍了JDK环境变量设置方法、IDEA常用快捷键和调试技巧。涵盖Java基础语法：变量定义规则、8大基本数据类型、运算符使用、条件判断语句(if/switch)和循环结构(while/for)。重点讲解了变量命名规范、数据类型转换注意事项以及递增递减运算符的区别。同时提供了IDEA的代码格式化、注释、断点调试等实用功能说明，适合Java初学者快速掌握开发环境配置和基础编程知识。]]></description><category></category></item><item><title><![CDATA[Android WorkManager 全面讲解]]></title><link>https://blog.csdn.net/indeedes/article/details/160825880</link><guid>https://blog.csdn.net/indeedes/article/details/160825880</guid><author>indeedes</author><pubDate>Wed, 06 May 2026 18:09:42 +0800</pubDate><description><![CDATA[Android WorkManager 是 Jetpack 组件库中用于处理后台任务的框架，具有以下核心特性： 任务定义与调度 通过 Worker 类定义任务逻辑 使用 WorkRequest 配置任务类型（一次性/周期性）、约束条件和输入数据 WorkManager 根据设备状态智能选择最佳执行方式 高级功能 支持任务链和并行执行 提供任务状态实时监控 具备灵活的任务取消机制 支持数据传递（最大10KB） 适用场景 网络请求、数据同步等后台任务 需要持久化执行的作业 设备重启后仍需完成的工作 WorkMa]]></description><category></category></item><item><title><![CDATA[Android Navigation 组件全面讲解]]></title><link>https://blog.csdn.net/indeedes/article/details/160597346</link><guid>https://blog.csdn.net/indeedes/article/details/160597346</guid><author>indeedes</author><pubDate>Wed, 29 Apr 2026 16:40:14 +0800</pubDate><description><![CDATA[Android Jetpack Navigation组件使用指南 摘要：Navigation是Android Jetpack的核心组件，用于简化应用内导航逻辑。本文详细介绍了Navigation的基本使用方法和核心功能。主要内容包括：1）Navigation三大核心概念（导航图、宿主和控制器的关系）；2）实现步骤（创建导航图XML、配置Activity和Fragment）；3）核心功能如自动处理Fragment事务、安全参数传递、深层链接支持等。重点讲解了类型安全的SafeArgs参数传递、可视化导航图、集]]></description><category></category></item><item><title><![CDATA[Android Room 数据库详解【源码篇】]]></title><link>https://blog.csdn.net/indeedes/article/details/160448071</link><guid>https://blog.csdn.net/indeedes/article/details/160448071</guid><author>indeedes</author><pubDate>Tue, 28 Apr 2026 15:51:22 +0800</pubDate><description><![CDATA[本文深入剖析了Android Room数据库框架的核心架构与实现机制。Room采用三层架构设计：接口层（开发人员接触的@Entity、@Dao等注解）、编译时生成层（自动生成的Database_Impl和Dao_Impl类）以及运行时核心层（RoomDatabase、InvalidationTracker等基础设施）。 文章详细解析了Room的编译时注解处理流程，展示了RoomProcessor如何扫描和验证@Entity、@Dao等注解，并生成对应的实现类。重点分析了Database_Impl类的构建过程]]></description><category></category></item><item><title><![CDATA[Android Room 数据库详解【使用篇】]]></title><link>https://blog.csdn.net/indeedes/article/details/160412117</link><guid>https://blog.csdn.net/indeedes/article/details/160412117</guid><author>indeedes</author><pubDate>Thu, 23 Apr 2026 17:16:03 +0800</pubDate><description><![CDATA[Android Room数据库使用指南摘要 Room是Android Jetpack中的持久化库，提供SQLite的抽象层，包含三大核心组件：Entity（实体类）、DAO（数据访问接口）和Database（数据库类）。本文详细介绍了Room的使用方法： 配置依赖：添加Room相关库和注解处理器 创建实体类：使用@Entity定义表结构，@PrimaryKey设置主键 编写DAO接口：通过@Insert、@Update、@Delete和@Query注解实现CRUD操作 构建数据库：继承RoomDatabas]]></description><category></category></item><item><title><![CDATA[Android DataBinding 全面解析【源码篇2】]]></title><link>https://blog.csdn.net/indeedes/article/details/160228886</link><guid>https://blog.csdn.net/indeedes/article/details/160228886</guid><author>indeedes</author><pubDate>Mon, 20 Apr 2026 21:41:47 +0800</pubDate><description><![CDATA[本文深入解析了Android DataBinding框架中可观察数据容器的实现原理与使用方式。主要内容包括：1. 详细分析了ObservableField、ObservableInt等可观察数据容器的源码实现，解释了为何需要声明为public final；2. 探讨了BaseObservable与@Bindable注解的工作原理，以及属性级更新通知机制；3. 剖析了ObservableArrayMap/ObservableArrayList等集合类的特殊实现；4. 系统讲解了单向绑定(@{})和双向绑定(@]]></description><category></category></item><item><title><![CDATA[Android DataBinding 全面解析【源码篇1】]]></title><link>https://blog.csdn.net/indeedes/article/details/160219053</link><guid>https://blog.csdn.net/indeedes/article/details/160219053</guid><author>indeedes</author><pubDate>Thu, 16 Apr 2026 23:10:28 +0800</pubDate><description><![CDATA[本文深入解析Android DataBinding技术的工作原理，主要分为编译期和运行期两个阶段： 编译期处理： 编译器扫描带&lt;layout&gt;标签的XML布局文件，自动生成对应Binding类（如ActivityMainBinding） 生成四类核心文件：BR.java（变量ID索引）、DataBinderMapperImpl.java（布局映射表）、抽象Binding类和具体实现类 通过AST分析表达式，进行类型检查和代码生成 运行期机制： 初始化时通过DataBindingUtil建立Vie]]></description><category></category></item><item><title><![CDATA[Android DataBinding 全面解析【使用篇】]]></title><link>https://blog.csdn.net/indeedes/article/details/157908812</link><guid>https://blog.csdn.net/indeedes/article/details/157908812</guid><author>indeedes</author><pubDate>Sun, 15 Feb 2026 19:10:43 +0800</pubDate><description><![CDATA[本文介绍了Android DataBinding的核心概念与使用方式。主要内容包括：1. DataBinding基础概念与优势：减少样板代码、自动空安全处理、支持双向绑定等；2. 基本使用方法：从简单POJO示例到可观察对象(ObservableFields/BaseObservable)的使用；3. 绑定类型详解：单向绑定@{}、双向绑定@={}和事件绑定；4. 高级功能：通过@BindingAdapter自定义属性绑定逻辑（图片加载、视图扩展等）和@BindingConversion实现自动类型转换（颜]]></description><category></category></item></channel></rss>