(android-001)非基本类型实现Parcelable使用

//实体bean

package org.mo.common.util.entity;

import java.util.Date;

import android.os.Parcel;
import android.os.Parcelable;

/**
 * 
 * @author moziqi
 * 
 */
public class BeanDemo implements Parcelable {

	private Integer id;
	private String name;
	private Date createTime;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Override
	public String toString() {
		return "BeanDemo [id=" + id + ", name=" + name + ", createTime="
				+ createTime + "]";
	}

	@Override
	public int describeContents() {
		return 0;
	}

	@Override
	public void writeToParcel(Parcel dest, int flags) {
		// 序列化
		dest.writeInt(id);
		dest.writeString(name);
		dest.writeSerializable(createTime);
	}

	public static final Parcelable.Creator<BeanDemo> CREATOR = new Creator<BeanDemo>() {

		@Override
		public BeanDemo[] newArray(int size) {
			return new BeanDemo[size];
		}

		@Override
		public BeanDemo createFromParcel(Parcel source) {
			// 网上说一定要按顺序来写
			// 必须按成员变量声明的顺序读取数据,不然会出现获取数据出错
			// 反序列化
			BeanDemo beanDemo = new BeanDemo();
			beanDemo.setId(source.readInt());
			beanDemo.setName(source.readString());
			// 查看Date的父类是Serializable
			beanDemo.setCreateTime((Date) source.readSerializable());
			return beanDemo;
		}
	};
}

//对应的一个table类

package org.mo.common.util.table;

public class BaseTABLE {
	public final static String ID = "_id";
}

//

package org.mo.common.util.table;

public class BeanDemoTABLE extends BaseTABLE {
	public final static String NAME = "name";
	public final static String CREATE_TIME = "create_time";
}
时间: 2024-10-22 10:29:18

(android-001)非基本类型实现Parcelable使用的相关文章

Android java传递int类型数组给C

接着前面的文章<Android java传递int类型数据给C><Android java传递string类型数据给C>,继续实践 实现public native int[] arrElementsIncrease(int[] intArray); 项目布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sc

Android自动化压力测试之Monkey Test Android常见的错误类型及黑白名单的使用方法(四)

Android常见的错误类型有两种 1.ANR类型 1)在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸) 2)BroadcastReceiver在10秒内没有执行完毕 2.Crash类型 1)异常停止 2)异常退出 Monkey 调试参数 --kill-process-after-error  犹豫一个错误而停止时,出错的应用程序将继续处于运行状态 --wait-dbg   启动monkey后,先中断其运行,等待调试器附加上来 命令演示 adb shell monkey -p com.da

未经处理的异常在 System.Data.dll 中发生。其他信息:在应使用条件的上下文(在 &#39;***&#39; 附近)中指定了非布尔类型的表达式。

机房收费系统中,有些人在联合查询这个模块用的是存储过程,我先尝试着在数据库中建立了一个视图,然后在UI层做个判断并生成查询条件strCondition. 在机房收费系统的"联合查询"模块中出现的问题:"System.Data.SqlClient.SqlException"类型的未经处理的异常在 System.Data.dll 中发生.其他信息: 在应使用条件的上下文(在 '@strCondition' 附近)中指定了非布尔类型的表达式. 出错的DAL层代码为: Pu

Android java传递string类型数据给C

本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法,具体意义后面的文章将介绍 /** * 把一个jstring转换成一个c语言的char* 类型. */ char* _JString2CStr(JNIEnv* env, jstring jstr) { char* rtn = NULL; jclass clsstring = (*env)->FindCla

非托管类型转换为托管类型对照表

Wtypes.h 中的非托管类型 非托管 C 语言类型 托管类名称 描述 句柄 void* [ T:System.IntPtr ] 在 32 位 Windows 操作系统上为 32 位.在 64 位 Windows 操作系统上为 64 位. BYTE unsigned char [ T:System.Byte ] 8 位 SHORT short [ T:System.Int16 ] 16 位 WORD unsigned short [ T:System.UInt16 ] 16 位 INT int

未经处理的异常在 System.Data.dll 中发生。其它信息:在应使用条件的上下文(在 &amp;#39;***&amp;#39; 附近)中指定了非布尔类型的表达式。

机房收费系统中,有些人在联合查询这个模块用的是存储过程,我先尝试着在数据库中建立了一个视图,然后在UI层做个推断并生成查询条件strCondition. 在机房收费系统的"联合查询"模块中出现的问题:"System.Data.SqlClient.SqlException"类型的未经处理的异常在 System.Data.dll 中发生.其它信息: 在应使用条件的上下文(在 '@strCondition' 附近)中指定了非布尔类型的表达式. 出错的DAL层代码为: Pu

Android在非UI线程中更新UI的方法

1.使用Thread+Handler实现非UI线程更新UI界面 private MyHandler mHandler = new MyHandler(); ...... mHandler.sendResult(MyHandler.UPDATE_VIEW, null); ...... private class MyHandler extends Handler{ private static final int UPDATE_VIEW = 0; @Override public void han

Android Sqlite对Date类型操作总结

首先,sqlite数据库在时间处理上和sqlserver还有oracle不同,下面根据自己做过的实例总结一下. 创建了一个Log数据表: LogID SourceID OperatorID LogType LogLevel LogTime              LogContent 1 aaa.aspx 0 2 1 2011-08-18 16:44:32.000 aaaa 2 bbb.aspx 1 2 2 2011-08-18 16:38:32.000 bbbb 3 ccc.aspx 2 3

List.sort非数值类型排序

很多人可能喜欢Linq的orderBy排序,可惜U3D里面linq在Ios上会报错,所以就必须使用list的排序. 其实理解了并不难 sort有三种结果 1,-1,0分别是大,小,相等 升序降序比较 默认List的排序是升序排序 如果要降序排序,也很简单,只需要在前面加一个负号 List<int> tmp = new List<int>(){5,1,22,11,4}; tmp.Sort((x, y) => -x.CompareTo(y)); Console.WriteLine