Android Intent传接对象

Android Intent传递对象

Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);

本文只介绍好用的Serializable方法,想知道更多请自行百度。

第一步:新建一个类一个是Person.java实现Serializable接口

Person.java:

[java] view plaincopy
  1. package com.tutor.objecttran;  
  2. import java.io.Serializable;  
  3. public class Person implements Serializable {  
  4.     private static final long serialVersionUID = -7060210544600464481L;   
  5.     private String name;  
  6.     private int age;  
  7.     public String getName() {  
  8.         return name;  
  9.     }  
  10.     public void setName(String name) {  
  11.         this.name = name;  
  12.     }  
  13.     public int getAge() {  
  14.         return age;  
  15.     }  
  16.     public void setAge(int age) {  
  17.         this.age = age;  
  18.     }  
  19.       
  20. }  

第二步:发送对象

ObjectTranDemo.java:

[java] view plaincopy
  1. package com.tutor.objecttran;  
  2. import android.app.Activity;  
  3. import android.content.Intent;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.view.View.OnClickListener;  
  7. import android.widget.Button;  
  8. public class ObjectTranDemo extends Activity implements OnClickListener {  
  9.       
  10.     private Button sButton,pButton;  
  11.     public  final static String SER_KEY = "anystring";  
  12.     public void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.main);     
  15.         setupViews();  
  16.           
  17.     }  
  18.       
  19.     //我的一贯作风呵呵  
  20.     public void setupViews(){  
  21.         sButton = (Button)findViewById(R.id.button1);   
  22.         sButton.setOnClickListener(this);    
  23.     }  

  24.     //Serializeable传递对象的方法  
  25.     public void SerializeMethod(){  
  26.         Person mPerson = new Person();  
  27.         mPerson.setName("H3c");  
  28.         mPerson.setAge(23);  
  29.         Intent mIntent = new Intent(this,ObjectTranDemo1.class);  
  30.         Bundle mBundle = new Bundle();  
  31.         mBundle.putSerializable(SER_KEY,mPerson);  
  32.         mIntent.putExtras(mBundle);  
  33.           
  34.         startActivity(mIntent);  
  35.     }  
  36.  
  37.     //铵钮点击事件响应  
  38.     public void onClick(View v) {   
  39.         SerializeMethod();  
  40.     }  
  41. }  

第三步:接收对象

ObjectTranDemo1.java:

[java] view plaincopy
  1. package com.tutor.objecttran;  
  2. import android.app.Activity;  
  3. import android.os.Bundle;  
  4. import android.widget.TextView;  
  5. public class ObjectTranDemo1 extends Activity {  
  6.     @Override  
  7.     public void onCreate(Bundle savedInstanceState) {  
  8.         super.onCreate(savedInstanceState);  
  9.           
  10.         TextView mTextView = new TextView(this);  
  11.         Person mPerson = (Person)getIntent().getSerializableExtra(ObjectTranDemo.SER_KEY);  
  12.         mTextView.setText("You name is: " + mPerson.getName() + "/n"+  
  13.                 "You age is: " + mPerson.getAge());  
  14.           
  15.         setContentView(mTextView);  
  16.     }  
  17. }  

==================================================THE  END=================================================