android开发之 SQLite(数据库)

   

          SQLite数据库存储:SQLite是一款轻量级的关系型数据库,它的运算速度非常快, 占用资源很少,通常只需要几百 K的内存就足够了,因而特别适合在移动设备上使用。

 

第一:

     创建一个数据库。(Android为了让我们能够更加方便地管理数据库,专门提供了一个 SQLiteOpenHelper帮 助类,借助这个类就可以非常简单地对数据库进行创建和升级。)

 

     SQLiteOpenHelper是一个抽象类,这意味着如果我们想要使用它的话, 就需要创建一个自己的帮助类去继承它。SQLiteOpenHelper 中有两个抽象方法,分别是 onCreate()

 

和 onUpgrade(),我们必须在自己的帮助类里面重写这两个方法,然后分别在这两 个方法中去实现创建、升级数据库的逻辑。

 

    SQLiteOpenHelper 中 还 有 两 个 非 常 重 要 的 实 例 方 法 , getReadableDatabase() 和 getWritableDatabase()。这两个方法都可以创建或打开一个现有的数据库(如

果数据库已存在 则直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读写操作的对象。不 同的是,当数据库不可写入的时候(如磁盘空间已满)getReadableDatabase()

方法返回的对 象将以只读的方式去打开数据库,而 getWritableDatabase()方法则将出现异常。  

 

 

   SQLiteOpenHelper中有两个构造方法可供重写,一般使用参数少一点的那个构造方法即 可。这个构造方法中接收四个参数,第一个参数是 Context,这个没什么好说的,必须要有 它才

 

能对数据库进行操作。第二个参数是数据库名,创建数据库时使用的就是这里指定的名 称。第三个参数允许我们在查询数据的时候返回一个自定义的 Cursor,一般都是传入 null。 第四个参

 

数表示当前数据库的版本号,可用于对数据库进行升级操作。构建出 SQLiteOpenHelper的实例之后,再调用它的 getReadableDatabase()或 getWritableDatabase()方 法就能够创建数

 

据库了,数据库文件会存放在/data/data/<package name>/databases/目录下。 此时,重写的 onCreate()方法也会得到执行,所以通常会在这里去处理一些创建表的逻辑。 

 

 

   

             SQLite不像其他的数据库拥有众多繁杂的数据类型,它的数据类型很简单,integer表示整型,real表示浮点型,text表示文本类型,blob表示二进制类型。

 

       

转载于:https://www.cnblogs.com/Jhin/p/5506724.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418502.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql查询重复数据

https://www.cnblogs.com/LDDXFS/p/9867928.html

前端学习(1936)vue之电商管理系统电商系统之再关闭对话框defkeys

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

[转]unity3D游戏开发之GUI

转自&#xff1a;http://blog.csdn.net/kuloveyouwei/article/details/23598171 GUI在游戏的开发中占有重要的地位&#xff0c;游戏的GUI是否友好&#xff0c;使用是否方便&#xff0c;很大程度上决定了玩家的游戏体验。Unity内置了一套完整地GUI系 统&#xff0c;提供了从布局…

swagger2如何测试单个文件或者多文件上传

http://www.pianshen.com/article/9445265955/

JS 构造图片Image对象

var imagenew Image(); image.src""; console.log(image.width); 转载于:https://www.cnblogs.com/danlis/p/5508354.html

前端学习(1937)vue之电商管理系统电商系统之渲染分配角色的对话框并请求数据

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

使用JWT实现单点登录(完全跨域方案)

https://blog.csdn.net/weixin_42873937/article/details/82460997

Javascript 获取和设置日期

关于JavaScript中日期对象使用方法&#xff1a; 一般有两种设置时间的方式&#xff1a; 一种是直接指定&#xff0c;如&#xff1a;date.setHours(13);    //指定date的时间为下午1点。 第二种是先获取时间进行计算&#xff0c;然后再进行设置&#xff0c;如&#xff1a; d…

前端学习(1938)vue之电商管理系统电商系统之下拉框环境

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

cookie和session的区别和用法

https://www.cnblogs.com/wangzhongqiu/p/8970935.html

javascript判断图片是否加载完成方法整理

有时候我们在前端开发工作中为了获取图片的信息&#xff0c;需要在图片加载完成后才可以正确的获取到图片的大小尺寸&#xff0c;并且执行相应的回调函数使图片产生某种显示效果。本文主要整理了几种常见的javascipt判断图片加载完成时的方法&#xff0c;并通过代码与实际应用相…

前端学习(1939)vue之电商管理系统电商系统之完成全部功能

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

response 中OutputStream和PrintWriter区别

https://blog.csdn.net/feipeng8848/article/details/56286399 https://blog.csdn.net/lhanson/article/details/83893999 https://blog.csdn.net/qq_16605855/article/details/78260355 public class RenderUtil {/*** 渲染json对象*/public static void renderJson(HttpSe…

为PHP7安装Windows Server 2012 R2过程记录

因为要安装php-7.0.6-Win32-VC14-x64&#xff0c;需要先安装vcredist2015_x64_14.0.23026.0。 之前安装了Windows Server 2012 R2后&#xff0c;一直无法成功安装vcredist2015_x64_14.0.23026.0。 据说是因为没有打几个补丁。但是一直都打不上&#xff0c;索性直接安装了个带补…

《学习OpenCV》课后习题解答1

题目&#xff1a;&#xff08;P104&#xff09; 下面这个练习是帮助掌握矩阵类型。创造一个三通道二维矩阵&#xff0c;字节类型&#xff0c;大小为100*100&#xff0c;并设置所有数值为0。 a.在矩阵中使用cvCircle( CvArr* img, CvPoint center, int radius, CvScalar colo…

通用的MIME类型:application/octet-stream

https://www.cnblogs.com/xiaohi/p/6550133.html

Java开发神器Lombok使用详解

https://blog.csdn.net/wo541075754/article/details/103867617?depth_1-utm_sourcedistribute.pc_feed.none-task&request_id&utm_sourcedistribute.pc_feed.none-task