Android开发——关于onCreate的解读

来源:互联网 发布:蔡依林努力知乎 编辑:IT博客网 时间:2019/10/14 18:41

      当我们创建好一个Android项目后,打开src下的java文件时,我们会看到已经写好的类,但你知道这些都是什么含义么?

         题外话:今天晚上陈老师给串讲了一下Android入门,有一个环节,我记得是这样问的:在AndroidManifest.xml文件中的 <intent-filter>元素中有这么两句:

<intent-filter>

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

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

</intent-filter>

你知道中间的两句话都是什么含义么?

当写好的应用发布到手机上之后,当双击”抽屉“里该应用的图标时,系统会将这个点击时间包装成一个Intent,该Intent包含两个参数,如上所述的两个参数被传递给应用之后,在应用的功能清单文件中寻找与该意图匹配的意图过滤器,如果匹配成功,找到相匹配的意图过滤器所在的Activity元素,再根据<activity>元素的”name“属性来寻找其对应的Activity类。接着Android操作系统创建该Activity类的实例对象,对象创建完成之后,会执行到该类的onCreate方法,此onCreate方法是重写父类Activity的onCreate方法而实现的。onCreate方法用来初始化Activity实例对象。如下是helloWorld.java类中的onCreate方法的代码:

public void onCreate (Bundle savedInstanceState){

       super.onCreate(savedInstanceState);

       setContentView(R.layout.main);

}

其中super.onCreate(savedInstanceState)的作用是调用其父类Activity的onCreate方法来实现对界面的图画绘制工作。在实现自己定义的Activity子类的onCreate方法时一定要记得调用该方法,以确保能够绘制界面。

       setContentView(R.layout.main)的作用是加载一个界面。该方法中传入的参数是”R.layout.main“,其含义为R.java类中静态内部类layout的静态常量main的值,而改值是一个指向res目录下的layout子目录下的main.xml文件的标识符。因此代表着显示main.xml所定义的画面。

原创粉丝点击