安卓客户端第一节课 | 青训营笔记

143 阅读2分钟

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

移动互联网本质上还是人与人之间的关系

  1. 产品经理从用户收集需求,从世界收集信息,整理提供给客户端
  2. 客户端负责实现需求开发软件
  3. 用户通过客户端开发的软件与世界交流

对于客户端开发来说

1.对外(用户):提高为用户创造的价值

  • 页面+逻辑+数据
  • 多样性需求(不同的产品满足各种需求)
  • 体验+质量+安全+个性化

2.对内(公司):使公司降低成本

  • 提高个人效率
  • 架构师梳理提升团队效能
  • 工程架构、业务架构、流程管理、跨平台开发

3.自身(个人):物化成商品提高对资本的价值

  • 提升工作效率:减少被耽搁的时间
  • 代码质量、业务理解、合作能力
  • 培养自己的长处,打造自身技术高度
  • 培养综合素养:思维、认知、开放

程序员发展的几个阶段

  1. 从毕业到成为一个靠谱的工程师,完成编码工作
  2. 开始负责重要的项目,拥有开发和思考的能力
  3. 向细分领域细化(技术专家、架构师、技术管理)
  4. 成为领域中的大佬(资深专家、大型架构设计师、大型团队负责人)
  5. 成为行业领先

Android系统的组成

  1. 系统应用层:App
  2. API层:给开发者提供的接口,基于接口打造App,实现对外第一层交付内容
  3. 原生C/C++层&Runtime虚拟机:满足多样化需求
  4. 硬件层:相机、传感器、蓝牙等
  5. Linux内核:线程管理、内存管理

APK的构成

  • AndroidManifest.xml:四大组件、权限等
  • classes.dex:代码
  • res文件:资源目录(包括xml文件)
  • lib文件:C/C++编译成的so文件
  • META-INF文件:存在签名和证书,用于校验和安全