android.os.Parcelable.writeToParcel()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(5.5k)|赞(0)|评价(0)|浏览(523)

本文整理了Java中android.os.Parcelable.writeToParcel()方法的一些代码示例,展示了Parcelable.writeToParcel()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Parcelable.writeToParcel()方法的具体详情如下:
包路径:android.os.Parcelable
类名称:Parcelable
方法名:writeToParcel

Parcelable.writeToParcel介绍

[英]Flatten this object in to a Parcel.
[中]将此对象展平成一个包裹。

代码示例

代码示例来源:origin: stackoverflow.com

public class ParcelableUtil {    
  public static byte[] marshall(Parcelable parceable) {
    Parcel parcel = Parcel.obtain();
    parceable.writeToParcel(parcel, 0);
    byte[] bytes = parcel.marshall();
    parcel.recycle();
    return bytes;
  }

  public static Parcel unmarshall(byte[] bytes) {
    Parcel parcel = Parcel.obtain();
    parcel.unmarshall(bytes, 0, bytes.length);
    parcel.setDataPosition(0); // This is extremely important!
    return parcel;
  }

  public static <T> T unmarshall(byte[] bytes, Parcelable.Creator<T> creator) {
    Parcel parcel = unmarshall(bytes);
    T result = creator.createFromParcel(parcel);
    parcel.recycle();
    return result;
  }
}

代码示例来源:origin: commonsguy/cw-omnibus

public static byte[] toByteArray(Parcelable parcelable) {
 Parcel parcel=Parcel.obtain();
 parcelable.writeToParcel(parcel, 0);
 byte[] result=parcel.marshall();
 parcel.recycle();
 return(result);
}

代码示例来源:origin: stackoverflow.com

p.writeToParcel(parcel, 0);
parcel.setDataPosition(0);

代码示例来源:origin: k9mail/k-9

public static byte[] marshall(Parcelable parceable) {
  Parcel parcel = Parcel.obtain();
  parceable.writeToParcel(parcel, 0);
  byte[] bytes = parcel.marshall();
  parcel.recycle();
  return bytes;
}

代码示例来源:origin: android-hacker/VirtualXposed

private static ScanResult cloneScanResult(Parcelable scanResult) {
  Parcel p = Parcel.obtain();
  scanResult.writeToParcel(p, 0);
  p.setDataPosition(0);
  ScanResult newScanResult = Reflect.on(scanResult).field("CREATOR").call("createFromParcel", p).get();
  p.recycle();
  return newScanResult;
}

代码示例来源:origin: stackoverflow.com

parcelable.writeToParcel(parcel, 0);
parcel.setDataPosition(0);
dataMap.putByteArray(key, parcel.marshall());

代码示例来源:origin: codezjx/AndLinker

@Override
public void writeToParcel(Parcel dest, int flags, Parcelable val) {
  if (flags == Parcelable.PARCELABLE_WRITE_RETURN_VALUE) {
    val.writeToParcel(dest, flags);
  } else {
    dest.writeParcelable(val, flags);
  }
}

代码示例来源:origin: klinker24/Android-Blur-Launcher

@Override
public void writeToParcel(Parcel dest, int flags) {
  ContentValues itemValues = new ContentValues();
  writeToValues(itemValues);
  itemValues.writeToParcel(dest, flags);
  dest.writeInt(mArg1);
  dest.writeInt(mObjectType);
  if (mObject != null) {
    dest.writeInt(1);
    mObject.writeToParcel(dest, flags);
  } else {
    dest.writeInt(0);
  }
}

代码示例来源:origin: braintree/braintree_android

public static void putParcelable(Context context, String key, Parcelable parcelable) {
  Parcel parcel = Parcel.obtain();
  parcelable.writeToParcel(parcel, 0);
  getSharedPreferences(context).edit()
      .putString(key, Base64.encodeToString(parcel.marshall(), 0))
      .apply();
}

代码示例来源:origin: cn.leancloud.android/avoscloud-statistics

private static byte[] marshall(Parcelable parcelable) {
 Parcel outer = Parcel.obtain();
 parcelable.writeToParcel(outer, 0);
 byte[] data = outer.marshall();
 return data;
}

代码示例来源:origin: tajchert/BusWear

/**
 * Converts the Parcelable object to a byte[]
 *
 * @param parcelable
 * @return
 */
public static byte[] parcelToByte(@NonNull Parcelable parcelable) {
  Parcel parcel = Parcel.obtain();
  parcelable.writeToParcel(parcel, 0);
  byte[] bytes = parcel.marshall();
  parcel.recycle();
  return bytes;
}

代码示例来源:origin: 8enet/AppOpsX

public static byte[] marshall(Parcelable parceable) {
 Parcel parcel = Parcel.obtain();
 parceable.writeToParcel(parcel, 0);
 byte[] bytes = parcel.marshall();
 parcel.recycle();
 return bytes;
}

代码示例来源:origin: 121880399/QuickMvp

private static byte[] parcelable2Bytes(final Parcelable parcelable) {
  if (parcelable == null) return null;
  Parcel parcel = Parcel.obtain();
  parcelable.writeToParcel(parcel, 0);
  byte[] bytes = parcel.marshall();
  parcel.recycle();
  return bytes;
}

代码示例来源:origin: vipulasri/Artisto_capstone

public static byte[] marshall(Parcelable parceable) {
  Parcel parcel = Parcel.obtain();
  parceable.writeToParcel(parcel, 0);
  byte[] bytes = parcel.marshall();
  parcel.recycle();
  return bytes;
}

代码示例来源:origin: goeasyway/EasyPlug

public static byte[] marshall(Parcelable parceable) {
  Parcel parcel = Parcel.obtain();
  parceable.writeToParcel(parcel, 0);
  byte[] bytes = parcel.marshall();
  parcel.recycle(); // not sure if needed or a good idea
  return bytes;
}

代码示例来源:origin: square1-io/rich-text-android

public static byte[] marshall(Parcelable parcelable) {
  Parcel parcel = Parcel.obtain();
  parcel.setDataPosition(0);
  parcelable.writeToParcel(parcel,0);
  byte[] bytes = parcel.marshall();
  parcel.recycle(); // not sure if needed or a good idea
  return bytes;
}

代码示例来源:origin: renyuneyun/Easer

public static Parcel writeToParcel(Parcelable parcelable) {
    Parcel parcel = Parcel.obtain();
    parcelable.writeToParcel(parcel, 0);
    parcel.setDataPosition(0);
    return parcel;
  }
}

代码示例来源:origin: darkskygit/VirtualApp

private static ScanResult cloneScanResult(Parcelable scanResult) {
  Parcel p = Parcel.obtain();
  scanResult.writeToParcel(p, 0);
  p.setDataPosition(0);
  ScanResult newScanResult = Reflect.on(scanResult).field("CREATOR").call("createFromParcel", p).get();
  p.recycle();
  return newScanResult;
}

代码示例来源:origin: tslamic/premiumer

static <T extends Parcelable> T fromParcel(T src, Parcelable.Creator<T> creator) {
  final Parcel parcel = Parcel.obtain();
  src.writeToParcel(parcel, 0);
  parcel.setDataPosition(0);
  return creator.createFromParcel(parcel);
 }
}

代码示例来源:origin: bzsome/VirtualApp-x326

private static ScanResult cloneScanResult(Parcelable scanResult) {
  Parcel p = Parcel.obtain();
  scanResult.writeToParcel(p, 0);
  p.setDataPosition(0);
  ScanResult newScanResult = Reflect.on(scanResult).field("CREATOR").call("createFromParcel", p).get();
  p.recycle();
  return newScanResult;
}

相关文章