Android客户端概览 | 青训营笔记

183 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第1天

暑期受好友的推荐,来参加了本期的字节跳动青训营。最终经过深思熟虑选择了我从未接触过的Android客户端方向。这篇笔记也是对我参加青训营第一节课的一些基础知识汇总。


Android 知识图谱

从一个开发的角度讲,在进行Android开发的过程中我们需要面临三种角色:用户、公司和个人。 其中:

  • 对外(用户):为用户创造价值,是最终的目的和宗旨,也是整个系统存在的前提
  • 对内(公司):上面第二个图对应的是更详细的内部交付涉及的团队,实际上比这要复杂的多。这些团队组成了公司这个实体。对内都是成本,对外才是收益。对于内部来讲,我们的目的是降低交易成本。
  • 自身(个人):我们通过自身的努力来推进交付流程,提供给用户好用的产品。同时个人也是一个产品,我们需要打造自身的技术品牌,培养自己的技术实力。

Android系统

Android的平台架构主要分为以下六层,分别是:

1.系统应用层

这一层是所有APP的最上层,在这一层APP所提供的功能我们都可以直接调用

2.Java API层

这层就是Android Framework提供给开发者的接口,我们可以基于这些接口打造各自的App,同时这一层也是技术栈最基础的交付内容,包括页面+逻辑+页面。

3.原生C/C++层

这一层是基于C/C++来进行编写的,从这一层往下,一些多样化的需求就可以被满足的很好,比如音视频编解码、安全、质量、体验等。

4.Android runtime

这一层涉及到了虚拟机的部分,在一层我们可以做一些体验相关的优化,让代码运行更高效。

5.硬件抽象层(HAL)

主要提供硬件组件的封装,包括相机、传感器和蓝牙等。

6.Linux内核

Android 平台的基础是 Linux 内核,使用 Linux 内核可让 Android 利用主要安全功能,并且允许设备制造商为著名的内核开发硬件驱动程序。

Android开发工具

Android开发用的IDE是Android Studio。Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA ,类似 EclipseAndroid Studio ,其提供了集成的 Android 开发工具用于开发和调试。

image.png

个人总结

这节课的学习主要是对Android客户端有一个大致的了解和基础的认识。从这节课开始我也将正式进入客户端的开发之旅了,希望在之后的学习中自己也能认真反思总结,争取学有所成,学有所获吧。我们下次见!