读书人

Android Intent传接对象

发布时间: 2012-06-30 17:20:12 作者: rapoo

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. }

第二步:发送对象

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. private Button sButton,pButton;
  10. public final static String SER_KEY = "anystring";
  11. public void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.main);
  14. setupViews();
  15. }
  16. //我的一贯作风呵呵
  17. public void setupViews(){
  18. sButton = (Button)findViewById(R.id.button1);
  19. sButton.setOnClickListener(this);
  20. }

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

第三步:接收对象

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. TextView mTextView = new TextView(this);
  10. Person mPerson = (Person)getIntent().getSerializableExtra(ObjectTranDemo.SER_KEY);
  11. mTextView.setText("You name is: " + mPerson.getName() + "/n"+
  12. "You age is: " + mPerson.getAge());
  13. setContentView(mTextView);
  14. }
  15. }

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


读书人网 >Android

热点推荐