Android数据库分库与全量更新
设计一套app的文件存储架构和用户登录体系来支持不同的业务需要,要求拓展性好,原理清晰简单;本文以实现多用户登陆为例,通过数据库分库和数据库全版本升级,来展示APP数据库架构设计与更新
需求:
APP支持多用户切换登陆;
多用户的信息通过数据库存储本地,数据库支持升级,拓展性强,不同用户信息不会相互影响;
技术实现:
1、新建一个总数据库,用来存储所有用户的列表;
2、不同用户登录时,新建一个该用户的文件夹(不是数据库,这样该用户拥有的其它类型数据也可以存到这个文件夹下);文件夹下新建用户对应的数据库
3、不同用户登录时,查找总表,有用户数据,修改状态为登录,没有该用户,插入该用户;将其它用户的状态设置为未登陆,新建一个工具类,提供所有用户列表和当前登陆的用户;
4、app的有多个迭代版本,数据库的更新、新建语句复杂;将所有数据库操作语句分类存到一个脚本(xml)文件中去;解析文件,根据不同版本,来拼接数据库操作语句;
5、Android中数据库不支持直接修改列的字段名称
数据库全量升级:
1、备份数据库
2、修改数据库的表名
3、在数据库中创建新的表
4、将数据从旧的表中拷贝到新表中去
5、删除备份数据库,旧表