日期:2014-05-16  浏览次数:20464 次

在电脑上制作sqlite数据库时应该注意的问题
       基于项目的需要,我们在实际开发中常常遇到需要在apk中打包好已经已有的数据库资源,然后在app安装启动后将其用Java io流复制到SD卡或者手机内存中,最后在代码中SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(databasepath, null);即可使用数据库。当然由于是在PC上制作所需的sqlite db数据库,所以我们还是有几点需要注意:
       1.找一个好的sqlite工具,虽然目前有很多的sqlite数据库工具,但是有的功能单一,有的编码支持有限,有的不支持其他数据格式导入导出。。。所以在工具选择上我们就不能大意,个人推荐Navicat Premium,这个工具支持大多数常用数据库,包括sqlite,而且功能不是一般的强大,足够满足你的需求,当然,足够强大的还有他的价钱T-T,不过网络上有破解版可以试试,正版软件也可以试用一段时间。。。

       2.如果需要插入的数据在Execl里面的话,可以另存为CSV格式的文本文件(很多数据库也可以直接直接导出CSV格式的数据),我们来看一下它的结构:试用windows自带的记事本打开CSV格式文本,我们会看见这样的数据这种数据排列结构类似数据库表的存储结构,所以可以很容易的插入到数据库中,有的sqlite工具可以直接导入CSV格式数据,我在导入数据的时候是旁边的JAVA程序员帮忙写了一个类(向数据库中插入数据),由于里面用到了公司的一些东西,所以不方面公开,大家可以自己琢磨下;

      3.注意另存为的时候编码应该为UTF-8的格式,否则极易产生乱码情况, 

     4.sqlite工具在你创建完数据库之后会默认生成一个sqlite_sequence的表,这个表大家不用管它,也无法删除它;
      5.这一点很重要,在自己创建的数据库表中必须以“_id”作为主键,并且必须是小写,这是由于android在内部创建sqlite数据库时会自动默认以“_id”为主键,如果不以它为主键,则会报错,大家需注意,

      6.由于使用的sqlite的工具不同,大家在创建完数据库之后,可能会发现其所创建的数据库后缀不是.db,而是其他的格式,例如:s3db,这个是不要紧的,使用的时候我们可以直接将后缀改为.db即可,另外在程序中使用这种后缀也是没有问题的。
      7.在电脑上制作完sqlite数据库之后即可将制作好的数据库文件复制到assets目录或者res/raw目录即可,另外在apk打包期间也会对数据库进行一下压缩。


       好了,本文到此结束,大家如果有建议或者意见,欢迎回复,谢谢。