`
Bauble
  • 浏览: 67857 次
  • 性别: Icon_minigender_1
  • 来自: Mercury
社区版块
存档分类
最新评论

Android05_Intent

阅读更多

一、多个Activity之间的关系

当从Activity01跳转到Activity02时,必须要启动Activity01的startActivity方法,该方法传递一个Intent对象到Activity02中,所以Intent在多个Activity之间起到了至关重要的作用。

 

二、Intent的基本作用

Intent是一个对象,且包含了一组信息:

1)*Component name:指定需要启动的另一个Activity的名字

 

2)*Action:指定当前Activity启动了另一个Activity时需要做哪些动作,如ACTION_CALL,ACTION_EDIT等等

 

3)*Data:Activity之间传输的数据,是一个URL

 

4)Category

 

5)*Extras:额外添加的信息,是一些键值对

 

6)Flags

 

三、在一个Activity当中启动另一个Activity的方法

 

新建项目Activity02:


       

Activity02.java——初始activity

 

package com.android.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Activity02 extends Activity {
	
	private Button myButton = null;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        myButton = (Button) findViewById(R.id.myButton);
        myButton.setText("跳转到另一个activity");
        myButton.setOnClickListener(new MyButtonListener());    //向myButton添加点击监听器
    }
    
    class MyButtonListener implements OnClickListener{ 
    	public void onClick(View v) {	
			Intent intent =  new Intent();  //生成一个Intent对象
			intent.setClass(Activity02.this, OtherActivity.class);  //第一个参数设置是原Activity,第二个参数是要请求跳转到的activity
			Activity02.this.startActivity(intent);//执行
		}

    }
}

Intent的setClass方法有两个参数,intent相当于一个请求,第二个参数则表示这个请求要到哪里去。

 

main.xml——Acitivity02.java这个activity的布局文件

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
    <Button 
    	android:id="@+id/myButton"
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    />
</LinearLayout>

 

 

string.xml

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, Activity02!</string>
    <string name="app_name">Activity测试02</string>
    <string name="othername">Other Activity</string>
</resources>

 

 

OtherActivity.java——跳转后的Activity

 

package com.android.activity;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class OtherActivity extends Activity {
	
	private TextView myTextView = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.other);
		
		myTextView = (TextView)findViewById(R.id.myTextView);
		myTextView.setText("这是另一个activity");
	}
}

 

 

other.xml——OtherActivity.java的布局文件

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
	android:id="@+id/myTextView"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    />
</LinearLayout>

 

 

AndroidManifest.xml——注册OtherActivity

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.android.activity"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Activity02"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".OtherActivity"
        		  android:label="@string/othername">
       	</activity>

    </application>
</manifest>

 

 

运行结果:

初始界面:


                   

跳转后界面:


                   

四、使用Intent在Activity之间传递数据的基本方法

Activity02.Java

 

Intent intent =  new Intent();
intent.putExtra("param", "haha"); //添加参数
intent.setClass(Activity02.this, OtherActivity.class);
Activity02.this.startActivity(intent);

  OtherActivity.java

 

Intent intent = getIntent();
String param = intent.getStringExtra("param"); //从intent中取得参数
System.out.println("intent传递的参数:"+param);
 

 

  • 大小: 36.3 KB
  • 大小: 68.3 KB
  • 大小: 21.3 KB
  • 大小: 17.7 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    05_第5章_Intent与BroadcastReceiver_AndroidIntent_android_

    在"05_第5章_Intent与BroadcastReceiver.pdf"文件中,你将深入学习到这些知识点的详细内容,包括实例演示和最佳实践,帮助你更好地理解和掌握Intent与BroadcastReceiver在Android开发中的应用。通过阅读这份文档,...

    Checking_Intent-based_Communication_in_Android_With_Intent_Space

    在Android操作系统中,Intent是一种核心机制,用于应用程序之间的通信和数据传递。Intent不仅允许用户启动服务、活动,还可以实现应用程序间的交互。然而,随着安全需求的增加,Android系统及其第三方安全扩展都对...

    Android_intent_大全

    在Android操作系统中,Intent是一种强大的机制,用于在应用程序的不同组件之间传递消息,它扮演着连接应用内部或跨应用通信的关键角色。本篇文章将全面解析Android Intent的使用及相关知识点。 首先,Intent主要有...

    ex07_activity_intent.rar_Intent_android

    在Android应用开发中,Intent是一种强大的机制,用于在应用程序组件之间进行通信,是连接不同组件的桥梁。"ex07_activity_intent"这个压缩包文件很可能包含了一系列关于Android中Intent使用的教程或示例代码,让我们...

    android_intent和intent_action大全

    在Android开发中,Intent是一种非常重要的机制,用于在应用程序组件之间进行通信,它可以用来启动其他组件,如Activity、BroadcastReceiver和服务,或者启动系统服务。在本文中,我们将深入探讨`android_intent`和`...

    Checking_Intent-based_Communication_in_Android_With_Intent_Space_Analysis.pdf

    Checking Intent-based Communication in Android With Intent Space Analysis 发表在AisaCCS'2016上。作者提出了IntentScope工具,能够综合系统中所有的security extensions规则,得出一个完整的,所有APP之间能否...

    Android应用源码之Intent_Intent.zip

    在Android开发中,Intent是一个非常核心且至关重要的组件,它扮演着应用程序内部或应用程序之间通信的桥梁角色。Intent主要用于启动活动(Activity)、服务(Service)或者广播接收器(BroadcastReceiver),并传递...

    Android_Intent和Intent_Filter详解

    Android Intent和Intent_Filter详解 Android Intent是 Android 组件间通信的载体,它们之间的通信是通过 Intent 对象在不断传递实现的。Android 的三大核心组件 Activity、Service 和 BroadcastReceiver 都是通过 ...

    Android应用源码之Intent1_Intent.zip

    Intent1_Intent.zip中的源码应该包含了关于Intent的实例和使用方法,让我们一起深入探讨Intent在Android应用中的作用、类型、创建与传递、以及常见用法。 1. **Intent的作用** Intent的主要功能是启动一个活动...

    Android_Intent详解

    ### Android Intent详解 #### 一、Intent的作用与概念 **Intent** 在Android开发中扮演着极为重要的角色,它是实现Android应用程序内部以及不同应用程序之间通信的关键工具。简而言之,Intent可以被视为一种消息...

    android_Intent详解

    ### Android Intent 详解 #### 一、Intent 的作用 `Intent` 在 Android 开发中扮演着极其重要的角色,它是用于启动或与应用组件(如 Activity、Service 或 BroadcastReceiver)交互的一种方式。简而言之,`Intent`...

    android-intent-and-intent-action.zip_Android Intent_action

    android intent和intent action大全

    Android应用源码之Intent_ComponentSample_Intent.zip

    在Android应用开发中,Intent是连接应用程序各个组件的桥梁,它是Android系统中一个非常重要的概念。Intent用于在组件之间传递消息,启动或激活服务,以及启动活动等操作。本源码示例"Intent_ComponentSample_Intent...

    Android入门程序_Intent的使用

    在Android开发中,Intent是一个非常核心且至关重要的概念,它充当了应用程序组件间通信的桥梁。本教程将深入探讨Intent的使用,引导Android初学者掌握这一基础知识点。 Intent主要用于启动或激活Android系统中的...

    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. 不再需要时,记得在合适的位置...

    ex07_activity_intent.rar_android_ex07_activi_ex07_activity_inten

    些朋友可能对Android系统的手机不太熟悉,相信你见了Android系统的手机后你肯定会喜欢上的,绚丽的界面,好看的字体,彰显华贵和专业。本源码收集的就是android系统中的一些基本单元,比如弹出的提示框、提示层的...

    Android Intent_TabHost源码演示

    Android编程之Intent_TabHost源码演示,自定义的Tabhost(内含源码),学习制作Android软件的TAB标签界面,在电脑上已经很流行的功能,Android手机上当然不能少,这个TabHost源码相对简单些,是JAVA转学Android比较...

    android Intent用法

    ### Android Intent 使用详解 在Android开发中,`Intent`是一个非常重要的类,它主要用于应用程序组件间的交互和通信。通过Intent可以启动Activity、Service或者发送Broadcast等。本文将根据提供的文件内容,详细...

    android Action call 拨打电话 Intent.ACTION.CALL

    在Android开发中,Intent是一个非常重要的组件,它用于在应用程序的不同组件之间传递消息,执行特定的操作,如启动活动(Activity)、启动服务(Service)等。当我们想要从应用中拨打电话时,就需要用到Intent ...

Global site tag (gtag.js) - Google Analytics