`
byebyegov5qq
  • 浏览: 1244895 次
文章分类
社区版块
存档分类
最新评论

android开发 Intent

 
阅读更多

一、什么是Intent?

Intent的中文意思是目的。在Android中也是“目的”的意思。就是我们要去哪里,从这个activity要前往另一个Activity就需要用到Intent。

示例代码一:

   1:
 //定义一个Intent
   2:
 Intent intent = new
 Intent(IntentDemo.this
, AnotherActivity2.class
);
   3:
 //启动Activity
   4:
 startActivity(intent);

以上示例代码的作用是从IntentDemo这个activity切换到AnotherActivity2。这是Intent其中一种构造方法,指 定两个Activity。为什么需要指定两个活动呢?因为在Android中有一个活动栈,这样的构造方式才能确保正确的将前一个活动压入栈中,才能在触 发返回键的时候活动能够正确出栈。

注意:所有的Activity都必须先在AndroidManifest.xml里面配置声明。一下为本文用到的程序配置文件

   1:
 <?
xml
 version
="1.0"
 encoding
="utf-8"
?>
   2:
 <
manifest
 xmlns:android
="http://schemas.android.com/apk/res/android"
   3:
     package
="com.halzhang.android.intent"
 android:versionCode
="1"
   4:
     android:versionName
="1.0"
>
   5:
     <
application
 android:icon
="@drawable/icon"
 android:label
="@string/app_name"
>
   6:
         <
activity
 android:name
=".IntentDemo"
 android:label
="@string/app_name"
>
   7:
             <
intent-filter
>
   8:
                 <
action
 android:name
="android.intent.action.MAIN"
 />
   9:
                 <
category
 android:name
="android.intent.category.LAUNCHER"
 />
  10:
             </
intent-filter
>
  11:
         </
activity
>
  12:
         <
activity
 android:name
=".AnotherActivity"
 android:label
="another"
>
  13:
             <
intent-filter
>
  14:
                 <
action
 android:name
="android.intent.action.EDIT"
 />
  15:
                 <!-- category一定要配置,否则报错:找不到Activity -->
  16:
                 <
category
 android:name
="android.intent.category.DEFAULT"
 />
  17:
             </
intent-filter
>
  18:
         </
activity
>
  19:
 
  20:
         <
activity
 android:name
=".AnotherActivity2"
 android:label
="another2"
>
  21:
             <
intent-filter
>
  22:
                 <
action
 android:name
="android.intent.action.EDIT"
 />
  23:
                 <
category
 android:name
="android.intent.category.DEFAULT"
 />
  24:
             </
intent-filter
>
  25:
         </
activity
>
  26:
     </
application
>
  27:
     <
uses-sdk
 android:minSdkVersion
="3"
 />
  28:
     <!-- 
  29:
         上面配置的两个activity具有相同的action类型,都为“android.intent.action.EDIT”
  30:
         当Intent的action属性为Intent.ACTION_EDIT时,系统不知道转向哪个Activity时,
  31:
         就会弹出一个Dialog列出所有action为“android.intent.action.EDIT”的
  32:
         Activity供用户选择
  33:
      -->
  34:
 </
manifest
>
 

二、Intent的构造函数

公共构造函数:

1、Intent() 空构造函数

2、Intent(Intent o) 拷贝构造函数

3、Intent(String action) 指定action类型的构造函数

4、Intent(String action, Uri uri) 指定Action类型和Uri的构造函数,URI主要是结合程序之间的数据共享ContentProvider

5、Intent(Context packageContext, Class<?> cls) 传入组件的构造函数,也就是上文提到的

6、Intent(String action, Uri uri, Context packageContext, Class<?> cls) 前两种结合体

Intent有六种构造函数,3、4、5是最常用的,并不是其他没用!

Intent(String action, Uri uri) 的action就是对应在AndroidMainfest.xml中的action节点的name属性值。在Intent类中定义了很多的Action和Category常量。

示例代码二:

   1:
 Intent intent = new Intent(Intent.ACTION_EDIT, null);
   2:
 startActivity(intent);

示例代码二是用了第四种构造函数,只是uri参数为null。执行此代码的时候,系统就会在程序主配置文件AndroidMainfest.xml中寻找

<action android:name="android.intent.action.EDIT" />对应的Activity,如果对应为多个activity具有<action android:name="android.intent.action.EDIT" />此时就会弹出一个dailog选择Activity,如下图:

device 如果是用示例代码一那种方式进行发送则不会有这种情况。

三、利用Intent在Activity之间传递数据

在Main中执行如下代码:

   1:
 Bundle bundle = new
 Bundle();
   2:
 bundle.putStringArray("NAMEARR"
, nameArr);
   3:
 Intent intent = new
 Intent(Main.this
, CountList.class
);
   4:
 intent.putExtras(bundle);
   5:
 startActivity(intent);

在CountList中,代码如下:

   1:
 Bundle bundle = this
.getIntent().getExtras();
   2:
 String[] arrName = bundle.getStringArray("NAMEARR"
);

以上代码就实现了Activity之间的数据传递!

分享到:
评论

相关推荐

    Android开发Intent的传参页面跳转

    总之,Intent在Android开发中扮演着至关重要的角色,不仅实现了页面间的跳转,还能灵活地传递各种数据。掌握好Intent的使用,能让你的Android应用更加功能丰富且易于维护。在实际开发过程中,要根据需求选择合适的...

    android各种文件的intent

    在Android开发中,`Intent`是一种消息对象,它允许您启动Activity、Service或者发送Broadcast等。简单来说,Intent是应用程序组件之间进行交互的一种方式。它可以携带少量数据,并指定一个要执行的动作(例如查看...

    Android的Intent实验

    在Android开发中,Intent是一种非常重要的组件,它用于在应用程序的不同组件之间传递消息,实现活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)以及内容提供者(Content Provider)之间的交互...

    android.intent.action.TIME_TICK

    3. 注册IntentFilter:为IntentFilter添加对应的ACTION,如"android.intent.action.TIME_TICK"、"android.intent.action.SCREEN_ON"和"android.intent.action.BATTERY_CHANGED"。 4. 不再需要时,记得在合适的位置...

    Android利用Intent启动和关闭Activity

    在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity之间传递数据,实现应用内部或应用间的交互...

    Android通过Intent传递数据

    在Android应用开发中,Intent是...理解并熟练运用Intent在Android开发中至关重要,它能有效提升应用的交互性和用户体验。正确地传递数据,不仅可以完成基本的信息传递,还能实现更复杂的业务逻辑,如启动服务、广播等。

    android开发中Intent在两个Activity间传值示例

    在这个“android开发中Intent在两个Activity间传值示例”中,我们将深入探讨如何使用Intent在两个Activity之间传递数据。 1. **Intent的基本概念** Intent是一个表示一个动作的意图对象,它包含了一个操作和操作的...

    Android7.0 Intent打开文件管理器 获取文件真实路径

    Android7.0 Intent打开文件管理器 获取文件真实路径。虽然网上很多demo,但是没有一个能够兼容所有Android机的,去网上学习了然后自己亲测过手机分别有Android7.0/6.0/4.3个版本。

    android 利用intent调用activity 简明精炼的例子

    在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它用于启动新的Activity或者服务,以及在组件间传递数据。Intent可以分为显式Intent和隐式Intent。本篇将重点讲解如何利用Intent在Android中调用Activity...

    Android中intent的使用

    总结起来,Intent在Android开发中扮演着至关重要的角色,它不仅连接了应用内的各个组件,还实现了应用间的交互。理解和熟练使用Intent,是每个Android开发者必备的技能之一。通过合理的Intent设计,我们可以构建出...

    android中intent使用示例

    在Android开发中,Intent是一种非常重要的组件间通信机制。它被用来启动活动(Activity)、服务(Service)或者传递数据。本示例将深入探讨Intent的基本用法和常见应用场景。 首先,Intent分为显式Intent和隐式...

    Android通过Intent跳转地图应用(百度地图、高德地图)

    在Android开发中,Intent是一种强大的工具,用于在不同的组件之间传递数据和启动操作。当我们需要在应用程序中调用外部应用,如地图应用,如百度地图或高德地图,Intent是实现这一功能的关键。本篇文章将深入讲解...

    Android开发教程之Intent详细讲解--千锋培训

    【Android开发教程之Intent详细讲解】 Intent在Android开发中扮演着至关重要的角色,它是四大组件(Activity、Service、BroadcastReceiver、ContentProvider)间通信的主要桥梁。Intent不仅描述了一个操作的动作,...

    Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面.

    在 Android 开发中,Intent 是一个非常重要的概念,它允许不同的应用程序之间进行交互和通信。在本文中,我们将探讨如何使用 Intent 跳转到系统应用中的拨号界面、联系人界面、短信界面等。 拨号界面 要跳转到拨号...

    Android使用Intent实现Video功能

    在Android开发中,Intent是一种非常重要的组件,它用于在应用程序之间传递消息,也可以用来启动其他应用程序的组件,如Activity、Service等。当我们想要在应用中实现视频相关的功能时,如拍摄视频或播放视频,Intent...

    Android+Intent机制实例详解.rar

    在Android应用开发中,Intent是一种强大的机制,它用于在组件之间传递消息,是应用程序中不同组件(如Activity、Service、BroadcastReceiver)之间交互的核心工具。Intent不仅能够启动其他组件,还可以用于在组件间...

    Android Intent传递数据大小限制详解

    在sendBroadcast,startActivity时,我们会用到Intent。 Intent可以携带一些数据,比如基本类型数据int、Boolean,或是String,或是序列化对象,Parcelable与Serializable。 Intent传递数据时,如果数据太大,可能...

    Android中Intent的Uri使用

    在Android开发中,`Intent`是进行组件间通信的重要工具之一,它可以启动一个Activity、BroadcastReceiver或Service,也可以用来向服务发送数据请求。其中,`Intent`的一个关键特性是能够携带`Uri`(Uniform Resource...

    Android开发 两个Activity之间通过Intent跳转传值

    总结,Intent是Android开发中非常重要的工具,它使得Activity间的通信变得简单而灵活。理解并熟练掌握Intent的使用,对于Android开发者来说至关重要。在实际项目中,我们应根据需求选择合适的方式来传递和接收数据,...

Global site tag (gtag.js) - Google Analytics