Activity使用Serializable传递对象实例

  1. public class SerializableBook implements Serializable {
  2. private static final long serialVersionUID = 4226755799531293257L;
  3. private String Name;
  4. private String Author;
  5. private String Pubdate;
  6. private float Price;
  7. public void setName(String name) {
  8. Name = name;
  9. }
  10. public String getName() {
  11. return Name;
  12. }
  13. public void setAuthor(String author) {
  14. Author = author;
  15. }
  16. public String getAuthor() {
  17. return Author;
  18. }
  19. public void setPubdate(String pubdate) {
  20. Pubdate = pubdate;
  21. }
  22. public String getPubdate() {
  23. return Pubdate;
  24. }
  25. public void setPrice(float price) {
  26. Price = price;
  27. }
  28. public float getPrice() {
  29. return Price;
  30. }
  31. }

然后起一个Activity A,这都是和之前的Activity介绍的例子一样,代码如下:

Java代码
  1. public class ActivityA extends Activity {
  2. private String SerializableKey = "ourunix_serialzable";
  3. private Button mButton;
  4. @Override
  5. public void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.layout_for_a);
  8. initView();
  9. mButton.setOnClickListener(new OnClickListener() {
  10. @Override
  11. public void onClick(View v) {
  12. // TODO Auto-generated method stub
  13. tranSerializableObject();
  14. }
  15. });
  16. }
  17. public void initView(){
  18. mButton = (Button) findViewById(R.id.a_button);
  19. mButton.setText("A跳B");
  20. }
  21. public void tranSerializableObject(){
  22. Intent in = new Intent();
  23. in.setClass(ActivityA.this, ActivityB.class);
  24. //实例化一个SerializableBook对象
  25. SerializableBook book = new SerializableBook();
  26. book.setAuthor("walfred");
  27. book.setName("How to learn Android");
  28. book.setPrice(10.00f);
  29. book.setPubdate("2014-01-01");
  30. Bundle extras = new Bundle();
  31. extras.putSerializable(SerializableKey, book);
  32. in.putExtras(extras);
  33. startActivity(in);
  34. }
  35. }

最后在Activity B中接受这个对象,并展示出来,代码如下:

Java代码
  1. public class ActivityB extends Activity {
  2. private String SerializableKey = "ourunix_serialzable";
  3. private TextView mTextView;
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. // TODO Auto-generated method stub
  7. super.onCreate(savedInstanceState);
  8. setContentView(R.layout.layout_for_b);
  9. initView();
  10. getAndShowSerialzableObeject();
  11. }
  12. public void initView(){
  13. mTextView = (TextView)findViewById(R.id.b_textview);
  14. }
  15. public void getAndShowSerialzableObeject(){
  16. Bundle extras = getIntent().getExtras();
  17. if (extras != null){
  18. SerializableBook book = (SerializableBook) extras.get(SerializableKey);
  19. mTextView.setText("Name:" + book.getName()+"\n"
  20. + "Author:" + book.getAuthor() + "\n"
  21. + "Pubdate:" + book.getPubdate() + "\n"
  22. + "Price:" + book.getPrice());
  23. }else{
  24. mTextView.setText("nothing");
  25. }
  26. }
  27. }
上一篇:Redis(九)缓存穿透、雪崩、击穿


下一篇:Mongo中更新总结