Android SQLite数据储存方式
SQLiteOpenHelper 类
用SQLiteOpenHelper
类中的 getWritableDatabase()
和getReadableDatabase()
方法可以获得数据库的引用。
为了实现对数据库版本进行管理,SQLiteOpenHelper
类提供了两个重要的方法,分别是 onCreate()
和 onUpgrade()
,前者用于初次使用软件时生成数据库表,后者用于升级软件时更新数据库表结构。
当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteDatabase实例的时候,如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCreate()方法。
onCreate()方法在初次生成数据库时才会被调用,在onCreate()方法里可以生成数据库表结构及添加一些应用使用到的初始化数据。
onUpgrade()方法在数据库的版本发生变化时会被调用,一般在软件升级时才需改变版本号,而数据库的版本是由程序员控制的。
假设数据库现在的版本是1,由于业务的变更,修改了数据库表结构,这时候就需要升级软件,升级软件时希望更新用户手机里的数据库表结构,为了实现这一目的,可以把原来的数据库版本设置为2,并且在onUpgrade()方法里面实现表结构的更新。
当软件的版本升级次数比较多,这时在onUpgrade()方法里面可以根据原版号和目标版本号进行判断,然后做出相应的表结构及数据更新。
SQLiteDatabase类
Android提供了一个名为 SQLiteDatabase
的类(SQLiteOpenHelper
类中的 getWritableDatabase()
和getReadableDatabase()
方法返回这个类的对象)。
SQLiteDatabase
类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。
SQLiteDatabase的学习,应该重点掌握execSQL()和rawQuery()方法。
execSQL()方法可以执行insert、delete、update和CREATE TABLE之类有更改行为的SQL语句;
rawQuery()方法用于执行select语句。
Android SQLite数据储存方式的更多相关文章
- Android下的数据储存方式(三)
Android下最好的数据储存方式:关系型数据库sqlite. 数据库的创建:使用SqliteOpenHelper类 结合SqliteOpenHelper类和SQLiteDatabase类的帮 ...
- 关系型数据库与HBase的数据储存方式差别
现在Bigtable型(列族)数据库应用越来越广,功能也非常强大. 可是非常多人还是把它当做关系型数据库在使用,用原来关系型数据库的思维建表.存储.查询. 本文以hbase举例讲述数据模式的变化. 传 ...
- Android下的数据储存方式
安卓系统默认提供了一下几种数据储存的方式: Shared Preferences 内部储存 外部储存 SQLite数据库 保存到网络服务器 使用Shared Preferences ...
- Android下的数据储存方式( 二)
在上一篇文章中我们介绍了SharedPreferences的使用方法. 今天我们继续介绍另一种储存数据的方式:使用内部储存和外部储存 每一个Android设备都拥有两个数据储存区域:外部储存和外部储存 ...
- android的数据存储方式
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 ...
- Android的数据存储方式(转)
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 ...
- 11.1 js中级,数据类型、数据储存方式、作用域内存空间的区别以及例识别。
一. 基本数据类型和引用数据类型的区别. 1.基本数据类型:基本数据类型就是简单的操作值. 2.引用数据类型:就是把引用的地址赋给变量. 堆内存: 就是存放代码块的,存放形式有两种 1)对象以键值对的 ...
- Android的数据存储方式概述
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 ...
- android sqlite 数据唯一性
sqlite在遇到数据重复的时候要做判断在插入是不是有点太麻烦了?一个好的数据库设计就可以搞定了. 当要控制唯一性的数据是主键的时候可以设置 CONSTRAINT [] PRIMARY KEY ([Q ...
随机推荐
- activity属性_ _activity 属性说明
activity是android中使用非常平凡的一种组件,我们除了需要掌握activity中的生命周期以外,还需要掌握activity中的其 他设置. 1.activity 中主题的设置 andr ...
- js 事件函数中的参数带换行符或换行标签都不能起作用的解决方法
把问题参数值赋给标签的属性data-value,通过属性值获取参数值.
- repo安装
repo是使用python开发的一个用于多版本管理的工具,可以和git协作,简化git的多版本管理. repo安装: 1.新建~/bin,并将此目录包含在path变量中(如果已存在,且已在path变量 ...
- android之Widget01
ExampleAppWidgetProvider.java package com.example.mars_2600_widget01; import android.appwidget.AppWi ...
- Git中的文件状态和使用
(暂存区 即Index In Git) commit 到 local respository的内容,不想push,则使用git reset 将文件状态回转到staged|modified|unstag ...
- java小程序
1.水仙花数 这个数等于它的每位数的立方和 (三位数) 示例一: int i; int j; int k; for (i=1;i<=9;i++) { for (j=0;j<=9;j++){ ...
- PS 的参考线
新建参考线 菜单:"视图-新建参考线", 直接输入想要位置的参考线. 参考线对齐 按住Shift键拉辅助线,辅助线会自动对齐到当前标尺的刻度上. 按住Alt ...
- 【转】SQL Server 查询表的记录数(3种方法,推荐第一种)
--SQL Server 查询表的记录数 --one: 使用系统表. SELECT object_name (i.id) TableName, rows as RowCnt FROM sysindex ...
- C#中List的Find方法的使用
查找List中的某个值,可以使用循环遍历对比,查找出结果.C#中提供了Find方法,可以直接使用,只要查找条件传入就可.如下: public class RecordInfo { private st ...
- 使用jaxp对比xml进行DOM解析
/*DOM解析编程 •遍历所有节点 •查找某一个节点 •删除结点 •更新结点 •添加节点 /* package cn.itcast.jaxp; import java.io.File; import ...