把对象生成为Parcel类型,以及如何利用Parcel来传递Enum类型数据
来源:互联网 发布:oracle dblink mysql 编辑:程序博客网 时间:2024/05/23 02:05
public class Settings implements Parcelable { private static final String TAG = "Settings"; private Command mCommand; private DataPattern mDataPattern; private int mPredefinedData; private byte[] mCustomizedData; private String mFilePath; private int mBlockSize; private int mBlockCount; private static Settings sInstance = new Settings(); private Settings() { //default values mCommand = Command.COMMAND_TPUT; mDataPattern = DataPattern.RANDOM; mBlockSize = 512; mBlockCount = 1; } public static Settings getInstance() { return sInstance; } private Settings(Parcel in) { readFromParcel(in); } public enum Command { COMMAND_NOP, /* no operation */ COMMAND_TPUT, COMMAND_ECHO, COMMAND_LOOPBACK } public enum DataPattern { File, RANDOM, PREDEFINED, CUSTOMIZED } public static final int[] sPredefined_Datas = new int[]{ 0XAA55, 0XFFFF, 0XBBEE, 0XBEAF }; public void setCommand(Command command) { mCommand = command; } public Command getCommand() { return mCommand; } public void setDataPattern(DataPattern dataPattern) { mDataPattern = dataPattern; } public DataPattern getDataPattern() { return mDataPattern; } public void setPredefinedData(int pedefinedData) { mPredefinedData = pedefinedData; } public int getPredefinedData() { return mPredefinedData; } public void setCustomizedData(byte[] customizedData) { mCustomizedData = customizedData; } public byte[] getCustomizedData() { return mCustomizedData; } public void setFilePath(String filePath) { mFilePath = filePath; } public String getFilePath() { return mFilePath; } public void setBlockSize(int blockSize) { mBlockSize = blockSize; } public int getBlockSize() { return mBlockSize; } public void setBlockCount(int blockCount) { mBlockCount = blockCount; } public int getBlockCount() { return mBlockCount; } @Override // Parcelable public int describeContents() { return 0; } @Override // Parcelable public void writeToParcel(Parcel out, int flags) { out.writeInt(mCommand.ordinal()); out.writeInt(mDataPattern.ordinal()); out.writeInt(mPredefinedData); out.writeByteArray(mCustomizedData); out.writeString(mFilePath); out.writeInt(mBlockSize); out.writeInt(mBlockCount); } public void readFromParcel(Parcel in) { mCommand = Command.values()[in.readInt()]; mDataPattern = DataPattern.values()[in.readInt()]; mPredefinedData = in.readInt(); in.readByteArray(mCustomizedData); mFilePath = in.readString(); mBlockSize = in.readInt(); mBlockCount = in.readInt(); } public static final Parcelable.Creator<Settings> CREATOR = new Parcelable.Creator<Settings>() { @Override public Settings createFromParcel(Parcel in) { return new Settings(in); } @Override public Settings[] newArray(int size) { return new Settings[size]; } };
0 0
- 把对象生成为Parcel类型,以及如何利用Parcel来传递Enum类型数据
- Intent传递对象Parcel
- 如何把字符串转化为ENUM类型?
- 如何利用Cloudera Manager来手动安装parcel包
- 如何利用Cloudera Manager来手动安装parcel包
- Android 开发中Parcel存储类型和数据容器
- Android 开发中Parcel存储类型和数据容器
- Android 开发中Parcel存储类型和数据容器
- Parcel
- Parcel
- Parcel
- Android 用Intent 传递对象之 Parcel
- 用parcel解决intent传递大数据
- parcel 容器--IBinder parcelable--实现类--writeto parcel 传递数据 intent.put(name, parcelable)
- Android Parcel对象详解
- Android中的Parcel机制 实现Bundle传递对象
- Android中的Parcel机制 实现Bundle传递对象
- android 数据传递详解(Serialization、Parcelable、Parcel、Intent、Bundle)
- 添加dubbo xsd的支持
- Linux压缩、解压缩、查看服务等命令
- jQuery中读取json文件
- 【Linux】makefile文件编写
- 查看oracle执行计划的两种方法
- 把对象生成为Parcel类型,以及如何利用Parcel来传递Enum类型数据
- 使用spring @Scheduled注解执行定时任务
- 自定义控件——可拖拽排序的ListView
- android中的各种权限
- 数据库性能优化技巧之:变长表、定长表
- Android中的xml、json格式数据解析
- ios nil Nil Null NSNull的区别
- ios nil Nil Null NSNull的区别
- ios nil Nil Null NSNull的区别