当前位置:首页 > 开发 > 开源软件 > 正文

Android之SQlite数据库

发表于: 2013-12-25   作者:aoyouzi   来源:转载   浏览次数:
摘要: 使用数据库 SQlite数据库。 Android数据库的实现峰两个层次。在底层通过C++调用SQlite执行SQL语句,通过JNI向上暴露Java接口。 在框架层,提供Java类库,实现数据库的访问,并控制数据和连接。Android在Java逻辑层通过数据窗口实现对数据库中数据的读取。 应用查询数据时,Android并不会一次性从数据库取出所有数据,而是构建一个数据窗口来实现动态映射部分数

使用数据库

SQlite数据库。

Android数据库的实现峰两个层次。在底层通过C++调用SQlite执行SQL语句,通过JNI向上暴露Java接口。

在框架层,提供Java类库,实现数据库的访问,并控制数据和连接。AndroidJava逻辑层通过数据窗口实现对数据库中数据的读取。

应用查询数据时,Android并不会一次性从数据库取出所有数据,而是构建一个数据窗口来实现动态映射部分数据行,将这些数据行从数据库读取出来并放在缓存在上层对象中,如果应用需要的数据正好在窗口的映射范围内,Java逻辑层会立刻从缓存中读取并返回;没有命中则通过JNI接口去数据库实时读取。

数据行的位置会根据范围不断调整,通过后台线程,异步预先从数据库读取,并更新缓存。

 

数据库的使用

SQliteDatabase表示数据库对象,提供2种模式实现增删改查。

最原始模式

利用SQL语句,调用SQliteDatabase.execSQlSQliteDatabase.rawquery执行。

Android提倡结构化描述数据。使用ContentValue对象。

 

支持预编译:SQliteStatement ssh= db.compileStatementSql

Ssh.execute();

 

支持数据库事物操作。Db.beginTransaction();db.endT ransaction()

 

为了帮助开发者更好的使用SQliteDatabase,提供了SQliteOpenHelper,封装了SQliteDatabase类。开发者通过SQliteOpenHelper.getReadableDataBaseSQliteOpenHelper.getWriteableDataBase获取SQliteDatabase对象。

 

并发问题

 

Android SQlite底层设计中,对文件读写进行加锁。在开发中要保证同时访问SQliteDatabase的仅有一个。

Android之SQlite数据库

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据
在android系统中使用的是sqlite数据库,前面的简易登录系统已经讲述了数据库的应用。本例的重点是实
  SQLite是一款开源的,嵌入式关系型数据库,它没有独立运行的进程,它与所服务的应用在应用程序进
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目
声明:学习的书籍《Android应用开发揭秘》,这里记录学习该书籍的日志,引用的相关代码与总结描述,
雨松MOMO带你走进游戏开发的世界之数据库SQLite 详细介绍 雨松MOMO原创文章如转载,请注明:转载自
效果图: 1.开始——运行——输入cmd ,输入adb shell,错误:一是“adb不是内部命令或外部命令,也
SQLite开源轻量级数据库,支持92-SQL标准,主要用于嵌入式系统,只占几百K系统资源此外,SQLite 不
本文围绕以下两个部分展开: 一、SQLite数据库 二、案例:SQLite数据库实现增删改查 附 代码补充 一
DatabaseOpenHelper.java: package com.iaiai.activity; import android.content.Context; import an
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号