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


Java Parcelable.Creator方法代码示例

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


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

示例1: unmarshallParcelable

import android.os.Parcelable; //导入方法依赖的package包/类
/**
 * Unmarshalls a parcelable's byte array into the object
 *
 * @param bytes the byte array
 * @param clazz the class
 * @param <T>   the type
 * @return the object
 */
@SuppressWarnings("unchecked")
public static <T extends Parcelable> T unmarshallParcelable(byte[] bytes, Class<T> clazz) {
    if (bytes == null) {
        return null;
    }
    Parcel parcel = Parcel.obtain();
    parcel.unmarshall(bytes, 0, bytes.length);
    parcel.setDataPosition(0);

    try {
        Parcelable.Creator<? extends Parcelable> creator = (Parcelable.Creator<? extends Parcelable>) clazz.getField("CREATOR").get(null);
        return (T) creator.createFromParcel(parcel);
    } catch (Exception e) {
        throw new BadParcelableException(e);
    } finally {
        parcel.recycle();
    }
}
 
开发者ID:hortonworks,项目名称:nifi-android-s2s,代码行数:27,代码来源:SerializationUtils.java

示例2: bytes2Parcelable

import android.os.Parcelable; //导入方法依赖的package包/类
private static <T> T bytes2Parcelable(final byte[] bytes, final Parcelable.Creator<T> creator) {
    if (bytes == null) return null;
    Parcel parcel = Parcel.obtain();
    parcel.unmarshall(bytes, 0, bytes.length);
    parcel.setDataPosition(0);
    T result = creator.createFromParcel(parcel);
    parcel.recycle();
    return result;
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:10,代码来源:CacheUtils.java

示例3: parseKV

import android.os.Parcelable; //导入方法依赖的package包/类
static void parseKV(Object entity, Class<?> type, ParseKVListener listener) {
    if (entity == null || type == null || type == RequestParams.class || type == Object.class) {
        return;
    } else {
        ClassLoader cl = type.getClassLoader();
        if (cl == null || cl == BOOT_CL) {
            return;
        }
    }

    Field[] fields = type.getDeclaredFields();
    if (fields != null && fields.length > 0) {
        for (Field field : fields) {
            if (!Modifier.isTransient(field.getModifiers())
                    && field.getType() != Parcelable.Creator.class) {
                field.setAccessible(true);
                try {
                    String name = field.getName();
                    Object value = field.get(entity);
                    if (value != null) {
                        listener.onParseKV(name, value);
                    }
                } catch (IllegalAccessException ex) {
                    LogUtil.e(ex.getMessage(), ex);
                }
            }
        }
    }

    parseKV(entity, type.getSuperclass(), listener);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:32,代码来源:RequestParamsHelper.java

示例4: bytes2Parcelable

import android.os.Parcelable; //导入方法依赖的package包/类
private static <T> T bytes2Parcelable(byte[] bytes, Parcelable.Creator<T> creator) {
    if (bytes == null) return null;
    Parcel parcel = Parcel.obtain();
    parcel.unmarshall(bytes, 0, bytes.length);
    parcel.setDataPosition(0);
    T result = creator.createFromParcel(parcel);
    parcel.recycle();
    return result;
}
 
开发者ID:pan2yong22,项目名称:AndroidUtilCode-master,代码行数:10,代码来源:CacheUtils.java

示例5: bytes2Parcelable

import android.os.Parcelable; //导入方法依赖的package包/类
private static <T> T bytes2Parcelable(final byte[] bytes, final Parcelable.Creator<T> creator) {
    if (bytes == null) {
        return null;
    }
    Parcel parcel = Parcel.obtain();
    parcel.unmarshall(bytes, 0, bytes.length);
    parcel.setDataPosition(0);
    T result = creator.createFromParcel(parcel);
    parcel.recycle();
    return result;
}
 
开发者ID:imliujun,项目名称:LJFramework,代码行数:12,代码来源:CacheUtils.java

示例6: unmarshall

import android.os.Parcelable; //导入方法依赖的package包/类
public static <T> T unmarshall(byte[] bytes, Parcelable.Creator<T> creator) {
    Parcel parcel = unmarshall(bytes);
    T result = creator.createFromParcel(parcel);
    parcel.recycle();
    return result;
}
 
开发者ID:philipwhiuk,项目名称:q-mail,代码行数:7,代码来源:ParcelableUtil.java

示例7: deserialize

import android.os.Parcelable; //导入方法依赖的package包/类
public static <T> T deserialize(byte[] bytes, Parcelable.Creator<T> creator) {
  Parcel parcel = deserialize(bytes);
  return creator.createFromParcel(parcel);
}
 
开发者ID:XecureIT,项目名称:PeSanKita-android,代码行数:5,代码来源:ParcelUtil.java

示例8: getParcelable

import android.os.Parcelable; //导入方法依赖的package包/类
/**
 * 缓存中读取Parcelable
 *
 * @param key 键
 * @param creator 建造器
 * @param defaultValue 默认值
 * @return 存在且没过期返回对应值,否则返回默认值{@code defaultValue}
 */
public <T> T getParcelable(@NonNull final String key, @NonNull final Parcelable.Creator<T> creator, final T defaultValue) {
    byte[] bytes = getBytes(key);
    if (bytes == null) {
        return defaultValue;
    }
    return CacheHelper.bytes2Parcelable(bytes, creator);
}
 
开发者ID:imliujun,项目名称:LJFramework,代码行数:16,代码来源:CacheUtils.java

示例9: getParcelable

import android.os.Parcelable; //导入方法依赖的package包/类
/**
 * 缓存中读取Parcelable
 *
 * @param key     键
 * @param creator 建造器
 * @return 存在且没过期返回对应值,否则返回{@code null}
 */
public <T> T getParcelable(@NonNull final String key, @NonNull final Parcelable.Creator<T> creator) {
    return getParcelable(key, creator, null);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:11,代码来源:CacheUtils.java

示例10: getParcelable

import android.os.Parcelable; //导入方法依赖的package包/类
/**
 * 缓存中读取Parcelable
 *
 * @param key     键
 * @param creator 建造器
 * @return 存在且没过期返回对应值,否则返回{@code null}
 */
public <T> T getParcelable(@NonNull String key, @NonNull Parcelable.Creator<T> creator) {
    return getParcelable(key, creator, null);
}
 
开发者ID:pan2yong22,项目名称:AndroidUtilCode-master,代码行数:11,代码来源:CacheUtils.java


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