1.SQLite介绍

SQLite是一款非常流行的嵌入式数据库,它支持SQL操作,并且只用很少的内存。

Android在运行时集成了SQLite,所有每个Android应用程序都可以使用SQLLite数据库。

对熟悉SQL的开发人员来说,使用SQLite相当简单。

支持数据类型
null、integer、real、text、blob

2.使用SQLite

首次使用SQLite需要创建数据库和表,以及一些初始化数据。

Android提供了抽象类SQLiteOpenHelper完成此类功能。

2.1  SQLiteOpenHelper中的方法

  onCreate(SQLiteDatabase db)  //第一次创建数据库时被调用,比如表只需要创建一次,那么这个执行语句就可以写在onCreate()里面

  onUpgrade(SQLiteDatabase db,int arg1,int arg2)  //系统发现现有数据库版本不同,即会被调用

新建一个类,继承SQLiteOpenHelper,同时实现onCreate()和onUpgrade()方法,以及一个构造方法

public class MyOpenHelper extends SQLiteOpenHelper {

    /**
*
* @param context 上下文
* @param name 数据库文件名称
* @param factory 如果为null则使用默认方式
* @param version 版本号,后期可以修改,但只能往上升,不能往下降
*/
public MyOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, 1);
} /**
* 当数据库文件不存在的时候,创建数据库文件,并且是第一次使用
* @param sqLiteDatabase
*/
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
Log.i("onCreate","调用onCreate");
} /**
* 只有版本更新时调用
* @param sqLiteDatabase
* @param i 旧版本号
* @param i1 当前版本号
*/
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
Log.i("onUpgrade","调用onUpgrade"); }
}

(在android系统中,每个应用程序的SQLite数据库都被保存在各自的/data/data/<包名>/databases目录下,默认情况下,都是私有的,仅允许当前应用程序访问。)

activity_main.xml中加个按钮:

 <Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="创建数据库"
android:onClick="test_01"/>

MainActivity:

 public void test_01(View view){
//实例化
MyOpenHelper myOpenHelper = new MyOpenHelper(this,"mybase.db",null,1);
//获取一个SQLiteDatabase对象
SQLiteDatabase sqLiteDatabase = myOpenHelper.getReadableDatabase();
//sql语句,暂时忽略不写
String sql = " ";
//执行sql语句
sqLiteDatabase.execSQL(sql);
//关闭
sqLiteDatabase.close();
myOpenHelper.close();
}

2.2  SQLiteDatabase对象说明

2.2 1  通过此对象就可以调用SQLiteDatabase的方法来进行数据库操作,例如创建表、插入数据、删除数据等操作。

2.2.2  获取SQLiteDatabase对象的方法

getWritableDatabase()   //以读写的方式打开数据库,一旦磁盘空间满了,数据库就只能读不能写,倘若再次打开数据就会报错

getWritableDatabase()  //先以读写的方式打开数据库,如果磁盘满了就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。

(SQLiteDatabase既代表了与数据库的连接,又能执行sql语句)

Android基础------SQLite数据库(一)的更多相关文章

  1. android基础---->SQLite数据库的使用

    SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使 ...

  2. Android基础------SQLite数据库(二)

    1.操作SQLite数据库 1.1 execSQL() 可以执行insert.delete.update和CREATE TABLE之类有更改行为的SQL语句 1.2 rawQuery() 可以执行se ...

  3. Qt for Android 打包 SQLite 数据库

    Qt for Android 调用 SQLite 数据库时, 怎样将已经存在的数据库附加到 APK 中? 直接在你项目里面的Android源码的根目录下新建一个文件夹assets, 数据库就可以放里面 ...

  4. Android实现SQLite数据库联系人列表

    Android实现SQLite数据库联系人列表 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个通讯录查看程序: 要求使用SQLite ...

  5. Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库

    下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...

  6. android中sqlite数据库的基本使用和添加多张表

    看了很多关于android使用sqlite数据库的文章,很多都是介绍了数据库的建立和表的建立,而表通常都是只建立一张,而实际情况我们用到的表可能不止一张,那这种情况下我们又该怎么办呢,好了,下面我教大 ...

  7. android 一个SQLite数据库多个数据表的基本使用框架 (带demo)

    android 一个SQLite数据库多个数据表(带demo) 前言        demo演示        一.搭建        二.建立实体类        三.建立数据库操作类        ...

  8. android安卓Sqlite数据库实现用户登录注册

    看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下!建立一个类 并继承SQLiteOpenHelper public ...

  9. 我的Android六章:Android中SQLite数据库操作

    今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...

随机推荐

  1. Zabbix 3.4.11版本 自定义监控项

    一.实验思路过程 创建项目.触发器.图形,验证监控效果: Template OS Linux 模板基本涵盖了所有系统层面的监控,包括了我们最关注的 几项:ping.load.cpu 使用率.memor ...

  2. 青岛Uber优步司机奖励政策(1月4日~1月10日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  3. cakephp2.x 一个ajax例子.md

    CakePHP中的ajax还是比较简单,但要注意一些细节. app/View/Layouts下新建ajaxtest.ctp <!DOCTYPE html PUBLIC "-//W3C/ ...

  4. apache+php开发环境搭建步骤

    apache 卸载apache服务命令:sc delete apache 1.在D盘下面新建文件夹php7 2.解压apache到php7文件夹下面 3.修改配置文件 4.安装apache服务C:\w ...

  5. Qt-网络与通信-获取本机网络信息

    在网络应用中,经常需要获取本机主机名和IP地址和硬件地址等信息.运用QHostInfo.QNetworkInterface.QNetworkAddressEntry可以获得本机的网络信息. 上运行截图 ...

  6. 制作一个App的完整流程是哪些

    APP开发流程其实并不复杂,但是对于客户来说,.一般移动APP开发都离不开UI设计师.前端开发.后端开发.测试专员.产品经理等,由于他们的工作性质都不一样,我们且先把APP软件开发项目分为三个阶段: ...

  7. Linux命令应用大词典-第25章 备份与还原

    25.1 mkisofs:创建ISO9660/Joliet/hfs文件系统

  8. Linux命令应用大词典-第2章 获取帮助

    2.1 help:查看内部Shell命令帮助信息 2.2 man:显示在线手册页 2.3 manpath:查看和设置man手册页的查询路径 2.4 info:阅读info格式的文件 2.5 pinfo ...

  9. 垃圾收集器与内存分配策略(深入理解Java虚拟机)

    3.1 概述 垃圾收集器要解决哪些问题? 哪些内存需要回收 什么时候回收 如何回收 引用计数算法:当有一个地方引用,+1,引用失效,-1.     缺点:对象之间相互循环引用的问题. 可达性分析算法: ...

  10. 175. Invert Binary Tree【LintCode by java】

    Description Invert a binary tree. Example 1 1 / \ / \ 2 3 => 3 2 / \ 4 4    解题:题目要求讲二叉树的左子树和右子树对调 ...