前言
对于 Android 新手入门,很容易会遇到学习瓶颈和困难。
没有一个好学的学习方向,学习规划,学习教程,这都是新手会面临的问题。 很多人会在百度上搜索,查阅相关资料。但是网上搜索的很多资料,都是断片式的学习,缺乏完整性和系统性。
新手入门,本来就还处在什么都还不知道的阶段,这时碎片化的学习知识点更加容易犯晕,头脑不清晰。那新手入门应该怎样学习,从哪里开始学习?
![](https://img-blog.csdnimg.cn/img_convert/59712fcb40ad7687fa4eebd386b50f82.png)
下面分享大佬推荐的 Android 编程入门教程,简单明了,上手快;从实用性出发,快速掌握 Android 开发基本技能。
Android编程入门教程内容分为:Java语言基础从入门到熟悉、Kotlin语言基础从入门到熟悉、Android 技术栈从入门到熟悉、Android Jetpack 全家桶全面学习四个部分,共70个小章节,776页。
一,Java语言基础从入门到熟悉
1. Java综述
面向对象
设计模式
2. Java基础
基础笔记
接口与抽象类
![](https://img-blog.csdnimg.cn/img_convert/da6abf0dd79e667d76865f60ee607aca.png)
3. class
Java 类的基础,class 基础
Java 类初始化顺序
接口与抽象类
Java equals 方法与 == 的区别
![](https://img-blog.csdnimg.cn/img_convert/90daf10f8fa325bd74fff6514d1fc0cc.png)
4. 面向对象
抽象,封装,继承,多态
多态
5. 容器
Java集合类
ArrayList介绍
Map
![](https://img-blog.csdnimg.cn/img_convert/aaa7838a3551fa0bb595ed7280efc27e.png)
6. 多线程
线程简介
Java 读写锁
![](https://img-blog.csdnimg.cn/img_convert/e4d9d16c562bf2ea7a39df76c34bbc1f.png)
7. IO
Java读写文件
Java读写xls文件
![](https://img-blog.csdnimg.cn/img_convert/788052aec988d47c5081f2869934bec7.png)
8. 正则表达式
使用正则表达式
查找特定字符串
提取特定字符
例子1:从非字母中间提取出字母。
例子2:从非字母中间找到英文单词。
![](https://img-blog.csdnimg.cn/img_convert/1397bab32bf3bc8416a9aa53b5c9c439.png)
9. 日历
按日计算年龄
10. 注解使用与简单说明
使用注解
11. Java使用加密算法
MD5
![](https://img-blog.csdnimg.cn/img_convert/f4d37dd854f31e3d07c128ab600628e7.png)
二,Kotlin语言基础从入门到熟悉
1. Kotlin系列简介
系列大纲
2. 新建项目
Hello World
变量
![](https://img-blog.csdnimg.cn/img_convert/88b0571f4c737e57b5c1ca6432c98996.png)
3. 概念介绍
包的定义和使用
程序入口
标准输出
方法
变量
创建类与实例
注释
字符串模版(String tempplates)
条件表达式
for循环
while循环
when表达式
范围
集合
可为null的值和null检查
类型检查和自动转换
![](https://img-blog.csdnimg.cn/img_convert/810cd9ec2d947fc802a19645f56ffa6f.png)
4. 常用写法
方法参数的默认值
过滤列表
检查某个元素是否在集合里
String插值
只可读的列表
只可读的 map
while 循环读写流
5. lambda
什么是 Lambda 表达式
简化 Lambda 表达式
从 Lambda 中返回
Lambda 表达式的类型
SAM 转换
![](https://img-blog.csdnimg.cn/img_convert/fe9f5e4547292fce4e5441e925457875.png)
6. 高阶函数
高阶函数介绍
Kotlin常用标准高阶函数介绍
自定义高阶函数
![](https://img-blog.csdnimg.cn/img_convert/4313d2dc39a860c7bb794f6eb444fbd8.png)
7. 扩展函数
何为扩展函数
扩展函数的解析为静态的
扩展函数不支持多态
扩展函数的作用域
![](https://img-blog.csdnimg.cn/img_convert/476daca6ebc0d27eb2af122150cc2109.png)
8. 协程
Kotlin协程入门
Kotlin协程基础
Kotlin协程取消与超时
![](https://img-blog.csdnimg.cn/img_convert/04fd52add1fcaa37b44c8ea0dbd53850.png)
三,Android 技术栈从入门到熟悉
1. 开始
新建App工程
Android项目使用kotlin
![](https://img-blog.csdnimg.cn/img_convert/8c14a04bc45eea9c10c42c3d2c83d063.png)
2,Activity
Android Activity综述
Activity 生命周期
Activity 启动,携带参数启动
Activity 传递Parcelable对象
Activity 返回时携带参数
Activity 启动模式,任务和返回栈
Activity 过场动画效果
Activity 中获取 View 的宽高
![](https://img-blog.csdnimg.cn/img_convert/39fc80300d816671ff339b6af9392fe6.png)
3. Service 服务
Service 综述
后台服务
启动前台服务
IntentService 分析和用法
![](https://img-blog.csdnimg.cn/img_convert/1539a8e051a6303cb17c4d511c91b6e3.png)
4. Broadcast 广播机制
广播机制 Broadcast 介绍与使用
Android 监听屏幕亮灭
![](https://img-blog.csdnimg.cn/img_convert/6ad8246ed8be0c7b72b3071987523387.png)
5. Fragment
Fragment 基础概念
Fragment 加载方法
Fragment 间的通信
DialogFragment
![](https://img-blog.csdnimg.cn/img_convert/a52a163a103c093b08210f2df9f06c02.png)
6. res应用资源
res资源目录简介
shape的绘制和使用
Android Button,TextView背景增添动感
Android使用第三方字体
使用shape来绘制虚线
适配
![](https://img-blog.csdnimg.cn/img_convert/3cb24ebdaa9b620050f5c4db9752bc34.png)
7. 权限
Android 添加自定义权限
8. TextView 显示文字
TextView简介
textStyle
Android 字体(字库)
特殊字符
SpannableString
![](https://img-blog.csdnimg.cn/img_convert/98ceeff6fe9d333f7b546482797ca253.png)
9. EditText 用户输入
EditText 监听回车
EditText 光标移动与选择
监听输入内容
PopupWindow 中 EditText 无法编辑,无法弹出软键盘
EditText 弹出软键盘遮住输入框问题
![](https://img-blog.csdnimg.cn/img_convert/fa3be7a47198903f488156cb72003025.png)
10. Button 按钮
11. ImageView 图片显示
导言
ImageView的使用
![](https://img-blog.csdnimg.cn/img_convert/570d0cf4c9dd2119c5ad3f1e428a359f.png)
12. Layout布局
LinearLayout简述
RelativeLayout 相对布局
使用 ConstraintLayout 构建自适应界面
使用链控制线性组
![](https://img-blog.csdnimg.cn/img_convert/6ba36d2fa8c31c5114045a9bdeab319e.png)
13. DrawerLayout侧滑栏
Android DrawerLayout 使用示例
14. RecyclerView 显示列表
RecyclerView使用入门
RecyclerView实际使用
RecyclerView响应子项点击
RecyclerView显示多种item
RecyclerView获取滑动距离
clipToPadding介绍
使用RecyclerView来创建一个颜色选择板
侧滑删除,拖动排序
瀑布流效果
取消子项更新动画
![](https://img-blog.csdnimg.cn/img_convert/f96e09f59b0e25b274e63d728d264a14.png)
15. 多线程
Android多线程综述
线程池
Handler
协程
AsyncTask 使用介绍
![](https://img-blog.csdnimg.cn/img_convert/a655fa935bb23a4cc9bdf65366a5ac17.png)
16. IO 操作
读写文件
mmap 文件映射到内存介绍
MappedByteBuffer文件映射内存使用示例
![](https://img-blog.csdnimg.cn/img_convert/50557c00194eb67ab7f74f52b3adbd59.png)
17. 存储
SharedPreferences 简介
18. NetWork 网络
URLConnection
Android P 网络请求开始强制要求https
OkHttp
![](https://img-blog.csdnimg.cn/img_convert/bbbd4e32732f29f193cbe8d87a31af20.png)
19. ProgressBar进度条
进度条
20. View
View的综述
View.MeasureSpec简述
Android View post 方法
![](https://img-blog.csdnimg.cn/img_convert/57a71c43f9b4de09a1954642b79a7775.png)
21. 自定义View
文字位置信息
裁剪画布 canvas clip path
Android SurfaceView简介与使用
Android 自动缩放上下限的折线图
![](https://img-blog.csdnimg.cn/img_convert/12d45e01c768b17d4e8f56355c45aaea.png)
22. 动画
Android应用的动画
使用AnimationDrawable
补间动画
ObjectAnimator 更改视图位置
![](https://img-blog.csdnimg.cn/img_convert/d6e2e17ac96d25eedc055c79512979ff.png)
23. WebView
WebView 各项使用说明
显示 html 文本
WebView 加载 assets 中的网页
WebView 加载本地存储的网页
WebView 在 NestedScrollView 中高度不稳定
自定义长按文字弹出的菜单
x5 WebView 自定义长按菜单
js 调用 Java 方法
![](https://img-blog.csdnimg.cn/img_convert/a1841bf57525b0937f92dff3ca1819a7.png)
24. StatusBar
获取高度
Android7.0及以后沉浸式状态栏变灰问题
25. Camera相机
Android 使用 Android Camera API 完成音视频的采集、编码、封包成 mp4 输出
Android 分别使用 SurfaceView 和 TextureView 来预览 Camera,获取NV21数据
![](https://img-blog.csdnimg.cn/img_convert/468c1868c4dc5356f37e26afea826db5.png)
26. Media
MediaPlayer 多媒体播放器
Audio 音频
视频
H.264简介
YUV格式简介
![](https://img-blog.csdnimg.cn/img_convert/0e1a96a7df1546d0dda22fa5d97c0f7c.png)
27. Bluetooth 蓝牙
Android Bluetooth 蓝牙2.0使用方式
Android SPP连接蓝牙设备注意事项
28. WiFi连接
概述
申请权限
WiFi信息扫描
将WiFi搜索结果显示出来
连接WiFi
![](https://img-blog.csdnimg.cn/img_convert/c307589e111dfccd4f02e6fc3e11215b.png)
29. 获取手机当前角度
姿态角度信息
30. launcher
简易launcher
![](https://img-blog.csdnimg.cn/img_convert/1a1322841bd482292da894a821eacf9a.png)
31. AIDL
Android AIDL 了解与使用
32. zip
Android 压缩字符串
使用ZipFile进行解压
![](https://img-blog.csdnimg.cn/img_convert/ff3a22d3529c8228d863b5a3b89811cb.png)
33. Binder
Android Binder 机制介绍
Android Intent 传递数据大小限制
34. Notification 通知
Notification 使用
![](https://img-blog.csdnimg.cn/img_convert/c0c1ebd1bf7548ac25c582d9dbbf22f3.png)
35. PackageManager
PackageManager的一些基础用法
代码重启app的方法
36. RTFSC
认识 Android Context
Android SparseArray 原理解析
![](https://img-blog.csdnimg.cn/img_convert/41e0efd48fe345c269cd6dbffbe87e30.png)
37. 设计模式
适配器模式 Adapter Pattern - Java实现
监听者模式 - 在Java与Android中的使用
桥接模式 Bridge Pattern
建造者模式 Builder Pattern
命令模式
装饰者模式
策略模式
工厂方法
迭代器
中介者
备忘录模式
原型模式
代理模式
责任链模式
状态模式
模板方法模式
访问者模式
享元模式
门面模式
![](https://img-blog.csdnimg.cn/img_convert/32fab9da03dd47bc846b402cc75289db.png)
38. 第三方库
RxAndroid 使用方法
汉字转拼音库 TinyPinyin
EventBus
![](https://img-blog.csdnimg.cn/img_convert/1b86daff965e7bb8089a8c0946c8565b.png)
39. Android Studio
使用Android Studio
SuppressWarnings
从硬盘安装插件
![](https://img-blog.csdnimg.cn/img_convert/4da5abf14ac8423c5c6ee5f55c7c23fb.png)
40. 模块化
重构工程,模块化思路和步骤
Android 蓝牙管理模块
使用git submodule管理模块
问题与方法
![](https://img-blog.csdnimg.cn/img_convert/be5bb9abc9d211057f1890b4ad5c7f35.png)
41. Gradle
gradle简介
Gradle for Android开始
Gradle 基础自定义构建
Gradle 构建多种版本
Android Studio Gradle 下载速度慢解决方法
![](https://img-blog.csdnimg.cn/img_convert/93d0f4dba9bc848f83e1c14cbb93a4bb.png)
42. NDK
开始
JNI 返回值
字符串的使用
打 log
访问域
Android NDK Makefile 相关示例
Android NDK 使用 .a文件
IO
NDK 中动态注册 JNI 方法
用 sprintf 代替 itoa
![](https://img-blog.csdnimg.cn/img_convert/e96b5518ebe3d41ddc4dfa1d92e94e33.png)
43. 调试
adb
机器设置
ANR介绍
![](https://img-blog.csdnimg.cn/img_convert/fe344ab0a9361da0fdbd817d147d8a37.png)
四,Android Jetpack 全家桶全面学习
1. 介绍
在 Fragment 之间共享数据
2. databinding
使用databinding
数据绑定
使用可观察数据对象ObservableField
点击事件
表达式语言
layout中的data
databinding中的layout include
双向数据绑
绑定适配器定
![](https://img-blog.csdnimg.cn/img_convert/d898176287b50d966b44e30aacdd0c1b.png)
3. LiveData 事件传送
准备数据类型
layout
Activity设置
4. LifeCycle 生命周期
活动
状态转换
LifecycleOwner
实现自定义 LifecycleOwner
![](https://img-blog.csdnimg.cn/img_convert/aae459e9b65a2c7669dba35cd4e12fb0.png)
5. WorkManager
入门示例
WorkManager工作约束,延迟与查询工作
WorkManager定时任务
![](https://img-blog.csdnimg.cn/img_convert/2f3ff900b9d015770644585866506e7c.png)
6. ViewModel
ViewModel 概览
Activity使用ViewModel
Activity与Fragment用同一个ViewModel
![](https://img-blog.csdnimg.cn/img_convert/5b0517b42142787f62bdd85cafed57ca.png)
7. 数据库
开始使用Room
实体类介绍
添加数据(Insert)
更新数据(Update)
8. Paging
前言
目录
从使用角度看结构
分析准备
数据的产生
数据的消费
![](https://img-blog.csdnimg.cn/img_convert/2ad652cb9c3f26b7a68e67abb5d91156.png)
因篇幅有限,《Android编程入门教程》内容较多,需要完整版《Android编程入门教程》文档可以点击此处免费获取
|