Android onCreate 详解
来源:互联网 发布:centos 打不了中文 编辑:程序博客网 时间:2024/04/28 22:17
在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方法时一定要记得调用该方法,以确保能够绘制界面。
super.onCreate主要是加载一些组件。
第一件事情便是super.onCreate(savedInstanceState),其实这条语句放在子类中的onCreate方法中的任何位置都可,问题只是
super.onCreate(savedInstanceState)必须要被执行,所以,最好也就是放在第一行,看起来比较明确。
在TargetActivity中重写了onCreate方法,而在Activity中的onCreate方法中已经对一些基本的基础进行了操作,如果子类没有super.onCraete方法的调用,会导致子类中的onCreate方法功能不全,从而出现错误。
在activity的生命周期中,只要离开了可见阶段,或者说失去了焦点,activity就很可能被进程终止了!,被KILL掉了,,这时候,就需要有种机制,能保存当时的状态,这就是savedInstanceState的作用。
当一个Activity在PAUSE时,被kill之前,它可以调用
onSaveInstanceState()来保存当前activity的状态信息(在paused状态时,要被KILLED的时候)。用来保存状态信息的Bundle会同时传给两个method,即onRestoreInstanceState() and onCreate().
setContentView(R.layout.main)的作用是加载一个界面。该方法中传入的参数是”R.layout.main“,其含义为R.java类中静态内部类layout的静态常量main的值,
而改值是一个指向res目录下的layout子目录下的main.xml文件的标识符。因此代表着显示main.xml所定义的画面。
<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方法时一定要记得调用该方法,以确保能够绘制界面。
super.onCreate主要是加载一些组件。
第一件事情便是super.onCreate(savedInstanceState),其实这条语句放在子类中的onCreate方法中的任何位置都可,问题只是
super.onCreate(savedInstanceState)必须要被执行,所以,最好也就是放在第一行,看起来比较明确。
在TargetActivity中重写了onCreate方法,而在Activity中的onCreate方法中已经对一些基本的基础进行了操作,如果子类没有super.onCraete方法的调用,会导致子类中的onCreate方法功能不全,从而出现错误。
在activity的生命周期中,只要离开了可见阶段,或者说失去了焦点,activity就很可能被进程终止了!,被KILL掉了,,这时候,就需要有种机制,能保存当时的状态,这就是savedInstanceState的作用。
当一个Activity在PAUSE时,被kill之前,它可以调用
onSaveInstanceState()来保存当前activity的状态信息(在paused状态时,要被KILLED的时候)。用来保存状态信息的Bundle会同时传给两个method,即onRestoreInstanceState() and onCreate().
setContentView(R.layout.main)的作用是加载一个界面。该方法中传入的参数是”R.layout.main“,其含义为R.java类中静态内部类layout的静态常量main的值,
而改值是一个指向res目录下的layout子目录下的main.xml文件的标识符。因此代表着显示main.xml所定义的画面。
0 0
- Android onCreate 详解
- Android onCreate 详解
- Android onCreate 详解
- android开发之onCreate( )方法详解
- android开发之onCreate( )方法详解
- android开发之onCreate( )方法详解
- onCreate()方法详解
- android onCreate(Bundle savedInstanceState)
- Android OnCreate、setContentView方法
- Android(一)onCreate方法
- android 的onCreate 方法
- Android -super.onCreate(savedInstanceState)
- Android入门- 关于Activity下的onCreate方法的参数详解
- Android的super.onCreate(icicle);
- Android转屏时禁止调用onCreate
- Android的super.onCreate(icicle)
- Android Activity的onCreate()函数
- Android oncreate 2次问题
- 字典树——字典树树模板
- 截取Chrome下载的mp3
- Spring AOP
- SQLite自定义聚合函数 [类似MAX(field)]
- 派生类虚函数调用基类版本
- Android onCreate 详解
- [poj3691] DNA repair
- android如何实现特效
- Android MVP 实例
- 晃晃悠悠的2016,我不愿提、不愿想;简单思维的我,心将该去何方
- 项目版本号
- 【Linux/安卓+SPI以太网项目】
- 【IO】程序访问文件的几种方式
- Linux下安装jdk1.8