Android 从代码写入包裹
我要创建数据并将其写入地块。我要执行以下操作的原因是调试。我想在一个位置编写一些简洁的代码,以实现应用程序中的特定流 我想修改此方法以返回我创建的对象:Android 从代码写入包裹,android,javabeans,parcelable,parcel,Android,Javabeans,Parcelable,Parcel,我要创建数据并将其写入地块。我要执行以下操作的原因是调试。我想在一个位置编写一些简洁的代码,以实现应用程序中的特定流 我想修改此方法以返回我创建的对象: public MyMessage getMyMessage() { return myMessage; } MyMessage是一个bean,定义如下: @Bean public class MyMessage implements Parcelable { @Optional private String
public MyMessage getMyMessage() {
return myMessage;
}
MyMessage是一个bean,定义如下:
@Bean
public class MyMessage implements Parcelable {
@Optional
private String message;
public MyMessage() {
}
public MyMessage(Parcel in) {
message = in.readString();
}
public String getMessage() {
return message;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(message);
}
public static final Creator<MyMessage> CREATOR = new Creator<MyMessage>() {
@Override
public MyMessage createFromParcel(Parcel in) {
return new MyMessage(in);
}
@Override
public MyMessage[] newArray(int size) {
return new MyMessage[size];
}
};
}
但是.writestring似乎没有修改包,调试器会分离,我无法单步执行。最终结果是MyMessageBean有一条空消息。我哪里出错了?可能重复:
必须使用以下命令重置地块的数据位置:
parcel.setDataPosition0
请显示MyMessage.CREATOR.createFromParcelimplementation@divideandconquer.se编辑问题
public MyMessage getMyMessage() {
android.os.Parcel parcel = android.os.Parcel.obtain(); // TODO
parcel.writeString("message is this");
return MyMessage.CREATOR.createFromParcel(parcel);
//return new MyMessage(parcel);
}