30秒学会安卓开发:数据库实例教程 (安卓开发 数据库 实例教程)
如果您是一名开发人员,了解数据库是非常必要的。特别是作为安卓开发人员,了解如何使用数据库是一项不可或缺的技能。在本文中,我们将提供一个简单的数据库实例教程,让您快速掌握基本的安卓开发技能。
让我们看一下安卓系统如何支持数据库。安卓系统内置了SQLite数据库,这是一个轻量化的数据库管理系统。SQLite是一种关系型数据库,非常适合小型应用程序,如安卓应用程序。SQLite还有一些其他的好处,比如易于维护和跨平台。
接下来,我们将介绍如何在您的安卓应用程序中创建一个SQLite数据库,并对其进行一些基本操作。
之一步是定义数据库。通过创建一个类来定义数据库,我们可以规范化数据库的表和列,以及表结构。以下是一个简单的数据库创建类的示例:
public class MyDatabase extends SQLiteOpenHelper {
private static final String DATABASE_NAME = “MyDatabase.db”;
private static final int DATABASE_VERSION = 1;
public MyDatabase(Context context) {
super(context, DATABASE_NAME , null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(“CREATE TABLE contacts (id INTEGER PRIMARY KEY, name TEXT, eml TEXT)”);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(“DROP TABLE IF EXISTS contacts”);
onCreate(db);
}
}
在上面的示例中,我们首先定义了数据库的名称和版本。然后,我们创建了一个构造函数,该函数将接收一个上下文参数,然后调用父构造函数。在onCreate方法中,我们创建了一个名为”contacts”的数据表,并定义了三个列:id,name和eml。在onUpgrade方法中,我们定义了一个升级数据表的操作,以及当版本更改时执行的操作。
一旦我们定义了数据库,我们可以继续进行一些基本的数据库操作。例如,我们需要添加、查询、更新或删除一个联系人的信息。以下是在我们的数据库示例中应用这些操作的代码:
//添加联系人
public void addContact(Contact contact) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(“name”, contact.getName());
values.put(“eml”, contact.getEml());
db.insert(“contacts”, null, values);
db.close();
}
//查询联系人
public List getAllContacts() {
List contactList = new ArrayList();
String selectQuery = “SELECT * FROM contacts”;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
Contact contact = new Contact();
contact.setId(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
contact.setEml(cursor.getString(2));
contactList.add(contact);
} while (cursor.moveToNext());
}
return contactList;
}
//更新联系人
public int updateContact(Contact contact) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(“name”, contact.getName());
values.put(“eml”, contact.getEml());
return db.update(“contacts”, values, “id = ?”, new String[] { String.valueOf(contact.getId()) });
}
//删除联系人
public void deleteContact(Contact contact) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(“contacts”, “id = ?”, new String[] { String.valueOf(contact.getId()) });
db.close();
}
在上面的示例中,我们定义了四个方法:addContact,getAllContacts,updateContact和deleteContact。这些方法将分别执行添加、查询、更新和删除操作。在addContact方法中,我们首先获得了SQLiteDatabase实例,然后使用ContentValues将数据添加到表中。在getAllContacts方法中,我们定义了一个SELECT语句,查询所有的联系人信息,并将这些信息封装到一个列表中。在updateContact和deleteContact方法中,我们更新或删除已添加到表中的联系人信息。