在Activity中传接对象(使用Parcelable方式)
在Activity中传递对象(使用Parcelable方式)
参考文章
Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
http://blog.csdn.net/cjjky/article/details/6441104
数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。
要传递的对象
接受对象的Activity
参考文章
Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]
http://blog.csdn.net/cjjky/article/details/6441104
数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream, 或者LinkList链表等等数据类型就不太好用。
要传递的对象
package com.andy.entity; package com.andy.entity; import android.os.Parcel; import android.os.Parcelable; public class Police implements Parcelable { private String name; private int workTime; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getWorkTime() { return workTime; } public void setWorkTime(int workTime) { this.workTime = workTime; } public static final Parcelable.Creator<Police> CREATOR = new Creator<Police>() { @Override public Police createFromParcel(Parcel source) { Police police = new Police(); police.name = source.readString(); police.workTime = source.readInt(); return police; } @Override public Police[] newArray(int size) { return new Police[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel parcel, int flags) { parcel.writeString(name); parcel.writeInt(workTime); } } /** * Pacelable传递对象方法 */ private void PacelableMethod(){ Police mPolice = new Police(); mPolice.setName("I am Police"); mPolice.setWorkTime(2008); Intent mIntent = new Intent(this,ParcelableDemo.class); Bundle mBundle = new Bundle(); mBundle.putParcelable(PAR_KEY, mPolice); mIntent.putExtras(mBundle); startActivity(mIntent); } }
接受对象的Activity
package com.andy.testdemo; import com.andy.entity.Police; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class ParcelableDemo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView mTextView = new TextView(this); Police mPolice = (Police)getIntent().getParcelableExtra(TestActivity.PAR_KEY); mTextView.setText("Police name is: " + mPolice.getName()+"/n"+ "WorkTime is: " + mPolice.getWorkTime() + "/n"); setContentView(mTextView); } }