安卓基础|青训营笔记

84 阅读3分钟

这是我参与[第四届青训营]笔记创作的第 1 天

1.从移动生态讲起(移动互联网的运行)

人要通过手机来了解世界,也是人与人的交互,产品经理把世界的规律和人的需求收集,传给客户端开发,传给手机。

2.Android 知识图谱(自己的贡献)

简化的模型

对外(用户):为用户创造价值

第一层交付:页面 + 逻辑 + 数据
页面--Android基础,复杂View; 逻辑--语言,代码结构; 数据--网络,存储
第二层交付:多样性需求
(视频,直播,AR,图像,游戏)
第三次交付:体验 + 质量 + 安全 + 个性化
体验--卡顿,耗时,资源占用;质量--奔溃,错误;安全--刷量,泄露,隐私;个性化--端智能,精细场景

对内(公司):对内部是成本,对外才是收益

第一层交付:单人效能
(编译--Gradle编译,编译程序优化;CICD--发布,集成;工具--云构建,机架
第二层交付:团队效能
(工程架构(对于整体)--组件化,代码重构;业务架构(对于某个业务)--产品架构,开发范式;流程管理--定容(相当于黑盒),管理平台;跨平台(用于团队性能)--Flutter,Lynx)

自身(个人):自身也是产品,自身的技术品牌

第一层交付:满足交付的基本技能
(Android系统--基本功能开发,了解FrameWork,了解系统;语言熟练--基本特征,语法和高效写法;基本素养--代码质量,业务理解,协同合作)
第二层交付:打造自身的技术高度
(系统底层--Android原理,Linux内核,Android Runtimel;架构设计--大型APP架构,复杂工程管理;业务能力--大型项目协同,组织管理)
(延长自己的长板,尽可能做到行业里的前20%。)
第三层交付:君子不器,培养自己的综合素养
(思维--系统性思维,结构性思维,批判性思维;认知--个人认知,自控力;开放--技术好奇心,持续学习,开源)

程序员发展

靠谱的工程师---负责一个重要项目---技术专家\架构师\技术管理---资深专家\大型架构设计师\大型团队负责人---行业专家

3.认识 Android系统(了解系统)

系统应用层
Java API层--打交道最多的层
原生C/C++和Android Runtime---多样性
硬件抽象层(HAL)
Linux 内核

APK构成

AndroidManifest.xml:生命app中四大组件,以及权限
classes.dex:所有编写的代码(JAVA,KOTLIN)
res文件夹:资源文件夹
lib文件夹:存放c/c++代码编译成的so文件
META-INF文件夹:存在签名和证书,用于校验和安全

4.认识工具

Android Studio

Git

Workspace:工作区,本地电脑存放项目文件的地方,自己来指定位置
Remote Repository:远程仓库,代码存放的地方
Local Repository:本地仓库,把代码拉取到本地存放的地方
Index/Stage:本地仓库的暂存区