Android SQLite数据库操作详解

4 下载量 158 浏览量 更新于2024-08-29 收藏 193KB PDF 举报
"这篇教程详细介绍了在Android平台上如何使用SQLite数据库。SQLite是许多移动设备上常用的轻量级数据库,尤其适合存储复杂数据。Android系统提供了便捷的API接口,使得开发者可以方便地进行数据库的创建、操作和管理。本文将通过在Activity的onCreate方法中编写代码来展示SQLite的基本操作,包括创建数据库、定义表结构、插入数据以及使用ContentValues对象存储数据。" 在Android应用开发中,SQLite数据库扮演着至关重要的角色,它允许开发者在本地存储和检索数据。Android SDK提供了一个SQLiteOpenHelper类,这个类是处理数据库生命周期的关键,包括数据库的创建、升级和版本管理。首先,我们需要创建一个SQLiteOpenHelper的子类,并重写onCreate()和onUpgrade()方法。在onCreate()方法中,通常会执行SQL语句来创建数据库表。 例如,在给出的代码片段中,首先通过`openOrCreateDatabase()`方法打开了名为"test.db"的数据库,并设置了私有模式(Context.MODE_PRIVATE)。接着,使用`execSQL()`方法执行了删除表(如果存在)和创建新表的SQL命令: ```java db.execSQL("DROPTABLEIFEXISTSperson"); db.execSQL("CREATETABLEperson(_idINTEGERPRIMARYKEYAUTOINCREMENT,nameVARCHAR,ageSMALLINT)"); ``` 这里,我们创建了一个名为"person"的表,包含三个字段:_id(主键,自动增长),name(字符串类型)和age(小型整数类型)。 接下来,展示了两种插入数据的方法。第一种是直接使用`execSQL()`执行SQL语句: ```java db.execSQL("INSERTINTOpersonVALUES(NULL,?,?)", new Object[]{person.name, person.age}); ``` 第二种是使用ContentValues对象,它可以以键值对的方式存储数据,然后通过`insert()`方法插入到表中: ```java ContentValues cv = new ContentValues(); cv.put("name", person.name); cv.put("age", person.age); db.insert("person", null, cv); ``` ContentValues方法更加灵活,可以方便地处理复杂的插入操作,比如插入多行数据或从其他数据结构中构建内容。 此外,SQLite还支持查询、更新和删除操作。查询通常通过Cursor对象来完成,它可以从数据库中获取一行或多行数据。例如,可以使用`query()`方法进行查询: ```java Cursor cursor = db.query("person", new String[]{"_id", "name", "age"}, null, null, null, null, null); ``` 更新数据则可以通过`update()`方法,它接受类似的参数,包括表名、ContentValues对象、更新条件等。删除数据使用`delete()`方法,同样需要指定表名和删除条件。 Android中的SQLite数据库提供了强大的功能,允许开发者高效地管理应用程序的数据存储。通过学习和熟练掌握这些基本操作,开发者可以构建出功能丰富的、数据驱动的Android应用。