Android开发四大组件分别是:

一、活动(Activity): 用于表现功能。二、服务(Service): 后台运行服务,不提供界面呈现。

三、广播接收器(BroadcastReceiver):用于接收广播。四、内容提供者(Content Provider): 支持在多个应用中存储和读取数据,相当于数据库

一、Android 中,Activity是所有程序的根本,也是Android 当中最基本的模块之一。

在Android的程序当中,Activity 一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么Activity就相当于一个网页。在Activity 当中可以添加一些Button、Check box 等控件。可以看到Activity 概念和网页的概念相当类似。一般一个Android 应用是由多个Activity 组成的。这多个Activity 之间可以进行相互跳转,例如,按下一个Button按钮后,可能会跳转到其他的Activity。和网页跳转稍微有些不一样的是,Activity 之间的跳转有可能返回值,例如,从Activity A 跳转到Activity B,那么当Activity B 运行结束的时候,有可能会给Activity A 一个返回值。这样做在很多时候是相当方便的。

二、Service 是android 系统中的一种组件,它跟Activity 的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service 是没有界面的长生命周期的代码。Service是一种程序,它可以运行很长时间,但是它却没有用户界面。这么说有点枯燥,来看个例子。打开一个音乐播放器的程序,这个时候若想上网了,那么,打开Android浏览器,这个时候虽然已经进入了浏览器这个程序,但是,歌曲播放并没有停止,而是在后台继续一首接着一首的播放。其实这个播放就是由播放音乐的Service进行控制。当然这个播放音乐的Service也可以停止,例如,当播放列表里边的歌曲都结束,或者用户按下了停止音乐播放的快捷键等。它有两种启动方式:

startService():Service会经历onCreate -> onStart(如果Service还没有运行,则android先调用onCreate()然后调用onDestroy;一旦开启,服务于开启者无关,服务会一直在后台运行,就算开启组件已经销毁,服务依旧运行。

bindService():Service会经历onCreate- onbind()-onUnbind()-onDestroy();服务开启会与组件绑定,多个组件可以和一个服务绑定,一旦调用onUnbind(),服务被销毁;

三、在Android 中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制;广播有两种广播:

1、无序广播:

无序广播是完全异步的,发送广播时。所有的广播接收者都能收到,并且无序广播不可以被修改,不可以被拦截,效率较高。

2、有序广播:

有序广播是有是有一定顺序的,发送广播时,只有一个广播接收者可以受到,有序广播可以被拦截,可以被修改,效率较低。

四、Content Provider 是Android提供的第三方应用数据的访问方案。

内容提供者是应用程序之间共享数据的接口,它有一套完整的机制,允许一个程序访问另一个程序的内容,并且保证被访问内容的安全,它是Android中不同程序共享数据的标准。

Android四大组件的简介的更多相关文章

  1. Android四大组件简介:Android 基础知识,开发教程

    Android 四大组件: Activity.Service.Broadcast Receiver.Content Provider. http://developer.android.com/int ...

  2. Android四大组件之一“广播”

    前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就 ...

  3. android开发之路12(android四大组件&Fragment&AsyncTask类)

    一.Activity组件1.简介:Activity组件是Android四大组件之一,通常一个Activity相当于一个用户界面,我们可以通过加载布局文件将Android提供的各种控件及自定义控件显示到 ...

  4. Android 四大组件之“ BroadcastReceiver ”

    前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就 ...

  5. Android 四大组件之" ContentProvider "

    前言 ContentProvider作为Android的四大组件之一,是属于需要掌握的基础知识,可能在我们的应用中,对于Activity和Service这两个组件用的很常见,了解的也很多,但是对Con ...

  6. Android四大组件之——ContentProvider(一)

    Android四大组件之--ContentProvider(一) 本人邮箱:JohnTsai.Work@gmail.com,欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblog ...

  7. 【转】android四大组件--ContentProvider详解

    一.相关ContentProvider概念解析: 1.ContentProvider简介在Android官方指出的Android的数据存储方式总共有五种,分别是:Shared Preferences. ...

  8. Android 四大组件 与 MVC 架构模式

    作为一个刚从JAVA转过来的Android程序员总会思考android MVC是什么样的? 首先,我们必须得说Android追寻着MVC架构,那就得先说一下MVC是个啥东西! 总体而来说MVC不能说是 ...

  9. android四大组件(简单总结)

    activity 一个Activity通常就是一个单独的屏幕(窗口) Activity之间通过Intent进行通信 android应用中每一个Activity都必须要在AndroidManifest. ...

随机推荐

  1. java字符串转为Map类型:split()方法的应用

    方法一: package com.thinkgem.jeesite.modules.socketTest.demo2; import java.util.HashMap; import java.ut ...

  2. Jquery笔记和ajax笔记

    Jquery笔记:jQuery是一个JavaScript函数库,专为事件处理设计 1.jQuery的引入 <script text="type/javascript" src ...

  3. OSL

    1,SimpleColorShader: shader gamma(color cin = color(,,),output color Cout=color(,,)) { Cout = cin; } ...

  4. python(random模块)取10以内的随机数

    上面有个selenium-webdriver循环点击百度搜索结果以及获取新页面的handler文章,随机获取百度搜索结果中不同id的结果,实现代码如下: #coding:utf- import ran ...

  5. OSG开源教程(转)

    例:geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS,0,4)); 来指定要利用这些数据生成一个怎么样的形状. ...

  6. 生活日历NABCD需求分析

    这次我们团队要开发一个生活日历APP,对于这个APP的NABCD的需求分析,我对此作出其中的一小部分介绍. N(Need)需求 目前市场上有很多的日历程序,每个手机自带的功能中必然有日历程序.但是对于 ...

  7. Java读取证书

    import java.io.FileInputStream; import java.security.Key; import java.security.KeyFactory; import ja ...

  8. __builtin_expect — 分支预测优化

    1.引言 在很多源码如Linux内核.Glib等,我们都能看到likely()和unlikely()这两个宏,通常这两个宏定义是下面这样的形式. #define likely(x) __builtin ...

  9. POSIX信号量

    DESCRIPTION POSIX 信号量允许进程间和线程间同步他们的操作. 一个信号量是一个整型(integer),其值不能小于0. 信号量允许2中操作:给信号量的值加1(sem_post); 给信 ...

  10. os模块walk方法

    1.os.walk import os for root, dirs, files in os.walk(top, topdown=False): for name in files: os.remo ...