• 【安卓开发】安卓工程介绍及启动过程


    一、安卓工程介绍

    1. src文件

    在这里插入图片描述

    文件作用:

    存放java代码的,有包,有文件。

    2. gen文件

    在这里插入图片描述

    文件作用:

    存放自动生成的文件,关心是R.java, 程序页面,按键,文本等空间的ID。


    每个页面、按键和文本等组件都对应一条id,下面为 t e s t H e l l o testHello testHello 添加一套id:

    在这里插入图片描述

    在对应的id文件下自动添加一条id:

    在这里插入图片描述

    3. Android:4.4文件

    在这里插入图片描述

    文件作用:

    Android:4.4: 存放安卓开发的一些库,供开发者调用

    4. assets文件

    在这里插入图片描述

    文件作用:

    存放一些存放一些资源,配置文件,图片。

    5. bin文件

    在这里插入图片描述

    文件作用:

    存放编译后会生成的一些文件,包括我们关心的apk(安装包。)

    6. lib文件

    在这里插入图片描述

    文件作用:

    存放一些依赖库,与Android:4.4中存放的东西类似。

    7. res文件

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    文件作用:

    drawable: 存放app程序要用到的一些图片。

    layout: 存放布局文件的文件夹,一般一个activity(安卓页面)对应一个布局。

    values: 存放一些参数,或者自定义控件的文件。

    8. res文件

    在这里插入图片描述

    在这里插入图片描述

    文件作用:

    APP的配置权限: 网络访问权限,名片夹访问权限,相机访问权限等。

    目标机器SDK版本、 APP的名字、APP的图标、配置第一个被加载,启动页面。



    二、安卓工程启动过程

    Laucher进程 -> mainifirst -> lauch标签的activity被加载 -> oncreat被调用 -> java关联xml布局页面 -> 显示 -> 等待用户触摸等操作

    1. Lancher进程

    该进程不断检测用户触摸落在哪个APP上面,落在空白处不做处理,当用户触摸某个APP或者其他元素的时候,通过Binder驱动去通知底层的一些服务框架,比如system_server会去启动APP的进程,然后APP会创建 ApplicationThread 和 ActivityThread 进程去启动Activity.onCreate。

    2. mainfest

    在这里插入图片描述

    首先加载代码 mainfest ,判断用户SDK版本,加载访问权限。

    在这里插入图片描述

    然后标签 intent-filter 加载第一个要加载的页面,该标签被放在哪个 activity 里面,哪个页面就会被加载。

    3. 调用oncreat

    在这里插入图片描述

    当 MainActivity 代码被调用以后,会创建子类 MainActivity 继承父类 Activity,在该子类中自动调用 onCreate() 方法创建页面,该操作类似于 Main() 函数,我们要做的一系列开发大部分会在这段代码中,但在这里是调用父类的 onCreate() 。

    4. java关联xml布局页面

    然后通过 setContentView() 将 .java 代码与 R.layout.activity_main 布局关联起来。

    在这里插入图片描述

    在 activity_main.xml 这里可以修改页面被加载的内容。

    在这里插入图片描述

  • 相关阅读:
    Haproxy负载均衡
    8/21 牛客补题+cf思维+tarjan
    [leetcode] K 和数对的最大数目
    二进制的前导的零
    uniapp 上传图片+数据方法
    C语言系统化精讲(二):C语言初探
    python调用c++版本dll04-传入无参返回的图片处理
    全国行政区划2023年最新版
    通过uc.js实现pc firefox页面向下滚动自动隐藏导航栏,复刻firefox移动版的丝滑体验
    Qt在工控行业的一些重点知识点
  • 原文地址:https://blog.csdn.net/qq_62361050/article/details/126075184