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的理解。