下面列出了android.os.Parcel#writeArray ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
protected void onWriteToParcel(Parcel dest, int flags) {
dest.writeInt(mMode);
switch (mMode) {
case MODE_MESSAGE:
dest.writeValue(mMessage);
break;
case MODE_ITEMS:
dest.writeArray(mItems);
dest.writeInt(mSelectedIndexes == null ? 0 : mSelectedIndexes[0]);
break;
case MODE_MULTI_ITEMS:
dest.writeArray(mItems);
int length = mSelectedIndexes == null ? 0 : mSelectedIndexes.length;
dest.writeInt(length);
if (length > 0) dest.writeIntArray(mSelectedIndexes);
break;
}
}
@Override
public void writeToParcel(Parcel parcel, int i)
{
parcel.writeString(address);
parcel.writeString(name);
parcel.writeString(balance);
parcel.writeString(symbol);
int opWrite = operation.ordinal();
parcel.writeInt(opWrite);
parcel.writeInt(type);
parcel.writeString(otherParty);
if (indices != null)
{
parcel.writeInt(indices.size());
parcel.writeArray(indices.toArray());
}
else
{
parcel.writeInt(0);
}
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.age);
dest.writeLong(this.id);
dest.writeInt(this.testShort);
dest.writeByte(this.testByte);
dest.writeByte(this.testBoolean ? (byte) 1 : (byte) 0);
dest.writeFloat(this.testFloat);
dest.writeDouble(this.testDouble);
dest.writeInt(this.testChar);
dest.writeValue(this.testLONG);
dest.writeValue(this.testDOUBLE);
dest.writeSerializable(this.testCharacter);
dest.writeValue(this.testBOOLEAN);
dest.writeValue(this.testSHORT);
dest.writeString(this.name);
dest.writeParcelable(this.data, flags);
dest.writeTypedList(this.datas);
dest.writeTypedArray(this.testArrayResultData, flags);
dest.writeIntArray(this.testArrayInt);
dest.writeArray(this.testArrayInteger);
}
@Override
protected void onWriteToParcel(Parcel dest, int flags) {
dest.writeInt(mMode);
switch (mMode){
case MODE_MESSAGE:
dest.writeValue(mMessage);
break;
case MODE_ITEMS:
dest.writeArray(mItems);
dest.writeInt(mSelectedIndexes == null ? 0 : mSelectedIndexes[0]);
break;
case MODE_MULTI_ITEMS:
dest.writeArray(mItems);
int length = mSelectedIndexes == null ? 0 : mSelectedIndexes.length;
dest.writeInt(length);
if(length > 0)
dest.writeIntArray(mSelectedIndexes);
break;
}
}
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeString(echoHost);
dest.writeString(target);
dest.writeInt(MIN);
dest.writeInt(MAX);
dest.writeInt(port);
dest.writeInt(size);
dest.writeInt(sizeGranularity);
dest.writeByte((byte) (DNS ? 1 : 0));
dest.writeByte((byte) (HTTP ? 1 : 0));
dest.writeByte((byte) (TCP ? 1 : 0));
dest.writeByte((byte) (RRC ? 1 : 0));
dest.writeByte((byte) (SIZES ? 1 : 0));
dest.writeByte((byte) (RESULT_VISIBILITY ? 1 : 0));
dest.writeInt(GIVEUP_THRESHHOLD);
dest.writeArray(times);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeArray(mArgs);
dest.writeString(mMessage);
dest.writeInt(mRessourceId);
dest.writeInt(mLevel.getInt());
dest.writeInt(mVerbosityLevel);
dest.writeLong(logtime);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeArray(mArgs);
dest.writeString(mMessage);
dest.writeInt(mRessourceId);
dest.writeInt(mLevel.getInt());
dest.writeInt(mVerbosityLevel);
dest.writeLong(logtime);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeInt(balanceArray.size());
dest.writeInt(contractType.ordinal());
if (balanceArray.size() > 0) dest.writeArray(balanceArray.toArray());
}
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeInt(balanceArray.size());
dest.writeInt(contractType.ordinal());
if (balanceArray.size() > 0) dest.writeArray(balanceArray.toArray());
}
@Override
public void writeToParcel(Parcel dest, int flags)
{
dest.writeArray(range.tokenIds.toArray());
dest.writeInt(range.isChecked ? 1:0);
dest.writeString(range.contractAddress);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeArray(mArgs);
dest.writeString(mMessage);
dest.writeInt(mRessourceId);
dest.writeInt(mLevel.getInt());
dest.writeInt(mVerbosityLevel);
dest.writeLong(logtime);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.packageName);
dest.writeString(this.className);
dest.writeStringArray(this.sParamsType);
dest.writeArray(this.params);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.serviceName);
dest.writeString(this.methodName);
dest.writeStringArray(this.sParamsType);
dest.writeArray(this.params);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeArray(mArgs);
dest.writeString(mMessage);
dest.writeInt(mRessourceId);
dest.writeInt(mLevel.getInt());
dest.writeInt(mVerbosityLevel);
dest.writeLong(logtime);
}
@Override public void writeToParcel(final Parcel dest, final int flags) {
if ((flags & PARCELABLE_WRITE_RETURN_VALUE) == 0) {
dest.writeString(clazz);
dest.writeArray(args);
} else {
dest.writeValue(result);
dest.writeSerializable(throwable);
}
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeArray(mArgs);
dest.writeString(mMessage);
dest.writeInt(mRessourceId);
dest.writeInt(mLevel.getInt());
dest.writeInt(mVerbosityLevel);
dest.writeLong(logtime);
}
public Tag mockTag(String technology) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException {
// For future reference
// Parameters :
byte[] b = {0x8};
String ndefClass = "android.nfc.tech.Ndef";
// FieldName which marks the capacity of the tag
String extraNdefMaxlength = (String) Class.forName(ndefClass).getField("EXTRA_NDEF_MAXLENGTH").get(null);
// FieldName which marks the tags writability
String cardWritableStateField = (String) Class.forName(ndefClass).getField("EXTRA_NDEF_CARDSTATE").get(null);
// Field to mark tag R/W
int cardWritable = Class.forName(ndefClass).getField("NDEF_MODE_READ_WRITE").getInt(null);
Bundle techExtras = new Bundle();
techExtras.putInt(extraNdefMaxlength, 2048);
techExtras.putInt(cardWritableStateField, cardWritable);
Bundle[] extras = {techExtras};
int[] technologies = {TagTechnology.class.getField(technology.toUpperCase()).getInt(null)}; //https://android.googlesource.com/platform/frameworks/base.git/+/android-4.3_r2/core/java/android/nfc/tech/TagTechnology.java
// https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/nfc/Tag.java :376
Parcel parcel = Parcel.obtain();
parcel.writeByteArray(b); //Sets the ID
parcel.writeIntArray(technologies); // Sets the technology to NDEF
parcel.writeArray(extras); // Needed to set properties for NDEF tag
parcel.writeInt(1); // Service handle
parcel.writeInt(1); // Indicating a mock
return Tag.CREATOR.createFromParcel(parcel);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeArray(mArgs);
dest.writeString(mMessage);
dest.writeInt(mRessourceId);
dest.writeInt(mLevel.getInt());
dest.writeInt(mVerbosityLevel);
dest.writeLong(logtime);
}
@Override
public void writeToParcel(Parcel out, int flags) {
out.writeArray(failures.toArray());
}