Android中Intent中如何傳遞對象,就我目前所知道的有兩種方法,一種是Bundle.putSerializable(Key,Object);另一種是Bundle.putParcelable(Key, Object);當然這些Object是有一定的條件的,前者是實現了Serializable介面,而後者是實現了Parcelable介面,為了讓大家更容易理解我還是照常寫了一個簡單的Demo,大家就一步一步跟我來吧!
第一步:建立一個Android工程命名為ObjectTranDemo(類比較多哦!)目錄結構如下圖:
第二步:修改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" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Welcome to Mr wei's blog." /> <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Serializable"/> <Button android:id="@+id/button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Parcelable"/> </LinearLayout>
第三步:建立兩個類一個是Person.java實現Serializable介面,另一個Book.java實現Parcelable介面,代碼分別如下:
Person.java:
package com.tutor.objecttran; import java.io.Serializable; public class Person implements Serializable { private static final long serialVersionUID = -7060210544600464481L; private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }