当前位置: 首页>>代码示例>>Java>>正文


Java Parcelable.writeToParcel方法代码示例

本文整理汇总了Java中android.os.Parcelable.writeToParcel方法的典型用法代码示例。如果您正苦于以下问题:Java Parcelable.writeToParcel方法的具体用法?Java Parcelable.writeToParcel怎么用?Java Parcelable.writeToParcel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.os.Parcelable的用法示例。


在下文中一共展示了Parcelable.writeToParcel方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: marshall

import android.os.Parcelable; //导入方法依赖的package包/类
public static byte[] marshall(Parcelable parceable) {
    Parcel parcel = Parcel.obtain();
    parceable.writeToParcel(parcel, 0);
    byte[] bytes = parcel.marshall();
    parcel.recycle();
    return bytes;
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:8,代码来源:ParcelableUtil.java

示例2: parcelable2Bytes

import android.os.Parcelable; //导入方法依赖的package包/类
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;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:9,代码来源:CacheUtils.java

示例3: serialize

import android.os.Parcelable; //导入方法依赖的package包/类
public static byte[] serialize(Parcelable parceable) {
  Parcel parcel = Parcel.obtain();
  parceable.writeToParcel(parcel, 0);
  byte[] bytes = parcel.marshall();
  parcel.recycle();
  return bytes;
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:8,代码来源:ParcelUtil.java

示例4: parcelable2Bytes

import android.os.Parcelable; //导入方法依赖的package包/类
private static byte[] parcelable2Bytes(Parcelable parcelable) {
    if (parcelable == null) return null;
    Parcel parcel = Parcel.obtain();
    parcelable.writeToParcel(parcel, 0);
    byte[] bytes = parcel.marshall();
    parcel.recycle();
    return bytes;
}
 
开发者ID:pan2yong22,项目名称:AndroidUtilCode-master,代码行数:9,代码来源:CacheUtils.java

示例5: parcelable2Bytes

import android.os.Parcelable; //导入方法依赖的package包/类
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;
}
 
开发者ID:imliujun,项目名称:LJFramework,代码行数:11,代码来源:CacheUtils.java

示例6: cloneScanResult

import android.os.Parcelable; //导入方法依赖的package包/类
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;
}
 
开发者ID:coding-dream,项目名称:TPlayer,代码行数:9,代码来源:WifiManagerStub.java

示例7: parcelableWriteToParcel

import android.os.Parcelable; //导入方法依赖的package包/类
public static Parcel parcelableWriteToParcel(Parcelable instance) {
    Parcel parcel = Parcel.obtain();
    instance.writeToParcel(parcel, 0);
    return parcel;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:6,代码来源:ParcelUtils.java

示例8: getProgressInfo

import android.os.Parcelable; //导入方法依赖的package包/类
private ProgressInfo getProgressInfo(String id, Notification n) {
    if (id == null || n == null) return null;

    ProgressInfo pInfo = new ProgressInfo(id, false, 0, 0);

    // We have to extract the information from the content view
    RemoteViews views = n.bigContentView;
    if (views == null) views = n.contentView;
    if (views == null) return pInfo;

    try {
        @SuppressWarnings("unchecked")
        List<Parcelable> actions = (List<Parcelable>) 
            XposedHelpers.getObjectField(views, "mActions");
        if (actions == null) return pInfo;

        for (Parcelable p : actions) {
            Parcel parcel = Parcel.obtain();
            p.writeToParcel(parcel, 0);
            parcel.setDataPosition(0);

            // The tag tells which type of action it is (2 is ReflectionAction)
            int tag = parcel.readInt();
            if (tag != 2)  {
                parcel.recycle();
                continue;
            }

            parcel.readInt(); // skip View ID
            String methodName = parcel.readString();
            if ("setMax".equals(methodName)) {
                parcel.readInt(); // skip type value
                pInfo.max = parcel.readInt();
                if (DEBUG) log("getProgressInfo: total=" + pInfo.max);
            } else if ("setProgress".equals(methodName)) {
                parcel.readInt(); // skip type value
                pInfo.progress = parcel.readInt();
                pInfo.hasProgressBar = true;
                if (DEBUG) log("getProgressInfo: current=" + pInfo.progress);
            }

            parcel.recycle();
        }
    } catch (Throwable  t) {
        XposedBridge.log(t);
    }

    return pInfo;
}
 
开发者ID:WrBug,项目名称:GravityBox,代码行数:50,代码来源:ProgressBarController.java

示例9: createFromParcelable

import android.os.Parcelable; //导入方法依赖的package包/类
/**
 * 根据Parcelable对象,构造出适合在任何地方使用的Parcel对象
 * 该方法可杜绝ClassCastException异常
 * <p>
 * 注意:
 * 用完必须调用p.recycle方法
 * <p>
 * Before:
 * <pre class="prettyprint">\
 * // ERROR: Might be "ClassCastException" Error
 * XXX x = intent.getParcelableExtra("XXX");
 * </pre>
 * <p>
 * After:
 * <pre class="prettyprint">
 * Parcelable pa = intent.getParcelableExtra("XXX");
 * Parcel p = ParcelUtils.createFromParcelable(pa);
 * <p>
 * // Create a new XXX object to avoid "ClassCastException"
 * XXX x = new XXX(p);
 * </pre>
 * <p>
 * 原因:
 * 即使包名、类名完全相同,若ClassLoader对象不同,则仍会抛出类型转换异常
 * 因此需要将其“重新”生成一份,等于用不同的ClassLoader生成两个对象,自然避免该问题
 * <p>
 * 常见于BroadcastReceiver中的Bundle,系统在判断源进程和目标进程一致时,会“透传”Bundle过来,
 * 故就算设置了setClassLoader,也不会做unparcel,自然也就会导致ClassCastException了
 *
 * @param pa 要构造的Parcelable对象
 * @return 可被构造函数使用的Parcel对象
 */
public static Parcel createFromParcelable(Parcelable pa) {
    if (pa == null) {
        return null;
    }

    Parcel p = Parcel.obtain();
    pa.writeToParcel(p, 0);
    p.setDataPosition(0);

    return p;
}
 
开发者ID:wangyupeng1-iri,项目名称:springreplugin,代码行数:44,代码来源:ParcelUtils.java


注:本文中的android.os.Parcelable.writeToParcel方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。