前言
对于 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编程入门教程》文档可以点击此处免费获取