你打开一个安卓系统

它的界面是Launcher 进程,它不断的检测用户的触摸落在哪个APP上面,如果你的触摸落在空白它不做处理,你要滑动他就给你滑动

当用户触摸这个app的时候,

他会进行下面的流程

Laucher 检测用户触摸到APP以后,整个软件,整个工程最应该被加载的文件是

AndroidManifest.xml

首先他会判断你的SDK版本,你的目标机器是否能承载的了安卓APP,有的时候承载不了,安装都安装不上,有的时候能装上不能运行

再来就是获取你要的权限

点击Add...

选择Uses Permission

在这里给他加一个网络访问权限

name 下找

网络访问权限

然后你发现这面多了一句话

他会为你这个APP开放网络访问的端口,也就是你启动之前就帮你做好了

比如一个APP有好几个界面,先启动哪个呢?大家都是activity

这个时候有一组

<intent-filter>
                <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

这样的标签,放在这里就代表main  activity

MainActivity 继承于 Activity(页面)

我们自己做的类继承于MainActivity,那他还是一个页面

onCreate  代表页面被创建

也就是说通过Mainfest确认

这个程序会被加载

作为一个路口onCreate会被操作系统自动的拿来执行

也就是说,这个onCreate,有点像我们以前学的Java中的main函数

那么,super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

这干什么的呢?

他会调用父亲的Activity,去组建,去构建一个空白的页面出来

(没有Hello  world就是一个空白的页面)

空白的页面对用户来说就是空白,对操作系统来说,他却要做很多很多的初始化

setContentView就是把R.layout.activity_main 和布局文件关联起来

这下面存放了,页面,控件,按钮,比如文本框都在这面创建一个id

那么如何让这个.java

跟这个.xml关联起来?

那肯定需要这个id啦

R.java里面肯定是有一个Layout,0x7f030000

通过id 的方式让.java文件和.xml文件产生一个关联

比如我们现在要做一个代码的修改

第15行的hello  world 改成“冰糖李子”

给他改进去

你改进去以后,他是一个单独的布局

那为什么我们操作系统APP运行起来能看到这句话呢?

那是因为我的.java代码会调用setContentView,把你做的独立的布局跟空白的页面关联,

运行一下

于是,我们就在程序运行的时候看到了“冰糖李子”

当我触摸的时候,运行Launcher

点击APP的时候,第一个被加载的是Mainfest

他看到

<intent-filter>
                <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

于是它的onCreate 会被调用

然后会去做一些控件.xml

以及跟这个页面的绑定作用

如果我现在创建另外一个页面

我创建一个Andriod  Activity

创建一个Blank  Activity

命名Other Activity

你会看见多出一个java

包括res   的     layout   多了一个activity_other.xml

包括在这面多了一个other

如果我把

<intent-filter>
                <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

删除掉放在下面other 这面

你会看到等会先启动的other 这个页面

那么other 这面有什么东西呢?

我们 把hello world 改成"其他页面"

运行一下

总结:你按下安卓APP的时候,

它第一个运行的是    AndroidManifest.xml,他会给你分配权限,同时看一下这些页面哪一个作为手动启动的页面,

当你手动启动页面被加载以后,他会找到 onCreate这个路口,然后他会关联空白页面跟哪个布局页面进行关联,        super.onCreate(savedInstanceState);
                                setContentView(R.layout.activity_other);

会去显示你布局页面关联里面的一些数据

Android:安卓APP启动过程简介相关推荐

  1. Android系统(116)---APP启动过程

    APP启动过程 上图就可以很好的说明App启动的过程 ActivityManagerService组织回退栈时以ActivityRecord为基本单位,所有的ActivityRecord放在同一个Ar ...

  2. android服务的启动过程,Android Service的启动过程(上)

    原标题:Android Service的启动过程(上) (点击上方公众号,可快速关注) 来源:伯乐在线专栏作者 - xuyinhuan 链接:http://android.jobbole.com/85 ...

  3. Android系统的启动过程

    Android系统的启动过程可以简单地总结为以下几个流程: 加载BootLoader -> 初始化内核 -> 启动init进程 -> init进程fork出Zygote(孵化器)进程 ...

  4. Android系统进程Zygote启动过程的源代码分析

    原文地址:http://blog.csdn.net/luoshengyang/article/details/6747696 Android应用程序框架层创建的应用程序进程具有两个特点,一是进程的入口 ...

  5. Android 解锁屏启动过程

    Android 解锁屏启动过程 一. 开机启动 在开机过程中无线模块初始化时获取SIM卡,状态.在初始化完成后调用vm.systemReady()函数通知进入相应的Lock Screen进行解锁. 1 ...

  6. Android手机app启动的时候第一个Activity必须是MainActivity吗

    Android手机APP启动的第一个Activity是可以自己设置的,不是必须的MainActivity,可以是任何的Activity. 设置Android手机APP启动的第一个Activity得看A ...

  7. android app启动失败,Android应用App启动白屏(黑屏)问题解决

    Android应用App启动白屏(黑屏)问题解决 点击Android手机桌面的应用App icon图标后,Android启动这个应用,正常情况下会立即看到并进入到开发者自己写在MainActivity ...

  8. Android 设置APP启动图标

    Android 设置APP启动图标 1.利用Image Asset设置图标 2.直接修改AndroidManifest.xml文件中资源指向 1.利用Image Asset设置图标 点击 工具栏处 F ...

  9. Android应用App启动白屏(黑屏)问题解决

    Android应用App启动白屏(黑屏)问题解决 点击Android手机桌面的应用App icon图标后,Android启动这个应用,正常情况下会立即看到并进入到开发者自己写在MainActivity ...

最新文章

  1. kettle mysql 分页_kettle 分页抽数
  2. php获取linux是几核的,linux下怎么查看机器cpu是几核的
  3. hihocoder1457
  4. (转)Hibernate框架基础——多对多关联关系映射
  5. 自己编写的仿京东移动端的省市联动选择JQuery插件
  6. Noip模拟题解题报告
  7. pandas选取特定段
  8. Wonderware-InTouch 使用 Web 网页控件显示报表
  9. ArcGIS:如何创建地理数据库、创建要素类数据集、导入要素类、表?
  10. HDMI 接口电路信号完整性
  11. 马斯克:俄罗斯火箭发动机非常棒 停售不会影响SpaceX
  12. 吴军,阅读与写作,11,写景:如何寓情于景?
  13. faststone image viewer64位 v6.6
  14. duxcms1.0 默认主题分析
  15. JavaScript实现DoublyLinkedList双链表的算法(附完整源码)
  16. 7月18日自助装机配置专家点评
  17. excel替换tab、换行符特殊字符
  18. Excel中按多个符号进行分列
  19. 有意思的一些免费API接口整理,包含官网地址以及简介
  20. leetcode——362.敲击计数器

热门文章

  1. 【arduino】arudino开发ESP32 SPIFFS文件上传方法
  2. 【DIY】玩转VFD荧光屏(一),自制VFD时钟全资料(原理图+源码+PCB)
  3. MLCC噪声啸叫及对策
  4. WCF 第五章 控制并发调用的数量
  5. Java代码的基本格式及注释
  6. JAVA中的break[标签]continue[标签]用法
  7. GCC全过程详解+剖析生成的.o文件(2)
  8. python彩色图像如何进行高斯滤波ValueError: correlate2d inputs must both be 2-D arrays解决方法
  9. 单调队列板子:求滑动窗口中最大值和最小值
  10. 远程服务器返回了意外响应400,远程服务器返回400