「第四届青训营 -客户端&Android基础场」笔记创作活动的第1天(一切内容仅供参考)
一、基础介绍
1.什么是客户端?
客户端(Client)又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行的。
复制代码
客户端又分为:1.DNSk客户端; 2.游戏客户端; 3.移动客户端; 4.iOS客户端。
Android系统:是一种基于Linux内核的自由及其开源代码的操作系统,主要使用于移动设备,如安卓手机和平板电脑,由美国Google公司和开放手机联盟领导及开发的。
二、Android的体系架构:
1.系统应用层
最上面的那层是:这一层就是各App所在的最上层,是Android 随附一套用于电子邮件、短信、日历、互联网浏览和联系人等的核心应用就相当于一部新手机一开机就自带有电话、短信、浏览器、联系人等一套功能。
2、Java API 框架层
草绿色这层就是Android Framework提供给开发者的接口,这一层主要提供了构建应用程序时可能用到的各种API, 开发者通过这一层的API构建自己的APP,这一层也是APP开发人员必须要掌握的内容。在这一层主要的技术基础就是最基础的交付内容,包括页面+逻辑+页面,一些多媒体相关的需求也有成熟的api可以直接使用。
3.原生 C/C++ 库层 与 Android Runtime
紫色和黄色这一层主要是一些核心的系统服务和组件C/C++的编写的,我们可以用Android NDK直接从原生代码访问某些原生平台库。从这一层往下,一些多样化的需求就可以满足的很好,比如音视频编解码、安全、质量、体验等等。
4.硬件抽象层 (HAL)
硬件抽象层 (HAL) 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块,传感器等。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。
5. Linux 内核层
Android 平台的基础是 Linux 内核。例如,Android Runtime (ART) 依靠 Linux 内核来执行底层功能,例如线程和低层内存管理。
使用 Linux 内核可让 Android 利用主要安全功能,并且允许设备制造商为著名的内核开发硬件驱动程序