• Android基础第一天 | 字节跳动第四届青训营笔记


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

    1. 从移动生态讲起

    在这里插入图片描述

    手机作为获取信息的最主要媒介,不过十几年的事情。

    表面是人和机器的关系,本质上还是人与人的关系。

    1.1 组织内部的精简结构

    在这里插入图片描述

    1.2 国内App的赛道和代表

    在这里插入图片描述

    2. Android知识图谱

    2.1 简化的模型

    在这里插入图片描述

    对外(用户)∶为用户创造价值。

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

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

    2.1.1 对外-为用户创造价值

    第一层交付:页面 + 逻辑 + 数据

    在这里插入图片描述

    简单交付的知识图谱:

    在这里插入图片描述

    第二层交付:多样性需求

    在这里插入图片描述

    多样性需求的知识图谱

    在这里插入图片描述

    第三层交付:体验 + 质量 + 安全 + 个性化

    在这里插入图片描述

    深层次需求的知识图谱

    在这里插入图片描述

    2.1.2 对内-减少公司成本

    第一层交付:单人效能

    在这里插入图片描述

    【哪里有什么天才,我只是把别人喝咖啡的时间都用在工作上了——鲁迅】

    单人效能的技术图谱

    在这里插入图片描述

    第二层交付:团队效能

    在这里插入图片描述

    在这里插入图片描述

    团队效能的技术图谱

    在这里插入图片描述

    ! 抖音春晚

    在这里插入图片描述

    27天!

    2.1.3 自身-打造技术品牌

    第一层交付:满足交付的基本技能

    在这里插入图片描述

    第二层交付:打造自身的技术的高度

    在这里插入图片描述

    【有些人似乎无法理解或接受细微差异所具有的重大意义。我很想提醒他,其实刘翔也就跑得比我快那么几秒钟而已 —— 王兴】

    在这里插入图片描述

    技术高度的技术图谱

    在这里插入图片描述

    第三层:君子不器,培养自己的综合素质

    在这里插入图片描述

    人们为了逃避真正的思考,是可以做任何事情的

    有三样东西是极端坚硬(hard)的,钢铁、钻石以及认识自己

    Stay Hungry,Stay Foolish. —— 【乔布斯】

    程序员发展金字塔【客户端】

    在这里插入图片描述

    1、不是只有管理这条路,发展路径是多样的

    2、每个阶段都有自己要面对的难题

    《走进未知》

    2.2 小结:交付的含义

    在这里插入图片描述

    【高高山顶立,深深海底行】

    3. 认识Android系统

    在这里插入图片描述

    1.系统应用层

    在这里插入图片描述

    这一层就是各App所在的最上层了,我们自己开发的App和系统自带的App都在这一层,两种App本质上没有太大区别。一些系统的App提供的功能我们可以直接调用,比如打电话、发短信等,当然我们自己开发的app也可以给其他产品提供类似的调用功能。

    2.Java API 层

    在这里插入图片描述

    这层就是Android Framework提供给开发者的接口,我们可以基于这些接口打造各自的App。在这一层主要的技术栈就是最基础的交付内容,包括页面+逻辑+页面,一些多媒体相关的需求也有成熟的api可以直接使用。

    1. 原生 C/C++层 和 4. Android Runtime

    在这里插入图片描述

    一些核心的系统服务和组件是C/C++编写的,我们可以用Android NDK直接从原生代码访问某些原生平台库。从这一层往下,一些多样化的需求就可以被满足的很好,比如音视频编解码、安全、质量、体验等。

    runtime:这一层就会涉及虚拟机的知识,在一层会把DEX字节码进行编译,优化执行效率。在一层我们可以做一些体验相关的优化,让代码运行更高效。所需要的技术门槛也就更高一些。

    1. 硬件抽象层(HAL)

    在这里插入图片描述

    主要提供硬件组件的封装,包括相机、传感器和蓝牙等。当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。

    1. Linux 内核

    在这里插入图片描述

    【APK的构成】

    在这里插入图片描述

    • AndroidManifest.xml :生命app中四大组件,以及权限等

    • classes.dex :所有编写的java、

    • res文件夹 :资源文件夹,包括图片、颜色、字符串,以及搭建的XML布局文件

    • META-INF文件夹:存在签名和证书,用于校验和安全

    • lib文件夹:主要是存放C/C++代码编译成的so文件

    4.认识工具

    Android studio

    https://developer.android.google.cn/studio

    5. Git

    在这里插入图片描述

    Workspace:工作区,本地电脑存放项目文件的地方,自己来指定位置

    Remote Repository:远程仓库,也就是代码存在的地方

    Local Repository:本地仓库,也就是把代码拉取到本地存放的地方

    Index /Stage:本地仓库的暂存区

    命令:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    Educational Codeforces Round 138 (Rated for Div. 2) D
    工业边缘网关-03安装操作系统
    Pytest接口测试框架实战项目搭建(三)
    ElasticSearch-查询语法(全文查询)
    JS中的数据类型
    SpringBoot集成Shiro安全框架
    Qt QSplitter拆分器
    【贝叶斯分类2】朴素贝叶斯分类器
    K8s Runtime从Docker修改为Containerd实践
    如何在导入的数据库查找api接口
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/125991346