这是我参与「第四届青训营 」笔记创作活动的第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