`
mmdev
  • 浏览: 12925085 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Android开发-Intent 和 Activity

 
阅读更多

@学习记录

2012/5/9 星期三

Intent的基本作用:

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

1.Component name

2.Action

3.Date

4.Category

5.Extras

6.Flags

Intent 概述

IntentAndroid的核心组件,利用消息实现应用程序间的交互机制,这种消息描述了应用中一次操作的动作、数据以及附加数据,系统通过该Intent的描述负责找到对应的组件,并将Intent传递给调用的组件,完成组件的调用。
Intent动作、数据、分类、类型、组件和扩展信息等内容组成,每个组成都由相应的属性进行表示,并提供设置和获取相应属性的方法
组成 属性 设置属性方法 获取属性方法
动作 Action setAction()
getAction()
数据 Data setData()
getData()
分类 Category setCategory()
类型 Type
setType()
getType()
组件 Component
setComponent()
setClass()
setClassName()
getComponent()
扩展信息 Extra
putExtra()
getXXXExtra()获取不同数据类型的数据,如int类型则使用getIntExtra(),字符串则使用getStringExtra()
getExtras()获取Bundle

在Android中,Intent和Activity是直接相互操作的。Intent的最常见的用途是绑定应用程序组件。Intent用来在应用程序的Activity间启动、停止和传输。

为了打开应用程序中的不同的界面(对应一个Activity),调用startActivity,传入一个Intent,如:startActivity(myIntent);

由上图我们可以大致了解Activity和Intent之间的关系。

下面通过一个实例来说明如何利用Intent对Activity进行操作的:

1.创建一个Android项目(Activity02)

代码清单分别为:

1)Android02.java

2)otherActivity.java

3) main.xml

4)other.xml

5) string.xml

6)Android02Manifest.xml

=》》Android02.java

package com.Activity02;

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 {
    /** Called when the activity is first created. */
	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("myButton");
        myButton.setOnClickListener(new MyButtonListener());
    }
    
 

	class MyButtonListener implements OnClickListener{

		public void onClick(View v) {
			// TODO Auto-generated method stub
			//生成一Intent对象
			Intent intent = new Intent();
			intent.setClass(Activity02.this,otherActivity.class);
			Activity02.this.startActivity(intent);
		}
			
		}
 
}


=》》otherActivity.java

package com.Activity02;

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) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.other);
		myTextView = (TextView)findViewById(R.id.myTextView);
		myTextView.setText(R.string.other);
	}
	

}

=》》main.xml

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

<Button 
    android:id="@+id/myButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"  
    />

</LinearLayout>


=》》other.xml

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

<TextView
    android:id="@+id/myTextView"
    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">Activity02</string>
    <string name="other">otherActivity</string>

</resources>


=》》Android02Manifest.xml

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

    <uses-sdk android:minSdkVersion="4" />

    <application
        android:icon="@drawable/ic_launcher"
        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/other"/>
    </application>

</manifest>



模拟器运行结果截图:


按下Button按钮就执行otherActivity


分享到:
评论

相关推荐

    Android开发-Activity的生命周期及Intent

    2. 掌握使用intent实现activity之间的跳转 3. 掌握在manifest文中定义多个activity,并指定Launcher Activity 4. 掌握Activity的启动模式,和启动模式所对应的Activity和task的关系 内容: 1、设计如下界面,包括四...

    Android开发-Intent使用

    Android开发-Intent基础使用Intent用途Intent两种类型及使用方法 Intent用途 1.启动Activity 将Intent对象传递给startActivity()方法或startActivityForResult()方法以启动一个Activity,该Intent对象包含了要启动的...

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

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

    android开发------案例二(猜拳游戏)

    android猜拳游戏: 使用到:intent,activity,radiobutton

    Android实验二:Activity的生命周期及Intent

    1、设计界面,包括四个按钮,两个文本框。单击对应按钮可以启动对应activity。假定Activity A为启动...2、修改 Activity 的启动模式 LaunchMode,并通过 Log 信息来体会不同启动模式所对应的Activity 和 task 的关系

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

    详细的介绍可以参考我的博客

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

    文档介绍了简介,一、抽象描述要描述什么,二、 Android如何解析Intent,三、应用例子,Activity之com.google.android.notepad.NotesList

    Android多媒体功能开发-调用系统Activity的例子

    通过Intent调用Android系统自带Activity界面实现多媒体功能的例子,包括录制、选择、播放音视频,以及拍照、选择、查看照片。这种方式代码简单,运行稳定;但界面固定,不够灵活。系统自带Activity也包括从外部存储...

    Android代码-cordova调用安卓原生activity插件

    cordova-plugins-activity ...原生安卓activity接收参数和回传参数简单示例 public class MyActivity extends Activity { private Button btn; private int flag = 0; private Intent intent = null;

    【Android开发学习20】多个Activity间的交互之Intent -- 代码

    【Android开发学习20】多个Activity间的交互之Intent。一个很基础的程序,仅仅实现一个按钮,跳转到另一个Activity去。

    Android-教程精华-开发

    以及Activity之间的跳转和数据传输(intent)。 Activity中常用的函数有SetContentView() findViewById() finish() startActivity(),其生命周期涉及的函数有: void onCreate(Bundle savedInstanceState) void ...

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

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

    android开发介绍及心得.docx

    Android开发是为Google的Android操作系统创建应用程序的过程。Android是目前全球智能手机和平板电脑市场上最流行的操作系统之一。以下是一些Android开发的核心概念以及我的一些心得体会: ### Android开发的核心...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    Android移动应用开发中Activity和Intent单元主要内容.pdf

    Android移动应用开发中Activity和Intent单元主要内容.pdf 学习资料 复习资料 教学资源

    深入浅出Android--Google手持设备应用程序设计下载

    安装Android 开发工具 3. 开启现有专案 4. 操作Android 模拟器(Emulator) 5. 建立一个Android 程式(BMI0) &#1048766; 基础 1. 描述使用者介面 2. 设计使用者介面(BMI01) 3. 存取识别符号 4. 解读程式流程(BMI02) 5....

    深入浅出Android--Google手持设备应用程序设计.PDF

    2. 安装Android 开发工具 3. 开启现有专案 4. 操作Android 模拟器(Emulator) 5. 建立一个Android 程式(BMI0) � 基础 1. 描述使用者介面 2. 设计使用者介面(BMI01) 3. 存取识别符号 4. 解读程式流程(BMI02) 5. 完成...

    Android开发中Intent用法总结

    本文实例讲述了Android开发中Intent用法。分享给大家供大家参考,具体如下: Android手机软件开发中,Intent作为手机软件开发时很重要的对象需要引起我们的重视,实际上,intent也是体现Android开发具有其独特性的一...

    android Intent实例

    Intent在Android应用开发中,占有很大的分量,关于Intent在Android中的作用在网络上已经有很多资料了,这里不再累赘,本人喜欢直来直去。在网上看到很多关于Intent的资料,说那么多,你也许还是一头雾水,到底如何...

    Android代码-安卓五子棋游戏

    HjYGd 滑稽与狗蛋——安卓五子棋游戏 一款充满快乐元素的Android 五子棋游戏,支持页面刷新,view 的存储与恢复等 功能: 两人对战的五子棋游戏 ...* 3.[2016/11/18]使用intent实现activity间切换 * 4.[201

Global site tag (gtag.js) - Google Analytics