Android下创建一个sqlite数据库
在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数据库相关推荐
- Android下创建一个输入法
输入法是一种可以让用户输入文字的控件.Android提供了一套可扩展的输入法框架,使得应用程序可以让用户选择各种类型的输入法,比如基于触屏的键盘输入或者基于语音.当安装了特定输入法之后,用户即可在系统 ...
- Android Studio如何查看自己创建的SQLite数据库
Android Studio如何查看自己创建的SQLite数据库 在学习安卓开发的时候,有时候需要建立一个SQLite数据库,在创建完之后,想要查看的时候你不知道在哪里找,并且有时候找到了也不知道如何 ...
- android 7 创建文件夹,Android 在 res/layout 文件夹 下创建一个 子文件夹实例
Android 资源文件夹 Layout 文件夹 Layout 文件是存放Android的布局文件的资源文件夹,但是如果你想要在里面创建子文件夹,你会发现xml文件报错. 如何在Layout文件夹下方 ...
- Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,
Android Studio SVN配置忽略文件 1.用Android Studio创建一个项目,会在根目录和Module目录下自动生成.gitignore文件,貌似是Git的配置文件,和SVN没有关 ...
- android 根目录uri,如何在根目录下创建一个文件夹Android
我需要在根目录下创建CAT_IMG文件夹,并在列表视图中检索它.但CAT_IMG文件夹不在根目录中创建.我在清单文件中添加了权限.请帮我在根目录下创建一个文件夹.如何在根目录下创建一个文件夹Andro ...
- android属于数据库管理系统,详细谈谈Android系统中的SQLite数据库的应用
数据库是按照数据结构来组织.存储和管理数据的仓库,而在信息话的社会,数据库又不单单仅限与数据的相关内容,现在数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,而SQL是结 ...
- Android中创建一个商品展示小案例
开发一个购物车,需要将购物车中的商品以列表的形式展示,并且还需要对购物车中的商品进行增.删.改.查操作.要实现这些功能就需要使用ListView和SQLite数据库.接下来通过一个"商品展示 ...
- sqlite数据库android使用教程,Android开发教程之 SQLite数据库的使用
在开发Android应用程序时经常需要存储数据,Android系统提供了SQLite数据库,还提供了SQLiteOpenHelper类,使我们可以很方便的操作数据库.通过一个例子来说明在Android ...
- android:Android中用文件初始化sqlite数据库(zz)
很多时候在应用安装初始化时,需要创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据. 这里有2个思路 1.先在本地创建一个能支持android使用的sqlite数据库文件,启动时, ...
最新文章
- 企业智能化升级之路:CSDN《2017-2018中国人工智能产业路线图V1.0》重磅发布
- 夏日php登录系统源码,夏日PHP企业管理系统 v0.1
- Fragment的setUserVisibleHint方法实现延时加载
- UIViewController详解
- unbutu安装搜狗输入法【转载】
- 信息学奥赛一本通 1173:阶乘和 | OpenJudge NOI 1.6 15 | 洛谷 P1009 [NOIP1998 普及组] 阶乘之和
- 编写Javascript时的注意事项
- 模2运算的原理 模2加法,模2减法,模2乘法,模2除法
- 三种方法求最大子列和
- 跟计算机断层扫描相关的技术,数字化X线摄影设备、计算机断层扫描设备和相关方法与流程...
- 钟道隆逆向英语学习法—乐在英语中
- 配置:生产计划参数文件
- 精致女生必备6款实用app 这几款你值得拥有
- 虚幻4和Unity3D应该学哪个?
- 为 a.out 举行一个特殊的告别仪式
- React 源码系列 | React Context 详解
- 【RTX操作系统教程】第4章 RTX操作系统介绍
- outlook服务器无法搜索邮件,outlook2010无法搜索解决方法
- 打印机虚拟服务器,FinePrint_服务器版虚拟打印机程序 V6.13 Server 英文版
- 人脑认知计算模型简介(上)