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

127 阅读2分钟

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

1.开发和交付

客户端开发只是直接面向用户的人,背后有更多的支撑团队,包括服务端团队提供网络数据,而数据可以来自推荐团队的处理。此外还经过QA同学的测试,保证质量的情况下,发布给用户。

2.android知识图谱

对于一个客户端开发来讲,我们面对的角色主要包括:

  • 对外(用户):为用户创造价值,是最终的目的和宗旨,也是整个系统存在的前提
  • 对内(公司):上面第二个图对应的是更详细的内部交付涉及的团队,实际上比这要复杂的多。这些团队组成了公司这个实体。对内都是成本,对外才是收益。对于内部来讲,我们的目的是降低交易成本。
  • 自身(个人):我们通过自身的努力来推进交付流程,提供给用户好用的产品。同时个人也是一个产品,我们需要打造自身的技术品牌,培养自己的技术实力。
(1)对外
  • 第一层交付:页面+逻辑+数据
  • 第二层交付:多样性需求
  • 第三层交付:体验+质量+安全+个性化
(2)对内
  • 第一层交付:单人效能
  • 第二层交付:团队和公司效能
(3)自身
  • 第一层交付:满足交付的基本技能
  • 第二层交付:打造自身的技术高度
  • 第三层交付:君子不器,培养自己的综合素养

3.认识android系统

(1)android架构
  • 系统应用层
  • Java API层
  • 原生 C/C++层
  • Android Runtime
  • 硬件抽象层 (HAL)
  • Linux 内核
(2)apk的构成
  • AndroidManifest.xml :生命app中四大组件,以及权限等
  • classes.dex :所有编写的java、
  • res文件夹 :资源文件夹,包括图片、颜色、字符串,以及搭建的XML布局文件
  • META-INF文件夹:存在签名和证书,用于校验和安全
  • lib文件夹:主要是存放C/C++代码编译成的so文件

4.认识工具

Android开发用的IDE是Android Studio