由于有个项目需要作离线数据保存,Sqlite当然是最理想的选择。起初以为跟传统数据库一样将字符类型的字段定义类型为string,结果保存“000”这样的数值,取出时变为"0"。
后来查阅资料后发现sqlite支持的数据类型实在太少,string是不被支持的,自动变为none类型,none类型是sqlite根据数值自动选择保存类型,遇上000就认为是数值0了。
string类型,在sqlite中应该用text类型表示,text类型才是被真正支持的啊,如下表。
但,在android层面上DATETIME也不能表示为numeric,因为ContentValues不支持numeric。我是通过将Date类型转为long类型再储存。