初识Android | 青训营笔记
这是我参与「第四届青训营」笔记创作活动的的第1天
Android 知识图谱
-
对外:
-
第一层 页面+逻辑+数据(页面:Android基础+复杂View; 逻辑:语言基础和结构; 数据:网络交互+数据存储;)
-
第二层 多样性需求 例如:视频、直播、AR、图像、游戏
-
第三层 体验+质量+安全+个性化 (体验:用户体验; 质量:程序健壮程度; 安全:用户隐私+数据安全; 个性化:端智能+场景设置;)
-
技能点:Android系统,底层引擎,安全,Hook,机器学习,端智能
-
-
对内:
- 第一层:单人效能
- 第二层:团队和公司效能
- 第三层:君子不器,培养自己的综合素养
- 综上:即在满足开发所需基本技能前提下,拓展自己技能树的深度和宽度。
认识Android系统
安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。其主要结构如下:
- System Apps(系统应用层)
- 所有安装在手机上的系统应用都属于这一层,用户自己开发的应用也属于这一层。
- Java API Framework(Java API 框架层)
- 这一层主要提供了构建应用程序时可能用到的各种API,开发者通过这一层的API构建APP。
- Native C/C++ Libraries(原生C/C++层)
- C/C++库
- Android Runtime(安卓虚拟机层)
- 虚拟机(Dalvik/ART) // ART:Android Run Time
- Hardware Abstaraction Layer(硬件抽象层)
- Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。
- HAL 可定义一个标准接口以供硬件供应商实现,这可让 Android 忽略较低级别的驱动程序实现。
- Linyx Kernel(Linux层)
- Android是基于Linux内核的。
- 提供了安全性、内存管理、进程管理、网络协议和驱动模型等... 核心系统服务
- 为各种硬件提供了驱动程序,如显示驱动、相机驱动、蓝牙驱动、电池管理等等。
Android开发IDE--Android Studio
- manifests:存放AndroidManifest.xml,其作用为生命app中四大组件,以及权限等
- Java:存储编写的java代码。
- res:开发所需资源存储的地方。
Git
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
常用指令表: