`

SQLiteOpenHelper

 
阅读更多

SQLiteOpenHelper 是包装了数据库的创建、打开和更新的抽象类。通过实现和使用 SQLiteOpenHelper ,你可以隐去在数据库打开之前需要判断数据库是否需要创建或更新 的逻辑。

 

上面的代码片段显示了如何扩展 SQLiteOpenHelper 类,通过重写构造函数、 onCreate onUpgrade 方法来处理新的数据库的创建和更新到新的版本。

 

在前一个例子中, onUpgrade 只是简单的丢弃了已有的表并用新定义的表进行替换。实际上,一个 比较好的方案是移植已经存在的数据到新的表中。

 

为了使用辅助类的实现,创建一个实例,传入上下文,数据库的名,当前版本和一个 CursorFactory (如果你正在使用的话)。

 

通过调用 getReadableDatabase getWriteableDatabase 来打开并返回一个可读 / 可写的数据库实例。

 

调用 getWriteableDatabase 可能因为磁盘空间或权限问题失败,所以,一个好的习惯是在捕获异常后提供 getReadableDatabase 方法的结果,如下面的代码所示:

 

dbHelper = new myDbHelper(context, DATABASE_NAME, null, DATABASE_VERSION);

SQLiteDatabase db;

try

{

db = dbHelper.getWritableDatabase();

}

catch (SQLiteException ex)

{

db = dbHelper.getReadableDatabase();

}

 

在后台,如果数据库不存在,辅助类会执行它的 onCreate 方法。如果数据库的版本发生了变化, onUpgrade 方法会触发。在两种情况下, get<Read/Write>ableDatabase 的调用会相应的返回已经存在的、新创建的或者更新了的数据库。

分享到:
评论

相关推荐

    SQLiteOpenHelper类的onUpgrade方法的作用

    在深入探讨`SQLiteOpenHelper`类中的`onUpgrade`方法之前,我们先来了解下`SQLiteOpenHelper`类在Android开发中的重要性。`SQLiteOpenHelper`是Android SDK提供的一个辅助类,用于帮助开发者创建和管理应用程序中的...

    android SQLiteOpenHelper 数据库简单应用

    SQLiteOpenHelper是Android提供的一种管理SQLite数据库的工具类,它简化了数据库的创建和版本管理。本篇文章将深入探讨如何在Android中使用SQLiteOpenHelper进行数据库的简单应用。 首先,SQLiteOpenHelper有两个...

    SqliteOpenHelper

    `SqliteOpenHelper`是Android平台中用于操作SQLite数据库的一个关键类。SQLite是一个轻量级、嵌入式的数据库引擎,常用于移动设备应用开发,因为它的资源占用少且易于使用。在Android应用中,`SqliteOpenHelper`是...

    Android SqliteOpenHelper数据库的基本使用

    本篇主要介绍如何使用Android内置的`SQLiteOpenHelper`类来操作SQLite数据库,包括创建数据库、升级数据库、执行增删改查(CRUD)操作等核心知识点。 ### 1. 数据库初始化与创建 `SQLiteOpenHelper`是Android提供...

    SQLiteOpenHelper和ContentProvider区别

    SQLiteOpenHelper和ContentProvider是Android开发中的两个重要组件,它们都与数据存储和访问有关,但各自扮演的角色和使用场景有所不同。 SQLiteOpenHelper是Android系统提供的一个用于管理SQLite数据库的辅助类。...

    android SQLiteOpenHelper使用示例

    在Android开发中,SQLite是一个非常重要的数据存储工具,SQLiteOpenHelper是Android SDK提供的一种管理SQLite数据库的辅助类。本文将深入探讨SQLiteOpenHelper的使用方法及其在实际应用中的关键知识点。 首先,...

    067集-SQLiteOpenHelper(1)视频教程

    SQLiteOpenHelper是Android开发中用于操作SQLite数据库的一个关键类。它主要负责数据库的创建、升级以及版本管理,使得开发者能够方便地处理数据库的生命周期。在这一067集的视频教程中,你将深入理解...

    基于SQLiteOpenHelper封装的SQLite操作jar包

    SQLiteOpenHelper是Android提供的一个类,用于帮助我们创建、升级和打开数据库。在这个基于SQLiteOpenHelper封装的SQLite操作jar包中,开发者可以更高效、简便地执行数据库的增删改查操作,避免了重复编写相同的...

    android app 示例 SQLiteOpenHelper 实现数据操作

    SQLiteOpenHelper是Android SDK提供的一种工具类,它帮助开发者轻松管理SQLite数据库,包括创建、升级和打开数据库。在这个示例中,我们将深入探讨如何使用SQLiteOpenHelper进行数据操作。 SQLiteOpenHelper主要有...

    SQLiteOpenHelper数据库

    SQLiteOpenHelper是Android开发中用于操作SQLite数据库的一个关键类,它主要负责数据库的创建、升级以及版本管理。在本文中,我们将深入探讨SQLiteOpenHelper的使用,包括它的核心方法、数据库生命周期管理以及如何...

    (模版)新建一个SQLiteOpenHelper助手类.xml

    (代码模板)新建一个SQLiteOpenHelper助手类.xml

    SQLiteOpenHelper.zip

    本项目"SQLiteOpenHelper.zip"提供了一个简单的SQLiteOpenHelper实现,针对两个字符串字段进行CRUD(Create、Read、Update、Delete)操作的示例。 首先,我们来看`SQLiteOpenHelper`类的主要方法: 1. `onCreate...

    ContentProvider与ContentResolver与SQLiteOpenHelper

    ContentProvider与ContentResolver 与 SQLiteOpenHelper http://blog.csdn.net/i_do_can/article/details/50937380 http://blog.csdn.net/i_do_can/article/details/50937380

    068集-SQLiteOpenHelper(2)视频教程

    068集-SQLiteOpenHelper(2)视频教程,个人感觉还可以,共享给大家。

    利用SQLiteOpenHelper实现SQLite数据的写入和查询

    SQLiteOpenHelper是Android提供的一个类,它简化了数据库的创建和版本管理。在这个示例中,我们将深入探讨如何利用SQLiteOpenHelper来实现SQLite数据库中的数据写入和查询,并展示如何将查询结果展示在ListView上。 ...

    SuperDB,演示使用SQLiteOpenHelper继承子类操作数据库例子

    SQLiteOpenHelper是Android提供的一种方便、高效的管理SQLite数据库的类,它主要用于创建、升级和打开数据库。本示例"SuperDB"就是演示如何通过继承SQLiteOpenHelper来实现对数据库的操作,包括增加数据、删除数据、...

    SQLiteOpenHelper&SharedPreferences练习

    在Android开发中,SQLiteOpenHelper和SharedPreferences是两种非常重要的数据存储机制。SQLiteOpenHelper主要用于管理SQLite数据库,而SharedPreferences则用于存储轻量级的键值对数据。接下来我们将深入探讨这两个...

    android 手机数据库 实现SQLiteOpenHelper

    SQLiteOpenHelper是Android SDK提供的一种管理SQLite数据库的工具类,它可以帮助开发者轻松地创建、升级和打开数据库。本篇文章将深入探讨如何在Android应用中实现SQLiteOpenHelper。 首先,我们了解...

    Pro-Android-3 BookProvider SQLiteOpenHelper

    《Pro-Android-3 BookProvider SQLiteOpenHelper》是关于Android应用开发的一本专业书籍,主要探讨了如何在Android系统中利用`BookProvider`和`SQLiteOpenHelper`进行数据存储和管理。`BookProvider`是自定义的内容...

Global site tag (gtag.js) - Google Analytics