一、Android有四大组件(component):Activity、Service、BroadcastReceiver、ContentProvider。

  1、Activity

    通过startActivity创建新的Activity,通过Intent将信息传递到新从Activity中。

    如果需要返回值,则使用startActivityForResult,并重写onActivityResult方法。在被调用的Activity中,使用setResult将信息传递回调用处。

  2、Service

    使用startService、bindService、unbindService、stopService对Service进行操作。通过Intent传递信息。

    这4个方法调用顺序和注意事项,可以查看日志 Android Service 和 Android Service执行unbind后再次执行bind的问题

  3、BroadcastReceiver

    使用sendBroadcast、registerReceiver、unregisterReceiver。

    register是android.content.ContextWrapper中的方法,而Activity和Service都继承自ContextWrapper,所以Activity和Service都可以注册Receiver。

    注册Receiver的方式有两种:可以不使用registerReceiver和unregisterReceiver,使用Manifest.xml中配置的方式注册Receiver,这种注册方式称为静态注册,Activity声明周期结束后,BroadcastReceiver依然可以接收到发给它的信息;如果使用registerReceiver和unregisterReceiver,就是动态注册,BroadcastReceiver的声明周期跟随Activity或Service的声明周期。

    当这个Activity被销毁的时候,如果没有执行unregisterReceiver,系统会提示是否忘记取消注册。

    sendOrderedBroadcast可以发送有序广播,每个广播在IntentFilter中设置priority属性,通过优先级保证Broadcast的执行顺序,priority值(-1000到1000)越大优先级越高。

  4、ContentProvider

    目前只是通过eoe视频学习了调用其他组件提供信息的使用方法。

二、Intent

  Intent是组件间传递信息的方式。

  这段时间的学习过程中,大多数时间都在使用Intent(Context, <Class ?>)方法构造Intent对象,这种构造对象的方式可以精确的调用Activity、Service、Broadcast等组件。但是缺点也很明显,比如,指定了一个Activity来打开文件,而如果用户没有安装对应的app,就没有办法打开文件。对于这样的需求,可以通过Intent(String action)来实现,需要在Manifest中定义IntentFilter。更多关于Intent的信息,可以查看日志Intent

Android 四大组件和Intent的更多相关文章

  1. Android四大组件之Intent

    Intent不是android几大组件框架,但是确实是android 各大组件之间沟通的桥梁. 尤其Intent对于activity有很大的关系. 一下是我个人对task以及backstack的总结.

  2. Android四大组件之Intent(续2)

    1.你如何通过一个intent来唤醒activity? this.startActivity(intent,request);      2.什么是显式.隐式的intents? 显式:指定组件名,通常 ...

  3. Android四大组件之Intent(续)

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

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

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

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

  6. android四大组件之Broadcast

    广播的概念 现实中:我们常常使用电台通过发送广播发布消息,买个收音机,就能收听 Android:系统在产生某个事件时发送广播,应用程序使用广播接收者接收这个广播,就知道系统产生了什么事件.Androi ...

  7. Android 四大组件之再论service

    service常见的有2种方式,本地service以及remote service. 这2种的生命周期,同activity的通信方式等,都不相同. 关于这2种service如何使用,这里不做介绍,只是 ...

  8. Android四大组件及activity的四大启动模式

    Android四大组件 1. 广播接收者的两种类型: (1)系统广播接收者,就是继承BroadcastReceiver这个类,然后还要在清单文件中注册,注册之后给他一个action.当系统发生了这个a ...

  9. Android成长日记-Android四大组件之Service组件的学习

    1.什么是Service? Service是Android四大组件中与Activity最相似的组件,它们都代表可执行的程序,Service与Activity的区别在于:Service一直在后台运行,它 ...

随机推荐

  1. MediaPlayer: Couldn't open /storage/emulated/0/kgmusic/download/独家记忆.mp3: java.io.FileNotFoundExcept

    写了一个音乐播放器,播放的时候,会出现这样的问题:比如说我点击第三首歌曲,结果没有播放第三首歌曲,而直接播放了第四首歌曲.看了一下日志.发现报错:MediaPlayer: Couldn't open ...

  2. css实现气泡框效果

    前提:气泡框或者提示框是网页很常见的,实现它的方式有很多,我们以前最常用的就是切图片 然后通过 "定位" 方式 定位到相应的位置,但是用这种方式维护很麻烦,比如设计师想改成另外一种 ...

  3. 编程使用缓冲流读取试题文件,test6_5.txt 内容如下所示。 每次显示试题文件中的一道题目,读取到字符“*”时暂停读取, 等待用户从键盘输入答案。用户做完全部题目后,程序给出用户的得分。

    test6_5.txt内容如下: (1)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做( ). A.封装象 B.继承 C.抽象 D.多态 ******************** ...

  4. css动画,展开折叠图标

    @keyframes packupArrowFlow { 0% { bottom:; } 70% { bottom: 10px; } } @-webkit-keyframes packupArrowF ...

  5. 蓝桥杯之大臣的旅费(两次dfs)

    Description 很久以前,T王国空前繁荣.为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市. 为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个 ...

  6. 半导体热阻问题深度解析(Tc,Ta,Tj,Pc)

    半导体热阻问题深度解析(Tc,Ta,Tj,Pc) 本文是将我以前的<有关热阻问题>的文章重新梳理,按更严密的逻辑来讲解. 晶体管(或半导体)的热阻与温度.功耗之间的关系为: Ta=Tj-* ...

  7. SJA1000 CAN驱动程序演示实验

    SJA1000 CAN驱动程序演示实验 2016-04-12 20:41:22来源: eefocus 关键字:SJA1000  CAN  驱动程序  演示实验   收藏 评论(0) 分享到 微博 QQ ...

  8. 现有工程中集成Cordova

    cocoapods引入cordova源码 1.依赖Cordova和wk插件 pod 'Cordova' pod 'cordova-plugin-wkwebview-engine' 建立Cordova支 ...

  9. 大数据入门第二十二天——spark(一)入门与安装

    一.概述 1.什么是spark 从官网http://spark.apache.org/可以得知: Apache Spark™ is a fast and general engine for larg ...

  10. 20155206 Exp5 MSF基础应用

    20155206 Exp5 MSF基础应用 基础问题 . 用自己的话解释什么是exploit,payload,encode . exploit:这个词本身只是利用,但是它在黑客眼里就是漏洞利用.有漏洞 ...