Android四大组件
2016-07-13 10:40
387 查看
本篇博客主要记录Android四大组件,包含下面四类
一、Activity详解
二、Service详解
三、Broadcast Receiver详解
四、Content Provider详解
另:在各个组件中传递数据的Intent
一、Activity详解
1)Activity生命周期:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/hpoi/EntryImages/20091003/347621596238419942633901667161718750.jpg)
一个完整的Activity生命周期是从 onCreate()--> onDestroy();
界面可视化生命周期:onCreate()-->onResume();
ActivityA跳转到ActivtyB:如果A没有执行finish操作,那么A会执行onPause(),onStop()方法,B会执行界面可视化生命周期。
按返回键后,B会执行onDestroy()方法,A会执行onRestart(),
一般来说在onCreate方法中做初始化操作,在onDestroy()做销毁操作
2)Activity启动模式
standard 常规启动模式
singleTop 单一顶部模式
singleTask 单一任务栈模式
singleInstance 单例模式
在清单文件中通过launchMode配置
standard默认启动模式:Activity通过先进后出的方式在任务栈排列。
singleTop单一顶部模式:当Activity在顶部时,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。
singleTask单一任务栈模式:当Acitivity已经存在栈中时,不会重新创建新的Activity,会把这个Activity提到顶部,并销毁调之间的Activity
singleInstance 只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在。
二、Broadcast Receiver
广播分为系统广播和自定义广播两种:系统广播为手机常见动作,自定义广播一般用来发送消息或者传递数据
广播事件流程:
1、注册广播事件
注册分为两种:
①.静态注册:在清单文件中注册广播接受者,创建receiver节点,广播接受者必须要继承BroadcastReceiver。在过滤器中设置要接受的
事件
2、发送广播事件
通过Intent来指定action,并且可以在发送广播的时候传递数据。
3、接受广播事件
一、Activity详解
二、Service详解
三、Broadcast Receiver详解
四、Content Provider详解
另:在各个组件中传递数据的Intent
一、Activity详解
1)Activity生命周期:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/hpoi/EntryImages/20091003/347621596238419942633901667161718750.jpg)
一个完整的Activity生命周期是从 onCreate()--> onDestroy();
界面可视化生命周期:onCreate()-->onResume();
ActivityA跳转到ActivtyB:如果A没有执行finish操作,那么A会执行onPause(),onStop()方法,B会执行界面可视化生命周期。
按返回键后,B会执行onDestroy()方法,A会执行onRestart(),
一般来说在onCreate方法中做初始化操作,在onDestroy()做销毁操作
2)Activity启动模式
standard 常规启动模式
singleTop 单一顶部模式
singleTask 单一任务栈模式
singleInstance 单例模式
在清单文件中通过launchMode配置
standard默认启动模式:Activity通过先进后出的方式在任务栈排列。
singleTop单一顶部模式:当Activity在顶部时,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。
singleTask单一任务栈模式:当Acitivity已经存在栈中时,不会重新创建新的Activity,会把这个Activity提到顶部,并销毁调之间的Activity
singleInstance 只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在。
二、Broadcast Receiver
广播分为系统广播和自定义广播两种:系统广播为手机常见动作,自定义广播一般用来发送消息或者传递数据
广播事件流程:
1、注册广播事件
注册分为两种:
①.静态注册:在清单文件中注册广播接受者,创建receiver节点,广播接受者必须要继承BroadcastReceiver。在过滤器中设置要接受的
事件
<receiver android:name=".MyReceiver"> <intent-filter> <action android:name="android.intent.action.MY_BROADCAST"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver>②.动态注册:动态注册需要在代码中动态指定广播接收地址,通常会在Activity或者Server中注册,
MyReceiver receiver = new MyReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction("android.intent.action.MY_BROADCAST"); registerReceiver(receiver, filter);当这个Activity销毁时需要把广播接受者一同销毁
@Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(receiver); } </span>
2、发送广播事件
通过Intent来指定action,并且可以在发送广播的时候传递数据。
public void send(View view) { Intent intent = new Intent("android.intent.action.MY_BROADCAST"); intent.putExtra("msg", "hello receiver."); sendBroadcast(intent); }
3、接受广播事件
public class MyReceiver extends BroadcastReceiver { private static final String TAG = "MyReceiver"; @Override public void onReceive(Context context, Intent intent) { String msg = intent.getStringExtra("msg"); Log.i(TAG, msg); } }在onReceive方法中,通过intent来接收传递的数据。
相关文章推荐
- android开发中涉及到的度量单位
- Android ListView获得选项中的值
- Android单元测试框架
- Android 蓝牙 BLE 开发笔记
- Android中关于Fragment的使用和Fragment的生命周期
- Android中的broadcast
- jni的使用
- android 虚线
- android股票联动_第一列固定其他列可左右上下滑动
- JCenter下载太慢?教你修改Maven仓库地址为国内镜像
- Android实战技巧:ViewStub的应用
- Android中的service
- Android studio 报 Cannot resolve symbol XXX
- android 拨打带有分机号的电话
- android开源图表库MPAndroidChart
- Android内存泄漏的情况
- Android Studio工程目录介绍
- Android串口操作,简化android-serialport-api的demo
- Gradle 学习笔记
- 集成第三方sdk验证短信校验