Android开发知识图谱

Kotlin

Kotlin语言基础

以学完Kotlin基础可开始学习Android开发基础为目标。

认识Kotlin

  • 什么是Kotlin
  • Kotlin优点
  • 开发环境搭建
  • 第一个Kotlin程序

数据类型

  • 基本数据类型
  • 关键字
  • 数组
  • 常用字符串操作

控制语句

  • 条件分支
  • when语句
  • for循环
  • while循环

类型系统

  • 可空类型
  • 安全操作符
  • 类型转换
    • is操作符
    • as操作符

面向对象编程

  • 类与属性
  • 继承与多态
  • 抽象类与接口

函数式编程

  • 什么是函数式编程
  • 函数基本用法
  • 函数的范围

kotlin语言进阶

泛型

  • 泛型基础

协程

  • 线程与协程
  • 协程的基本使用

Kotlin I/O操作

  • I/O流概述
  • 字节流
  • 字符流
  • 文件管理

网络编程

  • 网络基础
  • 数据交换格式
  • 多线程技术
  • 访问互联网

高阶函数与Lambda表达式

  • Lambda表达式的语法

扩展类

集合类

反射

注解

异常处理

Kotlin与Java混合编程

项目实战

Android

Android开发基础

以学完Android开发基础可独立开发一个简单小应用为目标。

认识Android

  • 介绍Android
  • Android开发环境搭建
  • 运行第一个Android程序
  • 项目目录介绍
  • Gradle简单介绍
  • Android日志系统

活动Actvity

  • 什么是Activity
  • Activity基本用法
  • Intent的概念及应用
  • Activity返回数据
  • 生命周期介绍
  • 实例讲解

用户界面

  • 介绍常用UI控件
    • button
    • TextView
    • EditText
    • imageView
    • RadioButton
    • Checkbox
  • 常用布局讲解
    • LinearLayout
    • RelativeLayout
    • FrameLayout
    • TableLayout
  • 高级控件
    • AlertDialog
    • ProgressBar
    • Viewpaper
    • RecyclerViews
  • 实例讲解

广播机制BroadcastReceiver

  • 什么是BroadcastReceiver
  • 系统广播
  • 自定义广播
  • 本地广播
  • 静态注册与动态注册
  • 实例讲解

数据存储

  • SharedPreferences存储
  • 文件读写操作
  • SQLite数据库介绍与使用
  • 三方库简单介绍

内容提供者Content Provider

  • 什么是Content Provider
  • 运行时权限
  • Content Provider实现共享数据
  • 实例讲解

后台服务Service

  • 什么是Service
  • 多进程机制
  • Service的基本用法
  • 实例讲解

网络技术

  • WebView组件
  • 使用HttpURLConnection
  • 使用OkHttp
  • 操作XML数据
  • 操作JSON数据
  • 三方库简单介绍
  • 实例讲解

碎片Fragment

  • 什么事Fragment
  • Fragment的使用方法
  • Fragment生命周期
  • 实例讲解

项目实战

  • 结合之前所学,用尽可能多的知识点开发一个综合应用。

Android开发进阶

多媒体应用

  • 音乐播放
  • 视频播放
  • 调用摄像头
  • 通知与桌面插件的应用

动画的应用

  • 逐帧动画
  • 补间动画
  • 实例讲解

自定义View

  • 绘图基础
  • Path类
  • 实例讲解

Android的事件机制

  • 异步任务的基本概念
  • AsyncTask的使用方法
  • 基于回调的时间处理
  • Handler消息传递机制
  • 多线程下载与断点续传

常用开源库的使用(仅供参考)

  • 音频视频
    • JieCaoVideoPlayer
    • ijkplayer
  • 下拉上滑
    • BGARefreshLayout-Android
    • BaseRecyclerViewAdapterHelper
    • SmartRefreshLayout
    • ByeBurger
  • 网络相关
    • RxJava
    • RxKotlin
    • RxAndroid
    • Retrofit
    • okhttp3
    • RxLifecycle
  • 图片
    • Glide
    • PhotoView
    • Selectableroundedimageview
    • CircleImageView
  • 数据
    • Gson
    • Greendao
    • Room
  • 依赖注入
    • Dagger2
  • 组件间通信
    • Rxbus

第三方扩展

  • 位置服务—地图
  • 语音识别
  • 支付
  • 广告
  • 分享ShareSDK
  • 短信SMSSDK
  • 推送
  • 统计分析

性能优化

  • UI优化
  • 内存优化
  • 电池优化
  • 流量优化

架构设计

  • MVC
  • MVP
  • MVVM

传感器

  • 距离
  • 重力
  • 磁场
  • 光线
  • NFC开发

测试调试

  • adb常用命令介绍
  • 调试技巧

其他

  • 国际化
  • 应用适配
  • 手势识别与多点触控
  • NDK
  • 安全相关
  • 常用快捷操作

项目实战

  • 结合之前所学,用尽可能多的知识点开发一个综合应用。

面试指导