`

Android中的Intent

阅读更多

Android中的Intent

一、程序效果

     实现两个Activity间信息的传递,本程序通过Intent对象进行传递。

二、代码编写与解析

     1.编写两个Activity对应的layout:main.xml和other.xml

     main.xml

<?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"
    >
    
    <Button
    android:id="@+id/myButton"
    android:text="点击跳转"
    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: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>
 

     2.在编写两个Activity

     Activity02.java

 

package linys.activity;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
 * 
 * @Project: Android_Activity02_Intent
 * @Desciption: intent用来传递Activity间的信息:
 * 一个Intent对象主要包括:
 * 1.Component name
 * 2.Action
 * 3.Data
 * 4.Extras
 * @Author: LinYiSong
 * @Date: 2011-3-25~2011-3-25
 */
public class Activity02 extends Activity {
	Button btn;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        btn=(Button)findViewById(R.id.myButton);
        btn.setOnClickListener(new BtnListener());//添加监听器
    }
    
    class BtnListener implements OnClickListener{
		@Override
		public void onClick(View v) {
			Intent intent =new Intent();
			//往Intent中添加键值对Extra
			intent.putExtra("key","value");
			intent.setClass(Activity02.this, OtherActivity.class);//设置转向的两个类
			
			Activity02.this.startActivity(intent);//Activity02启动传递
			
			//利用android自带的发短信功能
//			Uri uri=Uri.parse("smsto://0800000123");
//			Intent intent=new Intent(Intent.ACTION_SENDTO,uri);
//			intent.putExtra("key","value");
//			Activity02.this.startActivity(intent);
		}
    }
}
 

     OtherActivity.java

 

package linys.activity;

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

public class OtherActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.other);
        
        TextView textView=(TextView)findViewById(R.id.myTextView);
        //取出Intent把Intent中的值设置成TextView的内容
        Intent intent=this.getIntent();
        String value=intent.getStringExtra("key");
        textView.setText(value);
    }
}
 

三、程序解析

1.intent用来传递Activity间的信息:

一个Intent对象主要包括:
 * 1.Component name
 * 2.Action
 * 3.Data
 * 4.Extras:一个键值对,相当于一个map

2.Intent对象的操作

*1.new出对象

*2.往intent中放入传递的信息

*3.指定Activity间的转向,一个Activity对象-->另一个Activity类

*4.启动转向

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics