Android 入门----APP是如何加载的

来源:互联网 发布:ds18b20数据手册pdf 编辑:程序博客网 时间:2024/06/06 15:43

1.在屏幕点击应用

 lunch会将该点击事件包装成一个intent,该intent包含两个参数,这两个参数对应到应用中AndroidManifest.xml文件中的<intent-filter>

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

应用接收到这两个参数后,会与AndroidManifest.xml文件中的<intent-filter>做匹配,匹配成功后找到当前所在的<activity中的name属性,启动name对应的activity

        <activity            android:name=".MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>

对应java代码中的

public class MainActivity extends Activity {
找到activity后,首先执行onCreate方法

<span style="font-family:Verdana, Arial, Helvetica, sans-serif;color:#393939;"><span style="line-height: 21px;">protected void onCreate(Bundle savedInstanceState) {</span></span><div style="text-indent: 28px;"><span style="color: rgb(57, 57, 57); font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 21px;">super.onCreate(savedInstanceState);//</span><span style="color: rgb(57, 57, 57); font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 21px;">MainActivity 父类的onCreate方法,主要包含一些</span><span style="color: rgb(57, 57, 57); font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 21px;">Activity基本功能,比如基本页面的绘制等等</span><span style="font-family:宋体;color:#333333;"><span style="line-height: 28px; background-color: rgb(250, 247, 239);">,Activity子类一定要调用,确保定义的Activity子类功能正常,其实所有的activity生命周期方法都需要先调用父类的方法</span></span></div><span style="font-family:Verdana, Arial, Helvetica, sans-serif;color:#393939;"><span style="line-height: 21px;">/*activity_main=activity_main.xml*/setContentView(R.layout.activity_main);//设置Activity显示的布局文件}</span></span>
这边的R文件是编译的时候自动生成的,可以理解成将工程中所有的资源都在R文件中注册一下。

除了onCreate方法,Activity启动时还需要执行其它的方法OnStart->OnResumer  然后activity才会处于run状态,我们的代码可以添加到这些方法中,比如我们可以在onCreate绑定某项服务


0 0
原创粉丝点击