android 怎么利用sqllite修改数据库

android 怎么利用sqllite修改数据库,第1张

Android系统内置一个Sqlite数据,如果app需要使用Sqlite数据库数据库存储数据,Android会为此app生成一个.db文件。这个数据库在data/data/<package_name>/databases里面,其中<package_name>为该安卓app的工程包名,这个目录必须root后才能看到。在Windows,单机的应用程序,存储数据,基本放到一个文件里面,正如游戏的存档,基本就是把当前的游戏状态存到一个用户很难找到的文件里面。每次存档读档就是一个从这个存档文件读写数据的过程。由于Android系统内置一个Sqlite数据库,如果我们的app需要在手机上存储一些诸如游戏等数据,可以不用自己建立文件,之后利用读写文件的方法读写里面。可以直接利用sql语句,读写里面的数据,多用于读写一些用户对此app的配置。下面,举一个例子,说明Android中的Sqlite数据库增删改查如何进行增删改查。

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

Android 开发中使用 SQLite 数据库

Activites 可以通过 Content Provider 或者 Service 访问一个数据库。下面会详细讲解如果创建数据库,添加数据和查询数据库。

创建数据库

Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,至少需要实现三个方法:

构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。

onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。

onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。

创建数据库

Android

不自动提供数据库。在

Android

应用程序中使用

SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android

提供了

SQLiteOpenHelper

帮助你创建一个数据库,你只要继承

SQLiteOpenHelper

类,就可以轻松的创建数据库。SQLiteOpenHelper

类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper

的子类,至少需要实现三个方法:

构造函数,调用父类

SQLiteOpenHelper

的构造函数。这个方法需要四个参数:上下文环境(例如,一个

Activity),数据库名字,一个可选的游标工厂(通常是

Null),一个代表你正在使用的数据库模型版本的整数。

onCreate()方法,它需要一个

SQLiteDatabase

对象作为参数,根据需要对这个对象填充表和初始化数据。

onUpgrage()

方法,它需要三个参数,一个

SQLiteDatabase

对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。

下面示例代码展示了如何继承

SQLiteOpenHelper

创建数据库:

public

class

DatabaseHelper

extends

SQLiteOpenHelper

{

DatabaseHelper(Context

context,

String

name,

CursorFactory

cursorFactory,

int

version)

{

super(context,

name,

cursorFactory,

version)

}

@Override

public

void

onCreate(SQLiteDatabase

db)

{

//

TODO

创建数据库后,对数据库的 *** 作

}

@Override

public

void

onUpgrade(SQLiteDatabase

db,

int

oldVersion,

int

newVersion)

{

//

TODO

更改数据库版本的 *** 作

}

super.onOpen(db)

//

TODO

每次成功打开数据库后首先被执行

}

}

复制代码

接下来讨论具体如何创建表、插入数据、删除表等等。调用

getReadableDatabase()

getWriteableDatabase()

方法,你可以得到

SQLiteDatabase

实例,具体调用那个方法,取决于你是否需要改变数据库的内容:

db=(new

DatabaseHelper(getContext())).getWritableDatabase()

return

(db

==

null)

?

false

:

true

复制代码

上面这段代码会返回一个

SQLiteDatabase

类的实例,使用这个对象,你就可以查询或者修改数据库。

当你完成了对数据库的 *** 作(例如你的

Activity

已经关闭),需要调用

SQLiteDatabase

Close()

方法来释放掉数据库连接。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6714439.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存