当前位置:操作系统 > 安卓/Android >>

Android开发-Intent和Activity

Intent的基本作用:

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

1.      Component name

2.      Action

3.      Date

4.      Category

5.      Extras

6.      Flags

 

Intent 概述

• Intent是Android的核心组件,利用消息实现应用程序间的交互机制,这种消息描述了应用中一次操作的动作、数据以及附加数据,系统通过该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

[java] <span style="font-family:FangSong_GB2312;font-size:18px;">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); 
        } 
             
        } 
  
}</span> 
<span style="font-family:FangSong_GB2312;font-size:18px;">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);
  }
   
  }
 
}</span>

 

=》》otherActivity.java

[java]
<span style="font-family:FangSong_GB2312;font-size:18px;">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); 
    } 
     
 

</span> 
<span style="font-family:FangSong_GB2312;font-size:18px;">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 sav

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,