以下是一个 Android 程序员应该熟悉的技术和概念列表:
MVVM(Model-View-ViewModel) 架构模式,用于在 Android 开发中实现关注点分离。
LiveData:一个可观察的数据持有类,具有生命周期感知性,用于组件间通信。
Kotlin Coroutines:用于编写异步和非阻塞代码的并发框架。
Activity 生命周期:包括 Android 活动的生命周期状态和回调。
在创建可重用、可扩展代码时,抽象类和接口的使用案例。
Flavor:Android Studio 中的一个功能,用于管理不同环境(例如开发、QA、生产)的不同构建变体。
Kotlin Data 类:主要用于保存数据和自动生成必要方法的类。
使用刷新令牌处理带有重试机制的网络调用:使用刷新令牌来处理网络请求,实现自动重试机制以进行身份验证。
依赖注入:使用 Dagger 和 Hilt 等技术来管理依赖项并提高模块化程度。
多态、抽象和其他面向对象编程概念的使用案例和应用。
Service:用于在后台执行长时间运行的操作的组件,包括前台和后台服务。
Broadcast Receiver:用于传递系统范围或应用程序特定事件的组件。
浅色和深色主题管理:为 Android 应用程序实现和管理不同的主题。
内存泄漏:了解内存泄漏在 Android 中如何发生以及修复它们的技术。
单元测试:编写和执行测试以验证单个代码单元的行为。
可变性和不可变性:了解可变和不可变对象的概念和优点。
Gradle:负责编译和打包 Android 应用程序的构建系统。
CI/CD(持续集成/持续部署):自动化构建、测试和部署过程。
离线缓存:使用 Async Task、Kotlin 的 Flows 和 WorkManager 等技术实现缓存机制以离线存储数据。
R8/Proguard:用于缩小代码、混淆和优化 Android 应用程序的工具。
WorkManager:用于调度和管理后台任务的 API。
Flow:了解和利用 Kotlin 中的 StateFlow、SharedFlow 和通道。
委托模式:在 Android 中实现委托设计模式。
注释处理器:利用注释处理器进行代码生成和元数据处理。
MVI(Model-View-Intent)模式:用于 Android 应用程序的单向架构模式。
图像处理库和网络库:了解这些库的工作原理并将它们集成到 Android 应用中。
自定义视图实现:创建具有自定义绘制和交互行为的自定义视图。
ExoPlayer 和实时流处理:利用 ExoPlayer 播放媒体内容并处理实时流。
NDK(原生开发工具包):将本地代码开发和集成到 Android 应用程序中。
重要密钥管理和加密/解密:使用加密和解密技术处理敏感数据。
枚举和封闭类:了解并在 Kotlin 中使用枚举类型和封闭类。
Kotlin 中的作用域函数:使用 let、run、with、apply 和 also 等函数进行作用域和上下文操作。
Activity 启动模式:了解 Android 活动的不同启动模式。
FlatMap vs. Map:函数式编程中 flatMap 和 map 操作之间的差异。
Val、var 和 const:了解这些声明的差异以及适当的用法。
扩展函数、内联函数和 crossinline:用于增强代码可读性和功能的 Kotlin 功能。
片段通信:在片段之间进行通信的技术。
闹钟管理器/分页:利用 Alarm Manager 进行任务调度并在 Android 应用程序中实现分页。
Java 静态 vs. Kotlin 对象:Java 中静态声明和 Kotlin 中对象声明之间的差异。
ANR(应用程序未响应)、RxJava、集合框架、
HashMap:处理 ANR 方案、利用 RxJava 进行响应式编程以及处理数据集合。
本地数据库:利用本地数据库(如 SQLite 或 Room)进行数据存储和检索。
不同的设计模式及其在 Android 开发中的应用场景。
Navigation Component:用于实现导航和处理片段事务的库。
单 Activity 架构:设计只有一个 Activity 和多个片段的应用程序。
分页、远程中介器、高阶函数 vs. 接口:使用分页库、为分页实现远程中介器,了解高阶函数和接口。
中缀函数:定义可以在不使用点或括号语法的情况下调用的函数。
DataBinding:在布局文件中将数据直接绑定到 UI 组件上。
拦截器:拦截和修改网络请求和响应。
Android 中的传感器和 TensorFlow Lite:使用设备传感器并集成 TensorFlow Lite 进行机器学习任务。
Jetpack Compose:一种使用声明性编程构建 Android 用户界面的现代 UI 工具包。
UI 测试:编写自动化测试以验证用户界面的正确性。
安全性——对称和非对称加密:实现加密技术进行安全数据传输。
内容提供程序:Android 中用于在应用程序之间共享数据的组件。
WebSocket 和 GraphQL:了解和利用 WebSocket 通信以及在 Android 应用程序中集成 GraphQL。
Serializable vs. Parcelable:在 Android 组件之间传输数据的不同机制。
Intent 和 Intent Filter,Pending Intent:了解意图、意图过滤器和挂起意图以进行组件间通信。