Android应用开发:SQLite数据库操作详解

0 下载量 154 浏览量 更新于2024-09-03 收藏 192KB PDF 举报
"Android中SQLite使用方法详解" 在Android开发中,SQLite是一个轻量级的数据库系统,被广泛用于存储和管理应用程序的数据。由于其体积小、功能强大且无需单独的服务器进程,SQLite成为移动设备理想的数据库解决方案。Android系统内建了SQLite的API,使得开发者能够方便地进行数据库操作。下面我们将详细探讨如何在Android中使用SQLite。 首先,我们需要打开或创建一个SQLite数据库。在`onCreate`方法中,可以通过`openOrCreateDatabase()`函数来实现。这个函数接受三个参数:数据库名称、模式(通常为`Context.MODE_PRIVATE`,表示私有模式)以及一个可选的`SQLiteDatabase.CursorFactory`实例,这里传入`null`表示使用默认工厂。例如: ```java SQLiteDatabasedb=openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null); ``` 接下来,我们需要创建数据库表。通过`execSQL()`方法执行SQL语句,如创建表: ```java db.execSQL("DROPTABLEIFEXISTSperson"); db.execSQL("CREATETABLEperson(_idINTEGERPRIMARYKEYAUTOINCREMENT,nameVARCHAR,ageSMALLINT)"); ``` 这些语句分别用于删除已存在的`person`表(如果存在的话)以及创建一个新的`person`表,包含`_id`(主键,自动增长)、`name`(字符串类型)和`age`(小型整数)三列。 插入数据有两种方式:直接使用`execSQL()`执行SQL语句,或者使用`ContentValues`对象。 1. 直接插入SQL语句: ```java Personperson=newPerson(); person.name="john"; person.age=30; db.execSQL("INSERTINTOpersonVALUES(NULL,?,?)", new Object[]{person.name, person.age}); ``` 这里,我们先创建了一个`Person`对象并设置了属性,然后使用`?`作为占位符,配合`Object[]`参数执行插入操作。 2. 使用`ContentValues`: ```java person.name="david"; person.age=33; ContentValuescv=newContentValues(); cv.put("name", person.name); cv.put("age", person.age); db.insert("person", null, cv); ``` `ContentValues`允许我们以键值对的方式存储数据,然后通过`insert()`方法将它们插入到指定的表中。 此外,我们还可以通过`query()`, `update()`, `delete()`等方法来查询、更新和删除数据。例如,查询所有`person`表中的数据: ```java Cursorcursor=db.query("person", null, null, null, null, null, null); while(cursor.moveToNext()){ Stringname=cursor.getString(cursor.getColumnIndex("name")); intage=cursor.getInt(cursor.getColumnIndex("age")); //处理查询结果... } cursor.close(); ``` 以上就是Android中SQLite的基本使用方法。通过这些API,开发者可以方便地进行数据的存取操作,满足应用程序的数据管理需求。在实际开发中,通常还会封装成一个数据库帮助类,以提供更友好的接口和更复杂的操作支持。