美国上市公司

亿元级外企IT培训企业

  • 全国服务监督电话400-827-0010
IT培训 > 学习笔记 > android数据库操作优化 android数据库操作示例
  • android数据库操作优化 android数据库操作示例

    发布:IT培训 来源:学习笔记 时间:2015-11-26

  • 关于“android数据库操作优化,android数据库操作示例”的内容是不是同学们期待已久了呢,今天android培训专家整理有关android上数据库操作的文章,现在给大家分享下。

  • 关于“android数据库操作优化,android数据库操作示例”的内容是不是同学们期待已久了呢,今天android培训专家整理有关android上数据库操作的文章,现在给大家分享下。

    1.由于SQLiteDatabase对象较为耗费资源,所以我们在使用完SQLiteDatabase对象之后,必须立即关闭它,避免它继续占用资源,否则我们继续程序可能会导致OOM或者其他异常;

    2.同理,我们在使用完cursor之后也应该立即关闭cursor,避免资源浪费;

    3.我们在关闭数据库之前,必须将取得的数据保存到Map或者List中,否则关闭数据库之后,数据也会随之消失;

    4.使用明确的查询语句,在数据库的查询中避免使用select * from table这样的语句,我们一般不会用到全部的数据,但这样查询不仅浪费时间,也浪费android有限的内存,所以我们必须明确查询目标,例如:select id,name from people;

    5.在较为频繁的数据库操作中(例如批量插入数据),可以使用数据库事物来处理频繁操作(如果只有一个数据操作,则android默认使用事物);

    6.在sqlite数据库中使用索引,给经常查询的列创建索引,但索引不适用于较大的数据库,较大的数据库创建索引会耗费太多的时间,而且每次改动一条数据,整个索引都将重新创建;

    7.如果需要在pc上制作数据库db文件,推荐使用Navicat Premium,功能强大,但是费用也很强大,不过可以免费试用;

    8.制作本地数据库db文件的时候,需要使用UTF-8编码(很多pc端sqlite3工具不支持utf-8编码或者保持和系统编码一致),否者在取数据的时候会出现乱码,另外,根据我们使用的pc数据库文件不同,我们可能会生成不同的sqlite3数据库的后缀文件,例如.s3db文件,这个其实没有影响,android数据库会识别它的,如果你感觉别扭,可以手动改为.db就可以了,这也是没关系的;

    9.制作本地数据库还有一点比较重要的就是默认主键必须为“_id”并设置为自动增长,不可以是其他的,而且每个表都必须有,如果你的数据库没有这个主键,在你的app运行中会报错,日志提示缺少“_id”字段,至于为什么应用内创建数据库不会产生这样的问题,那是因为android系统默认在创建数据库的时候就是为“_id”为主键的,即使你没有写这样的创建语句;

    10.还有好多人不知道怎么将mysql或者execl中的数据导入到sqlite3数据库中,这里我提供一个思路,可以将execl另存为csv文件,大部分数据库也可以直接到处csv格式的文件,然后我们用记事本打开csv文件就会发现里面就是inert into table values();可以直接放入values的部分,可以用java程序写一个批量插入语句即可制作sqlite3 db数据库文件;

    11.制作好的sqlite3 db数据库文件应该放在项目的assets文件夹或者res/raw文件夹中,然后在app启动的过程中将数据库用java io流复制到data/data/packagename/database目录中(注意,如果你的db数据库文件较大,请放在内存卡或者其他外存中);

    12.如果你不想自己在sd卡上面的数据库被普通文件浏览器(android)直接扫描到,可以在sd中新建一个文件夹,并以”.“开头,这样的文件夹会被大部分的文件浏览器过滤掉不显示;

    13.为了防止你的db数据库文件被其他有心人获取,你也可以将自己的数据库的后缀伪装成其他文件,例如.mp3,.dat之类的,但是需要注意的是,db文件会在应用打包生成apk的时候被压缩(可以有效减少apk的体积),如果是mp3之类的文件的话,则不会被压缩,经笔者测试,改为.dat格式也是可以被压缩的,或者将db文件复制到sd卡的时候再改名为其他后缀;

    14.如果数据库中的信息比较敏感,大家也可以在加密数据之后再存入数据库,取数据的时候在应用内解密,当然网上还有一些其他的加密手段,但是这些加密无一例外的都会牺牲掉更多相应时间和内存资源,所以大家在规划app的时候必须自己考虑清楚。

    android数据库操作优化内容先介绍到这里,如果还有其他相关android数据库的知识问题可随时浏览本网站,或者咨询android培训的问题,我们随时为您解答。

  • 上一篇:安卓编程入门教程视频 安卓编程入门教程从入门到精通

    下一篇:android学习视频链接推荐 android学习视频下载

相关资讯
2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56