Activity是Android中最核心的应用程序组件,是用于控制显示界面的组件。一个Activity就是一个类,该类继承了android.app.Activity,并须要重写onCreate方法,同时在AndroidManifest.xml中进行注册。 android
在建立Activity时须要注意几点:
1.Activity的控件初始化通常在onCreate方法中完成,好比setContentView方法装载View,而不能在Activity的构造方法中完成初始化控件。
2.Activity中必需要有一个无参的构造方法,由于Activity不是由手动建立,而是经过Intent对象和startActivity方法由系统内部建立。 app
Activity的生命周期
七个生命周期方法:
onCreate();当Activity第一次被调用时触发。
onStart();当Activity能被用户看到时触发。
onResume();当Activity得到用户焦点时触发,即用户能够对Activity进行操做时。
onPause();当准备启动另外一个Activity时被触发。
onStop();当另外一个Activity启动完成,而原Activity不可见时被触发。
onRestart();当一个处于shop状态的Activity被从新启动时触发。
onDestroy();手动调用了Activity的finish方法时、或当系统资源不够用时、或点击了Android的返回按钮时都会被触发。 spa
第一次被调用时:onCreate();-->onStart();-->onResume();
组件失去焦点时:onPause();-->onStop();
从新得到焦点时:[onPause]-->onResume();
[onStop]-->onRestart();-->onStart();-->onResume(); xml
Activity之间传递数据大体有四类方式:
1.经过Intent进行数据传递。
2.经过定义Activity的静态变量的方式传递。(不推荐)
3.经过系统剪切板传递字符数据(对象类型可考虑将对象序列化后保存)。
4.经过定义一个全局对象来保存一些长驻内存的数据。(需继承android.app.Application,带无参构造方法,在AndroidManifest.xml中进行注册) 对象
Intent对象包含了一组信息(能够跨应用进行传递调用,经过startActivity(intent)实现Activity间的切换):
1.Componentname
指定启动哪一个组件,Intent还能够启动Service(服务)和Broadcast Receiver(广播接收器)。
intent.setClass(Context,class); 继承
2.Action
指定被启动的组件作什么动做,官方自带了一些动做常量:ACTION_CALL、ACTION_EDIT、ACTION_MAIN等等。
intent.setAction(String); 生命周期
3.Data
用于保存组件间传递的数据对象。MIME的数据类型。 内存
4.Category 资源
5.Extras
额外附加的键值队数据(Key-Value) it
6.Flags