Skip to main content

基础

前言

基础知识,永远是你进入一个行业的基石,不管什么时候都可以作为学习或者复习的目标。下面就列举Android中相对最全的基础知识。

Android 操作系统和架构:

Android 操作系统的版本历史和特性,Android 架构和组件的作用和关系。

  • Android 操作系统版本历史和特性:Android 2.x、Android 3.x、Android 4.x、Android 5.x、Android 6.x、Android 7.x、Android 8.x、Android 9.x、Android 10、Android 11、Android 12 版本的主要特性和变化;
  • Android 操作系统架构和组件:Android 操作系统的四层架构(Linux 内核、系统运行库、应用框架、应用程序)和组件(Activity、Service、Broadcast Receiver、Content Provider)的作用和关系;
  • 学习资源:Android 官方文档、《Android 源码设计模式》等。

Android 应用开发基础:

Android 应用的生命周期、组件和布局,应用的资源和清单文件,应用数据的存储和共享。

  • Android 应用的生命周期、组件和布局:Activity、Service、Broadcast Receiver、Content Provider 的生命周期、使用和场景,布局和控件的基础知识和使用方法;
  • 应用的资源和清单文件:Android 应用的资源文件(图片、布局、字符串等)和清单文件的作用和格式;
  • 应用数据的存储和共享:SharedPreferences、SQLite、File 等存储方式的使用和注意事项;
  • 学习资源:《第一行代码》、《Android 编程权威指南》、《Android 开发艺术探索》等。

Java 编程语言和 Android 开发工具:

Java 编程语言的语法和特性,Android 开发工具的使用和调试技巧,如 Android Studio、ADB 等。

  • Java 编程语言的语法和特性:Java 基础语法、面向对象编程、异常处理、集合框架等;
  • Android 开发工具的使用和调试技巧:Android Studio 的使用、项目结构、Gradle 构建、调试技巧等;
  • ADB 命令的使用:adb devices、adb shell、adb install、adb logcat 等;
  • 学习资源:《Java 核心技术》、《Effective Java》、Android 官方文档、《Android Studio 教程》等。

常用 Android 库和框架:

Android 提供的常用库和框架,如 Retrofit、Glide、OkHttp、RxJava 等,以及如何集成和使用这些库和框架。

  • 网络请求和解析:Retrofit、OkHttp、Gson 等库的使用和示例;
  • 图片加载和缓存:Glide、Picasso 等库的使用和示例;
  • 异步操作和事件处理:RxJava、EventBus 等库的使用和示例;
  • 学习资源:Github 上的开源项目、官方文档、第三方博客和书籍等。

网络和数据存储:

Android 应用的网络请求和响应,如何使用 Retrofit 和 OkHttp 等库进行网络请求和数据解析,以及 Android 应用的数据存储和管理,如 SharedPreference、SQLite、Room 等。

网络
  • 网络基础知识:TCP/IP、HTTP/HTTPS、Socket、WebSocket 等网络协议和基础知识;
  • 网络库的使用:OkHttp、Retrofit、Volley、HttpURLConnection 等常用网络库的使用和示例;
  • JSON 解析:Gson、FastJson 等常用 JSON 解析库的使用和示例;
  • 网络安全:SSL/TLS、证书验证、HTTPS、数据加密等安全相关知识;
  • 学习资源:官方文档、《Android 网络编程实战》、《Android 开发艺术探索》、《Java 网络编程精解》等。
数据存储
  • 数据存储基础知识:SharedPreference、文件存储、数据库存储等基础知识和使用方法;
  • 数据库操作:SQLiteOpenHelper、ContentProvider、Room 等库的使用和示例;
  • 数据库迁移和升级:SQLiteOpenHelper 的版本升级、Room 的版本升级等;
  • 数据缓存:LruCache、DiskLruCache、Glide 等缓存库的使用和示例;
  • 学习资源:官方文档、《Android 数据存储开发实战》、《Android 数据库开发实战》、《Android 数据持久化详解》等。

多媒体和图形界面:

Android 应用的多媒体处理和图形界面设计,如音频、视频、图片的处理和显示,以及 Android 应用的动画、视图和自定义控件的实现。

多媒体
  • 多媒体基础知识:音频、视频、图片等多媒体的基础知识和格式;
  • 音频播放和录制:MediaPlayer、AudioRecord、SoundPool 等库的使用和示例;
  • 视频播放和录制:VideoView、MediaRecorder、Camera 等库的使用和示例;
  • 图片处理和显示:Bitmap、Drawable、Canvas、OpenGL ES 等库的使用和示例;
  • 学习资源:官方文档、《Android 音视频开发》、《Android 图形图像处理开发实战》
图形界面
  • Android UI 基础:View、Layout、Style、Theme 等基础知识和使用方法;
  • 绘制和动画:Canvas、Drawable、Animation、Property Animation 等库的使用和示例;
  • 自定义 View 和组件:自定义 View 和 ViewGroup、自定义属性、自定义绘制等;
  • Material Design 设计风格和实现方法:Material Design 的概念和实现方法、常用 Material Design 库的使用;
  • 学习资源:官方文档、《Android UI 设计实战》、《Android 自定义控件开发入门与实战》、Material Design 官方指南等。

性能优化和测试:

Android 应用的性能优化和测试技术,如内存管理、性能分析、布局优化、UI 测试等,以及常用的测试框架和工具,如 Espresso、Robolectric、JUnit 等。

性能优化
  • 内存优化:内存泄漏和内存抖动的原因和解决方法、内存优化工具(Memory Monitor、Memory Profiler、LeakCanary 等)的使用;
  • 布局优化:布局层次结构的优化、布局优化工具(Hierarchy Viewer、Layout Inspector 等)的使用;
  • 图片和网络优化:图片压缩和缓存、网络请求优化(如批量请求、缓存等);
  • 性能监测和优化:Systrace、TraceView、Debug GPU Overdraw 等性能监测工具的使用;
  • 学习资源:官方文档、《Android 性能优化实战》、《Android Performance Patterns》、《Android Performance Tuning》等。
测试
  • Android 单元测试:JUnit、Mockito、Robolectric 等单元测试框架的使用;
  • Android UI 测试:Espresso、UI Automator、Monkey 等 UI 测试框架的使用;
  • 性能测试和内存测试:Systrace、Memory Monitor、LeakCanary 等工具的使用;
  • 学习资源:官方文档、《Android Test-Driven Development》、《Android Testing Patterns》等。