SharePreferences的DB实现

存储一些简单数据的时候,最快的实现是用SharePreferences,但SharePreferences的可靠性不高,在某些非官方ROM上,总是存取失败。后来想到用数据库来存取。产品中,存取的数据项目虽然很多,但每一个数据项目都只有1-3个字段而已,所以为每一个数据项目定义表结构来存取,实在是浪费,并且这些数据项目的字段是经常要添加删除修改的,这样一来,老得修改表结构,麻烦。最后我实现了一个Key-Value表,这个表两个字段:一个叫key,一个叫value。一个key加一个value就可以插入到这个表中,实际上就相当于一个SharePreferences。这样做灵活性非常高。举例说明:

比如用户登录后要存储一下账户信息,包含两个字段:name和sex。

如果单独为这里的需求定义一个表,那就要定义一个AccountTable,包含name和sex字段,但最后只插入了一行数据。这一版发出去,下一版说要加一个字段,然后就得升级数据库,更改字段。

如果采用通用的key-value来坐,就不需要专门为这里的需求定义表,而是直接插入两条数据到key-value表中,一条是nameKey + name,一条是sexKey + sex. 以后要再加字段,就再插入一条数据,比如ageKey + age,不需要动数据库的任何东西。

全部代码在github:Key-Value Table.https://gist.github.com/Viyu/f0565c46dbcda6140415

posted @ 2016-03-17 20:06  Mosthink  阅读(142)  评论(0编辑  收藏  举报