Android中intent传递对象和Bundle的用法
来源:互联网 发布:电脑连接网络收不到包 编辑:程序博客网 时间:2024/04/29 23:24
android中的组件间传递的对象一般实现Parcelable接口,当然也可以使用java的Serializable接口,前者是android专门设计的,效率更高,下面我们就来实现一个Parcelabel。
1. 创建一个类实现Parcelable接口,具体实现如下:
package com.hebaijun.testparcelable;import android.os.Parcel;import android.os.Parcelable;public class ParcelableData implements Parcelable{private String name;private int age;public ParcelableData(){name = "guest";age = 20;}public ParcelableData(Parcel in){//顺序要和writeToParcel写的顺序一样name = in.readString();age = in.readInt();}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;}@Overridepublic int describeContents() {// TODO Auto-generated method stubreturn 0;}@Overridepublic void writeToParcel(Parcel dest, int flags) {// TODO Auto-generated method stubdest.writeString(name);dest.writeInt(age);}public static final Parcelable.Creator<ParcelableData> CREATOR = new Parcelable.Creator<ParcelableData>() {public ParcelableData createFromParcel(Parcel in) { return new ParcelableData(in);}public ParcelableData[] newArray(int size) { return new ParcelableData[size];}};}
2. 通过下面的方法发送对象。Bundle类也实现了Parcelable接口,一般在android中我们是通过Bundle来封装数据并进行传送的。
Intent intent = new Intent(); intent.setClass(this, SubActivity.class); // 直接添加 //intent.putExtra("MyData", new ParcelableData()); // 通过Bundle Bundle bundle = new Bundle(); bundle.putString("MyString", "test bundle"); bundle.putParcelable("MyData", new ParcelableData()); intent.putExtras(bundle); startActivity(intent);
3. 下面的接收对象的方法。
//ParcelableData parcelableData = getIntent().getParcelableExtra("MyData"); Bundle bundle = getIntent().getExtras(); ParcelableData parcelableData = bundle.getParcelable("MyData"); String testBundleString = bundle.getString("MyString"); Log.v("string=", testBundleString); Log.v("name=", parcelableData.getName()); Log.v("age=", ""+parcelableData.getAge());
- Android中intent传递对象和Bundle的用法
- Android中intent传递对象和Bundle的用法
- Android中intent传递对象和Bundle的用法
- Android中intent传递对象和Bundle的用法
- Android中intent传递对象和Bundle的用法
- Android中intent传递对象和Bundle的用法
- 在Android中通过Intent使用Bundle传递对象
- 在Android中通过Intent使用Bundle传递对象
- 在Android中通过Intent使用Bundle传递对象
- 在Android中通过Intent使用Bundle传递对象
- 在Android中通过Intent使用Bundle传递对象
- 在Android中通过Intent使用Bundle传递对象
- 在Android中通过Intent使用Bundle传递对象
- Android中Bundle传递数据和对象
- Android中Intent传递对象的两种方法(Bundle.putParcelable/putSerializable)!
- (4.1.30.1)Android中Intent传递对象的两种方法(Bundle.putParcelable/putSerializable)!
- Android中Intent传递对象的两种方法(Bundle.putParcelable/putSerializable)!
- android 通过Intent使用Bundle传递对象
- symbian模拟器试用到期后的处理办法
- Android APK反编译详解(附图)
- 23种设计模式
- 个人工作总结 - 1月
- UIView layoutSubviews何时调用
- Android中intent传递对象和Bundle的用法
- 电子市场相关
- Oracle分区、索引sql脚本
- Qt4.7.2+VS2008+mysql5.5.24驱动编译
- Activity的Launch mode 以及Intent的setFlags
- JAVA通过JNI调用本地C语言方法
- ElecFreaks 推出精致Wifi 插板EiFi--嵌入WizFi210无线模块
- [转]SET XACT_ABORT各种用法及显示结果
- 数据库