java 的离线数据表的数据类型很弱。java for android 几乎就没有了。
他操作数据库的方法非常类似ADO时代。但没有了数据连接这个数据类型了(sqlite是文件数据库,android目前只支持这一种,还不支持远程数据库SO这个数类型也就无所了)一个DataBase数据类型,一个Cursor用于读取数据。ADO跟这个类似,也没有离线数据数据类型。读写都是在线模式。
习惯了离线数据的程序写法,使用Android的Sqlite操作真的不方便。后来自己索性操作了模仿ADO.NET封装DataTable,DataRow,DataAdapter。
因为单位原因,不方便直接把源码释出,也懒得修改后释出。就提供一下思想吧。
其实我并没有封装成通用的数据类库。而是利用java集合的泛型进行操作的。
DataRow是一个根据表的字段,而封装成员的内。我个人把其封装为DataTable的类中类。
DataTable的主要成员是一个ArrayList<DataRow>的集合。另外封装了toXmlString(),toString()这类常用方法。
DataAdapter负责打开操作database数据类型进行sql查询、更新和把查询后的cursor写入DataTable中也就是fill操作。
最后建议让DataTable 与DataRow继承实现以下Serializable接口。这样在窗口传递时用就可以Intent传递DataTable了。