在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n)、char(n)、decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型。 SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。SQLite可以解析大部分标准SQL语句。

例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。 但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段保存除整数以外的数据时,将会产生错误。 另外, SQLite 在解析CREATE TABLE 语句时,会忽略 CREATETABLE 语句中跟在字段名后面的数据类型信息,如下面语句会忽略 name字段的类型信息:

CREATE TABLE person (personid integerprimary key autoincrement, name varchar(20))

比如我们创建一个保存个人信息的数据库。首先我们要创建一个类继承SQLiteOpenHelper.如下图:

其构造方法中的四个构造参数的含义如下:

context:上下文

name:数据库文件名

factory:游标(cursor)对象,即结果集指针。可以为null,为null时将使用系统默认的游标对象。

Version:数据库的版本号,其数值必须大于等于1,否则会抛出异常。

在super中设置各参数:

super(context,”person.db”,null,1);

上图中onCreate(SQLiteDatabase db)方法在数据库第一次被创建时调用,用于初次使用软件时生成数据库表,可以指定数据库的表结构、写入数据等。onUpgrade(SQLiteDatabase db, intoldVersion, int newVersion)方法则用于升级软件时更新数据库表结构。

我们使用onCreate(SQLiteDatabase db)方法初始化数据库的表结构。如下图:

到了这里,必要的信息已经配置完毕了,但是此时数据库还没有被创建。接下来就可以在必要的地方调用这个类了。调用该类并创建数据库方法如下:

此时在程序包内会自动创建一个名为databases的文件夹,我们创建的数据库文件就是文件夹内名为person.db的文件。

getWritableDatabase()和getReadableDatabase()方法都可以获取一个用于操作数据库的SQLiteDatabase实例。但getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若使用getWritableDatabase()打开数据库就会出错。getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。

Android下创建一个sqlite数据库相关推荐

  1. Android下创建一个输入法

    输入法是一种可以让用户输入文字的控件.Android提供了一套可扩展的输入法框架,使得应用程序可以让用户选择各种类型的输入法,比如基于触屏的键盘输入或者基于语音.当安装了特定输入法之后,用户即可在系统 ...

  2. Android Studio如何查看自己创建的SQLite数据库

    Android Studio如何查看自己创建的SQLite数据库 在学习安卓开发的时候,有时候需要建立一个SQLite数据库,在创建完之后,想要查看的时候你不知道在哪里找,并且有时候找到了也不知道如何 ...

  3. android 7 创建文件夹,Android 在 res/layout 文件夹 下创建一个 子文件夹实例

    Android 资源文件夹 Layout 文件夹 Layout 文件是存放Android的布局文件的资源文件夹,但是如果你想要在里面创建子文件夹,你会发现xml文件报错. 如何在Layout文件夹下方 ...

  4. Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,

    Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,和SVN没有关 ...

  5. android 根目录uri,如何在根目录下创建一个文件夹Android

    我需要在根目录下创建CAT_IMG文件夹,并在列表视图中检索它.但CAT_IMG文件夹不在根目录中创建.我在清单文件中添加了权限.请帮我在根目录下创建一个文件夹.如何在根目录下创建一个文件夹Andro ...

  6. android属于数据库管理系统,详细谈谈Android系统中的SQLite数据库的应用

    数据库是按照数据结构来组织.存储和管理数据的仓库,而在信息话的社会,数据库又不单单仅限与数据的相关内容,现在数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,而SQL是结 ...

  7. Android中创建一个商品展示小案例

    开发一个购物车,需要将购物车中的商品以列表的形式展示,并且还需要对购物车中的商品进行增.删.改.查操作.要实现这些功能就需要使用ListView和SQLite数据库.接下来通过一个"商品展示 ...

  8. sqlite数据库android使用教程,Android开发教程之 SQLite数据库的使用

    在开发Android应用程序时经常需要存储数据,Android系统提供了SQLite数据库,还提供了SQLiteOpenHelper类,使我们可以很方便的操作数据库.通过一个例子来说明在Android ...

  9. android:Android中用文件初始化sqlite数据库(zz)

        很多时候在应用安装初始化时,需要创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据. 这里有2个思路 1.先在本地创建一个能支持android使用的sqlite数据库文件,启动时, ...

最新文章

  1. 企业智能化升级之路:CSDN《2017-2018中国人工智能产业路线图V1.0》重磅发布
  2. 夏日php登录系统源码,夏日PHP企业管理系统 v0.1
  3. Fragment的setUserVisibleHint方法实现延时加载
  4. UIViewController详解
  5. unbutu安装搜狗输入法【转载】
  6. 信息学奥赛一本通 1173:阶乘和 | OpenJudge NOI 1.6 15 | 洛谷 P1009 [NOIP1998 普及组] 阶乘之和
  7. 编写Javascript时的注意事项
  8. 模2运算的原理 模2加法,模2减法,模2乘法,模2除法
  9. 三种方法求最大子列和
  10. 跟计算机断层扫描相关的技术,数字化X线摄影设备、计算机断层扫描设备和相关方法与流程...
  11. 钟道隆逆向英语学习法—乐在英语中
  12. 配置:生产计划参数文件
  13. 精致女生必备6款实用app 这几款你值得拥有
  14. 虚幻4和Unity3D应该学哪个?
  15. 为 a.out 举行一个特殊的告别仪式
  16. React 源码系列 | React Context 详解
  17. 【RTX操作系统教程】第4章 RTX操作系统介绍
  18. outlook服务器无法搜索邮件,outlook2010无法搜索解决方法
  19. 打印机虚拟服务器,FinePrint_服务器版虚拟打印机程序 V6.13 Server 英文版
  20. 人脑认知计算模型简介(上)

热门文章

  1. Windows下使用phpstudy安装edusoho
  2. Simulink仿真问题汇总
  3. Java并发系列一《线程池原理》
  4. 每个小型企业都需要的SEO搜索引擎优化
  5. Android 多aar合并为一个aar
  6. 读书笔记《学习之道》芭芭拉·奥克利 - 二 个人梳理
  7. pytorch中Tensor和ToTensor
  8. Python写一个自动发送直播弹幕的工具,非常简单
  9. linux mysqli模块,Linux 安装mysqli扩展
  10. php抓取新浪微博数据抓取,php获取新浪微博数据API实例