Android开发入门教程:如何打开数据库? (android 打开数据库)

随着智能手机的普及,Android系统成为了全球更受欢迎的移动操作系统之一。作为一名Android开发者,要想开发出高质量的应用程序,就必须熟悉Android的各种API。其中,数据库API是Android开发的重要组成部分,很多应用程序需要使用数据库来存储和管理数据。本文将介绍如何在Android应用程序中打开数据库,并提供一个简单的示例来演示如何使用SQLite数据库API。

1. 创建数据库

在使用数据库之前,首先需要创建一个数据库。Android中的默认数据库管理系统是SQLite,可以通过以下代码创建一个数据库:

“`

public class MyDBHelper extends SQLiteOpenHelper {

// 数据库版本号

private static final int DATABASE_VERSION = 1;

// 数据库名称

private static final String DATABASE_NAME = “mydatabase.db”;

// 构造函数

public MyDBHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

// 创建数据库

public void onCreate(SQLiteDatabase db) {

String sql = “CREATE TABLE contacts ( “

+ “id INTEGER PRIMARY KEY AUTOINCREMENT, “

+ “name TEXT, “

+ “phone TEXT )”;

db.execSQL(sql);

}

// 升级数据库

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

db.execSQL(“DROP TABLE IF EXISTS contacts”);

onCreate(db);

}

}

“`

上面的代码定义了一个名为MyDBHelper的类,继承自SQLiteOpenHelper类。SQLiteOpenHelper是一个抽象类,提供了创建和升级数据库的方法,需要实现它的onCreate()和onUpgrade()方法。

在MyDBHelper的构造函数中,需要传入上下文(Context)、数据库名称和版本号。当数据库不存在时,SQLiteOpenHelper会调用onCreate()方法创建数据库。在上面的代码中,我们创建了一个名为contacts的表,包括三个字段:id、name和phone。

2. 打开数据库

创建数据库之后,就可以使用SQLite数据库API来读取和写入数据。在Android中,使用SQLiteDatabase类来打开数据库。

打开SQLite数据库需要使用以下代码:

“`

MyDBHelper dbHelper = new MyDBHelper(this);

SQLiteDatabase db = dbHelper.getWritableDatabase();

“`

上面的代码创建了一个MyDBHelper对象,并调用getWritableDatabase()方法来获取一个可写的数据库对象。如果数据库不存在,则会自动创建一个。如果需要只读访问数据库,则可以调用getReadableDatabase()方法。

3. 写入和读取数据

打开数据库之后,就可以使用SQLiteDatabase对象来进行读写操作。以下代码演示了如何加入一条名为”John”号码为”12345″的数据到contacts表中:

“`

ContentValues values = new ContentValues();

values.put(“name”, “John”);

values.put(“phone”, “12345”);

long newRowId = db.insert(“contacts”, null, values);

“`

上面的代码通过ContentValues对象设置数据,然后调用insert()方法将数据插入到contacts表中。方法的之一个参数是表名,第三个参数是要插入的数据。

以下代码演示了如何读取contacts表中的所有数据:

“`

String[] projection = {

“id”,

“name”,

“phone”

};

Cursor cursor = db.query(

“contacts”, // The table to query

projection, // The array of columns to return (pass null to get all)

null, // The columns for the WHERE clause

null, // The values for the WHERE clause

null, // don’t group the rows

null, // don’t filter by row groups

null // don’t sort

);

while(cursor.moveToNext()) {

long itemId = cursor.getLong(cursor.getColumnIndexOrThrow(“id”));

String name = cursor.getString(cursor.getColumnIndexOrThrow(“name”));

String phone = cursor.getString(cursor.getColumnIndexOrThrow(“phone”));

// do something with the data

}

cursor.close();

“`

上面的代码使用query()方法查询contacts表中的数据,并使用Cursor对象遍历返回的结果。方法的之一个参数是表名,第二个参数是要返回的列,可以使用null返回所有列。

4.

通过本文,我们了解了如何在Android应用程序中打开数据库,并使用SQLite数据库API进行读写操作。虽然SQLite是一种轻量级的数据库管理系统,但它足够强大,可以在许多应用程序中实现复杂的数据管理任务。如果您是Android开发的初学者,希望能够通过这个入门教程加深对Android数据库API的理解。


数据运维技术 » Android开发入门教程:如何打开数据库? (android 打开数据库)