在Android应用程序中使用数据库,可以通过SQLite进行实现。SQLite是一种轻量级的关系型数据库管理系统,适用于Android设备上的小型应用程序。
以下是在Android中添加数据库的代码:
1.创建数据库帮助类
首先需要创建一个DatabaseHelper类,它继承自SQLiteOpenHelper,用来创建数据库、创建数据库表、升级数据库等操作。
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// create the database tables
db.execSQL("CREATE TABLE IF NOT EXISTS students ("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "name TEXT,"
+ "age INTEGER,"
+ "gender TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// upgrade the database tables
db.execSQL("DROP TABLE IF EXISTS students");
onCreate(db);
}
}
2.打开数据库
打开数据库需要使用getWritableDatabase()或getReadableDatabase()方法,这会根据需要创建或打开数据库。需要注意的是,在使用完毕后需要关闭数据库,可以使用close()方法。
DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
//操作数据库...
db.close();
3.插入数据
向数据库表中插入数据可以使用execSQL()方法或insert()方法。如果使用execSQL()方法插入数据,需要传递一个SQL语句,如下所示:
db.execSQL("INSERT INTO students (name, age, gender) VALUES ('Tom', 18, 'male')");
如果使用insert()方法插入数据,需要创建一个ContentValues对象,并通过put()方法添加键值对。
ContentValues values = new ContentValues();
values.put("name", "Tom");
values.put("age", 18);
values.put("gender", "male");
long rowId = db.insert("students", null, values);
4.查询数据
查询数据可以使用query()方法,其参数分别为表名、列名、选择条件、选择参数、分组方式、排序方式、限制条数。返回一个Cursor对象,可以遍历查询结果。如下所示:
Cursor cursor = db.query("students", new String[]{"id", "name", "age", "gender"}, "age>?", new String[]{"18"}, null, null, null);
while(cursor.moveToNext()){
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
String gender = cursor.getString(cursor.getColumnIndex("gender"));
//使用查询结果...
}
cursor.close();
以上就是在Android中添加数据库的代码。需要注意的是,在使用数据库时需要进行异常处理,防止出现运行时错误。同时,在操作完毕后,需要关闭数据库。