Android中的互联网应用.docVIP

  • 1
  • 0
  • 约1.52万字
  • 约 16页
  • 2017-07-09 发布于河南
  • 举报
Android中的互联网应用

Intent的中文意思是“意图,意向”,可以把它理解为不同组件之间通信的“媒介”或者“信使”。也就是“把我的意思/意图告诉它”。举个例子来说吧,一位姑娘想找个对象,然后她找了一个媒婆,把她的要求(四有新人,即有型、有钱、有车、有房)告诉了这位媒婆,然后媒婆按照她的要求去寻找目标对象。在这里的“姑娘”是源组件(例如,一个activity),“媒婆”是intent,“目标对象”是目标组件。这样源组件通过intent找到了目标组件。 目标组件要通过intent来声明自己的条件,一般通过组件的intent-filter元素来实现。Intent到底都能干什么呢?Intent可以启动一个activity,也可以启动一个service,还可以发起一个广播(Broadcast)。具体方法如表所示。 Intent启动不同组件的方法 组件名称 方法名称 Activity startActivity() startActivityForResult() Service startService() bindService() Broadcasts sendBroadcast() sendOrderedBroadcast() sendStickycast() Intent由以下几个部分组成:动作(Action)、数据(Data)、分类(Category)、类型(Type)、组件(Component)和扩展信息(Extra)。通过这些可以启动其他组件并携带信息。 Intent在寻找目标组件时有两种方法:第一,通过组件名称直接指定;第二,通过Intent Filter过滤指定,还是上面那个姑娘找对象的例子,可以有两种方法:第一,姑娘告诉媒婆我就找张三了;第二,姑娘提出条件(如要四有新人),那么就要在符合条件的人中过滤筛选。 Intent对象及其属性 Intent是对它要完成操作的一种抽象描述,我们可以使用Intent来启动一个Activity、发起一个Broadcast和启动或绑定一个Service。Intent使应用程序代码在运行时动态绑定成为可能,这也降低了不同代码之间的耦合性。Intent最常使用的方法是用来启动一个Activity。Intent封装了它要执行动作的属性,这些属性最常见的是Action和Data。 Intent的ComponentName属性 在后续的内容中我们将介绍Intent的查找组件策略,其中的一种方法是显式查找,就是直接通过组件名称(Component name)来查找。Intent的组件名称对象由ComponentName类来封装,组件名称包含包名称和类名称,被声明在AndroidMainfest.xml文件中。 组件名称通过setComponent()、setClass()、setClassName()设置,通过getComponent()获得。 下面我们通过一个实例来演示Intent组件名称属性的使用,该实例是通过一个组件名称来直接启动一个Activity的。实例步骤说明如下。 创建一个名为intent_CompentNameDemo的项目。 在工程的res\layout\目录下创建一个main.xml布局文件,在其中添加一个Button组件。 ?xml version=1.0 encoding=utf-8? LinearLayout xmlns:android=/apk/res/android android:orientation=vertical android:layout_width=fill_parent android:layout_height=fill_parent Button android:text=测试Intent的组件名称属性 android:id=@+id/myButton01 android:layout_width=wrap_content android:layout_height=wrap_content/ /LinearLayout MainActivity类。 package com.yidu.demo; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; /** * * @author admins 测试intent的C

文档评论(0)

1亿VIP精品文档

相关文档