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

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

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

Person.java:

[java] view plain copy
  1. packagecom.tutor.objecttran;
  2. importjava.io.Serializable;
  3. publicclassPersonimplementsSerializable{
  4. privatestaticfinallongserialVersionUID=-7060210544600464481L;
  5. privateStringname;
  6. privateintage;
  7. publicStringgetName(){
  8. returnname;
  9. }
  10. publicvoidsetName(Stringname){
  11. this.name=name;
  12. }
  13. publicintgetAge(){
  14. returnage;
  15. }
  16. publicvoidsetAge(intage){
  17. this.age=age;
  18. }
  19. }

第二步:发送对象

ObjectTranDemo.java:

[java] view plain copy
  1. packagecom.tutor.objecttran;
  2. importandroid.app.Activity;
  3. importandroid.content.Intent;
  4. importandroid.os.Bundle;
  5. importandroid.view.View;
  6. importandroid.view.View.OnClickListener;
  7. importandroid.widget.Button;
  8. publicclassObjectTranDemoextendsActivityimplementsOnClickListener{
  9. privateButtonsButton,pButton;
  10. publicfinalstaticStringSER_KEY="anystring";
  11. publicvoidonCreate(BundlesavedInstanceState){
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.main);
  14. setupViews();
  15. }
  16. //我的一贯作风呵呵
  17. publicvoidsetupViews(){
  18. sButton=(Button)findViewById(R.id.button1);
  19. sButton.setOnClickListener(this);
  20. }

  21. //Serializeable传递对象的方法
  22. publicvoidSerializeMethod(){
  23. PersonmPerson=newPerson();
  24. mPerson.setName("H3c");
  25. mPerson.setAge(23);
  26. IntentmIntent=newIntent(this,ObjectTranDemo1.class);
  27. BundlemBundle=newBundle();
  28. mBundle.putSerializable(SER_KEY,mPerson);
  29. mIntent.putExtras(mBundle);
  30. startActivity(mIntent);
  31. }
  32. //铵钮点击事件响应
  33. publicvoidonClick(Viewv){
  34. SerializeMethod();
  35. }
  36. }

第三步:接收对象

ObjectTranDemo1.java:

[java] view plain copy
  1. packagecom.tutor.objecttran;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.widget.TextView;
  5. publicclassObjectTranDemo1extendsActivity{
  6. @Override
  7. publicvoidonCreate(BundlesavedInstanceState){
  8. super.onCreate(savedInstanceState);
  9. TextViewmTextView=newTextView(this);
  10. PersonmPerson=(Person)getIntent().getSerializableExtra(ObjectTranDemo.SER_KEY);
  11. mTextView.setText("Younameis:"+mPerson.getName()+"/n"+
  12. "Youageis:"+mPerson.getAge());
  13. setContentView(mTextView);
  14. }
  15. }

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


更多相关文章

  1. Android(安卓)保存文件路径方法
  2. 【Android】EventBus源码解析(3.1.1)
  3. Android中对Handle机制的理解
  4. Android(安卓)Pull解析
  5. 如何设置Activity全屏显示和没有Title
  6. Android中取消GridView & ListView默认的点击背景色
  7. 浅谈Java中Collections.sort对List排序的两种方法
  8. 类和 Json对象
  9. Python list sort方法的具体使用

随机推荐

  1. 一 Android开发环境搭建
  2. 科大讯飞语义
  3. android 3d游戏研究(二)(边学边写,多谢高手指
  4. Android中打印代码的调用层次
  5. Android(安卓)的网络编程(14)-ttpClient
  6. android里面自定义RadioButton、CheckBox
  7. C语言的函数递归(下)
  8. Android(安卓)电子罗盘开发
  9. Android中BuildConfig类的那些事
  10. Android开发 常用控件罕见特殊属性集锦