前言

对于 Android 新手入门,很容易会遇到学习瓶颈和困难。

没有一个好学的学习方向,学习规划,学习教程,这都是新手会面临的问题。 很多人会在百度上搜索,查阅相关资料。但是网上搜索的很多资料,都是断片式的学习,缺乏完整性和系统性。

新手入门,本来就还处在什么都还不知道的阶段,这时碎片化的学习知识点更加容易犯晕,头脑不清晰。那新手入门应该怎样学习,从哪里开始学习?

下面分享大佬推荐的 Android 编程入门教程,简单明了,上手快;从实用性出发,快速掌握 Android 开发基本技能。

Android编程入门教程内容分为:Java语言基础从入门到熟悉、Kotlin语言基础从入门到熟悉、Android 技术栈从入门到熟悉、Android Jetpack 全家桶全面学习四个部分,共70个小章节,776页。

一,Java语言基础从入门到熟悉

1. Java综述
  • 面向对象
  • 设计模式
2. Java基础
  • 基础笔记
  • 接口与抽象类

3. class
  • Java 类的基础,class 基础
  • Java 类初始化顺序
  • 接口与抽象类
  • Java equals 方法与 == 的区别

4. 面向对象
  • 抽象,封装,继承,多态
  • 多态
5. 容器
  • Java集合类
  • ArrayList介绍
  • Map

6. 多线程
  • 线程简介
  • Java 读写锁

7. IO
  • Java读写文件
  • Java读写xls文件

8. 正则表达式
  • 使用正则表达式
  • 查找特定字符串
  • 提取特定字符
  • 例子1:从非字母中间提取出字母。
  • 例子2:从非字母中间找到英文单词。

9. 日历
  • 按日计算年龄
10. 注解使用与简单说明
  • 使用注解
11. Java使用加密算法
  • MD5

二,Kotlin语言基础从入门到熟悉

1. Kotlin系列简介
  • 系列大纲
2. 新建项目
  • Hello World
  • 变量

3. 概念介绍
  • 包的定义和使用
  • 程序入口
  • 标准输出
  • 方法
  • 变量
  • 创建类与实例
  • 注释
  • 字符串模版(String tempplates)
  • 条件表达式
  • for循环
  • while循环
  • when表达式
  • 范围
  • 集合
  • 可为null的值和null检查
  • 类型检查和自动转换

4. 常用写法
  • 方法参数的默认值
  • 过滤列表
  • 检查某个元素是否在集合里
  • String插值
  • 只可读的列表
  • 只可读的 map
  • while 循环读写流
5. lambda
  • 什么是 Lambda 表达式
  • 简化 Lambda 表达式
  • 从 Lambda 中返回
  • Lambda 表达式的类型
  • SAM 转换

6. 高阶函数
  • 高阶函数介绍
  • Kotlin常用标准高阶函数介绍
  • 自定义高阶函数

7. 扩展函数
  • 何为扩展函数
  • 扩展函数的解析为静态的
  • 扩展函数不支持多态
  • 扩展函数的作用域

8. 协程
  • Kotlin协程入门
  • Kotlin协程基础
  • Kotlin协程取消与超时

三,Android 技术栈从入门到熟悉

1. 开始
  • 新建App工程
  • Android项目使用kotlin

2,Activity
  • Android Activity综述
  • Activity 生命周期
  • Activity 启动,携带参数启动
  • Activity 传递Parcelable对象
  • Activity 返回时携带参数
  • Activity 启动模式,任务和返回栈
  • Activity 过场动画效果
  • Activity 中获取 View 的宽高

3. Service 服务
  • Service 综述
  • 后台服务
  • 启动前台服务
  • IntentService 分析和用法

4. Broadcast 广播机制
  • 广播机制 Broadcast 介绍与使用
  • Android 监听屏幕亮灭

5. Fragment
  • Fragment 基础概念
  • Fragment 加载方法
  • Fragment 间的通信
  • DialogFragment

6. res应用资源
  • res资源目录简介
  • shape的绘制和使用
  • Android Button,TextView背景增添动感
  • Android使用第三方字体
  • 使用shape来绘制虚线
  • 适配

7. 权限
  • Android 添加自定义权限
8. TextView 显示文字
  • TextView简介
  • textStyle
  • Android 字体(字库)
  • 特殊字符
  • SpannableString

9. EditText 用户输入
  • EditText 监听回车
  • EditText 光标移动与选择
  • 监听输入内容
  • PopupWindow 中 EditText 无法编辑,无法弹出软键盘
  • EditText 弹出软键盘遮住输入框问题

10. Button 按钮
11. ImageView 图片显示
  • 导言
  • ImageView的使用

12. Layout布局
  • LinearLayout简述
  • RelativeLayout 相对布局
  • 使用 ConstraintLayout 构建自适应界面
  • 使用链控制线性组

13. DrawerLayout侧滑栏
  • Android DrawerLayout 使用示例
14. RecyclerView 显示列表
  • RecyclerView使用入门
  • RecyclerView实际使用
  • RecyclerView响应子项点击
  • RecyclerView显示多种item
  • RecyclerView获取滑动距离
  • clipToPadding介绍
  • 使用RecyclerView来创建一个颜色选择板
  • 侧滑删除,拖动排序
  • 瀑布流效果
  • 取消子项更新动画

15. 多线程
  • Android多线程综述
  • 线程池
  • Handler
  • 协程
  • AsyncTask 使用介绍

16. IO 操作
  • 读写文件
  • mmap 文件映射到内存介绍
  • MappedByteBuffer文件映射内存使用示例

17. 存储
  • SharedPreferences 简介
18. NetWork 网络
  • URLConnection
  • Android P 网络请求开始强制要求https
  • OkHttp

19. ProgressBar进度条
  • 进度条
20. View
  • View的综述
  • View.MeasureSpec简述
  • Android View post 方法

21. 自定义View
  • 文字位置信息
  • 裁剪画布 canvas clip path
  • Android SurfaceView简介与使用
  • Android 自动缩放上下限的折线图

22. 动画
  • Android应用的动画
  • 使用AnimationDrawable
  • 补间动画
  • ObjectAnimator 更改视图位置

23. WebView
  • WebView 各项使用说明
  • 显示 html 文本
  • WebView 加载 assets 中的网页
  • WebView 加载本地存储的网页
  • WebView 在 NestedScrollView 中高度不稳定
  • 自定义长按文字弹出的菜单
  • x5 WebView 自定义长按菜单
  • js 调用 Java 方法

24. StatusBar
  • 获取高度
  • Android7.0及以后沉浸式状态栏变灰问题
25. Camera相机
  • Android 使用 Android Camera API 完成音视频的采集、编码、封包成 mp4 输出
  • Android 分别使用 SurfaceView 和 TextureView 来预览 Camera,获取NV21数据

26. Media
  • MediaPlayer 多媒体播放器
  • Audio 音频
  • 视频
  • H.264简介
  • YUV格式简介

27. Bluetooth 蓝牙
  • Android Bluetooth 蓝牙2.0使用方式
  • Android SPP连接蓝牙设备注意事项
28. WiFi连接
  • 概述
  • 申请权限
  • WiFi信息扫描
  • 将WiFi搜索结果显示出来
  • 连接WiFi

29. 获取手机当前角度
  • 姿态角度信息
30. launcher
  • 简易launcher

31. AIDL
  • Android AIDL 了解与使用
32. zip
  • Android 压缩字符串
  • 使用ZipFile进行解压

33. Binder
  • Android Binder 机制介绍
  • Android Intent 传递数据大小限制
34. Notification 通知
  • Notification 使用

35. PackageManager
  • PackageManager的一些基础用法
  • 代码重启app的方法
36. RTFSC
  • 认识 Android Context
  • Android SparseArray 原理解析

37. 设计模式
  • 适配器模式 Adapter Pattern - Java实现
  • 监听者模式 - 在Java与Android中的使用
  • 桥接模式 Bridge Pattern
  • 建造者模式 Builder Pattern
  • 命令模式
  • 装饰者模式
  • 策略模式
  • 工厂方法
  • 迭代器
  • 中介者
  • 备忘录模式
  • 原型模式
  • 代理模式
  • 责任链模式
  • 状态模式
  • 模板方法模式
  • 访问者模式
  • 享元模式
  • 门面模式

38. 第三方库
  • RxAndroid 使用方法
  • 汉字转拼音库 TinyPinyin
  • EventBus

39. Android Studio
  • 使用Android Studio
  • SuppressWarnings
  • 从硬盘安装插件

40. 模块化
  • 重构工程,模块化思路和步骤
  • Android 蓝牙管理模块
  • 使用git submodule管理模块
  • 问题与方法

41. Gradle
  • gradle简介
  • Gradle for Android开始
  • Gradle 基础自定义构建
  • Gradle 构建多种版本
  • Android Studio Gradle 下载速度慢解决方法

42. NDK
  • 开始
  • JNI 返回值
  • 字符串的使用
  • 打 log
  • 访问域
  • Android NDK Makefile 相关示例
  • Android NDK 使用 .a文件
  • IO
  • NDK 中动态注册 JNI 方法
  • 用 sprintf 代替 itoa

43. 调试
  • adb
  • 机器设置
  • ANR介绍

四,Android Jetpack 全家桶全面学习

1. 介绍
  • 在 Fragment 之间共享数据
2. databinding
  • 使用databinding
  • 数据绑定
  • 使用可观察数据对象ObservableField
  • 点击事件
  • 表达式语言
  • layout中的data
  • databinding中的layout include
  • 双向数据绑
  • 绑定适配器定

3. LiveData 事件传送
  • 准备数据类型
  • layout
  • Activity设置
4. LifeCycle 生命周期
  • 活动
  • 状态转换
  • LifecycleOwner
  • 实现自定义 LifecycleOwner

5. WorkManager
  • 入门示例
  • WorkManager工作约束,延迟与查询工作
  • WorkManager定时任务

6. ViewModel
  • ViewModel 概览
  • Activity使用ViewModel
  • Activity与Fragment用同一个ViewModel

7. 数据库
  • 开始使用Room
  • 实体类介绍
  • 添加数据(Insert)
  • 更新数据(Update)
8. Paging
  • 前言
  • 目录
  • 从使用角度看结构
  • 分析准备
  • 数据的产生
  • 数据的消费

因篇幅有限,《Android编程入门教程》内容较多,需要完整版《Android编程入门教程》文档可以点击此处免费获取