学过Android的人都知道,Android有四大组件,分别是Activity、Severice、BroadcastReceiver、ContentProvider。下面就来一览这四个组件的基本功能和职责。Activity:提供了Android应用中所有与用户交互的组件。Activity通过setContentView(view)实现组件的显示,其中view组件包含了Android几乎所有的UI控件,用户看到的也正是这一部分。
多个Activity是由栈存储的,当前活动的栈位于栈顶。
Activity包含一个setTheme(int resid)方法设置窗口的风格,如不现实标题,以对话框形式显示窗口。
注:
显示组件的方法:
1.setContentView(R.layout.main),布局交给XML去实现;

2.大家千万别忘记了还可以使用Java代码实现布局并显示,
LinearLayout layout = new LinearLayout(this);
setContentView(layout);

Service:是位于后台运行的一个组件,它是运行在应用程序的主线程中的。
注:
1.Service不是一个进程。它不会自己独立运行一个进程,只能作为进程的一部分而存在;
2.Service不是一个线程,它只是在主线程中运行。

BroadcastReceiver:是广播消息的接收器,是应用程序间传播信息的机制
在 Android 里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序开发者也可以监听这些广播并做出程序逻辑的处理。

ContentProvider:是应用程序之间进行数据交互的组件。其中有如下几个方法:
insert(Uri,ContentValues);
delete(Uri,ContentValues);
update(Uri,ContentValues,String,String[]);
query(Uri,String[],String,String[],String);

Intent:特别申明它不是Android的组件,确是Activity、Service、BroadcastReceiver组件之间进行数据交换的载体。
1.当启动一个Activity时,调用startActivity(Intent intent),intent内部可以封装数据传递给目标Activity。
2.当启动一个Service时,调用startService(Intent intent),intent内部可以封装数据传递给目标Service
或调用bindService(Intent intent,ServiceConnection,int flags),intent内部可以封装数据传递给目标Service。
这里介绍下startService和bindService的区别:
startService:调用者(service1)通过startService(intent)启动被调用者(service2)后,service1和service2之间就不存在任何联系了,不可以访问service1内的方法,即使service1被关闭ondestroy,service2也会继续存在;
bindService: 调用者(service1)通过bindService(intent)启动被调用者(service2)后,service1和service2之间绑定这一起,如果调用者service1被关闭ondestroy,被调用者service2也会被关闭。
3.当启动一个BroadcastReceiver时,调用sendBroadcast(Intent intent)、sendStickyBroadcast(Intent intent)、sendOrderedBroadcast(Intent intent,String receiverPermission)发送广播。

Intent分为两类:
1.显示Intent : 显示Intent明确指定需要启动或触发的组件类名;
2.隐示Intent : 隐示Intent只是指定需要启动或者触发组件应满足的要求。需要Android进行解析,然后查找匹配的目标组件,靠IntentFilter来实现。

更多相关文章

  1. android服务和进程详解
  2. android 四大组件之Service
  3. Android(安卓)入门知识点梳理之一 四大组件
  4. 初学Android,开机自启动的Service(七十三)
  5. Android(安卓)Jetpack组件学习 ViewModel & LiveData
  6. Android之Activity生命周期
  7. 2010.12.16——— android listView 显示图片 内存溢出问题
  8. android service 学习
  9. Android(安卓)Framework 之 SystemUI的启动流程

随机推荐

  1. Android(安卓)AppMsg (Crouton) Library
  2. Android(安卓)Handler简单例子
  3. android核心技术之性能分析工具Systrace
  4. Ndk配置与Demo
  5. Android(安卓)screenrecord
  6. android 小知识总结
  7. android 常用颜色对照表
  8. Android(安卓)Button Highlight
  9. Android图片圆角
  10. Android在Button按钮上同时显示文字和图