📜  android sqlite 初学者教程 - Java (1)

📅  最后修改于: 2023-12-03 14:39:08.369000             🧑  作者: Mango

Android SQLite 初学者教程 - Java

简介

SQLite是一款轻量级的关系型数据库,广泛应用于Android开发中。在本教程中,我们将介绍如何在Android应用中使用SQLite数据库。

前置知识
  • Java基础知识
  • Android开发基础知识
SQLite基础

SQLite是一款文件型的关系型数据库,它不需要单独的服务器来运行,而是直接以文件的方式存在于本地,因此可以节省大量的时间和开销。SQLite支持所有SQL-92标准定义的SQL语句和几乎所有SQL-99扩展。

SQLite在Android中的应用

在Android中使用SQLite,需要使用Android提供的SQLiteOpenHelper类。SQLiteOpenHelper类提供了创建、升级和操作SQLite数据库的方法。

步骤1:创建SQLiteOpenHelper类
public class MyDatabaseHelper extends SQLiteOpenHelper {
    
    private static final String DATABASE_NAME = "my_database.db";
    private static final int DATABASE_VERSION = 1;
    private static final String TABLE_NAME = "my_table";
    private static final String COL_NAME = "name";
    private static final String COL_AGE = "age";
    
    public MyDatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "CREATE TABLE " + TABLE_NAME + " ("
                + "_id INTEGER PRIMARY KEY AUTOINCREMENT, "
                + COL_NAME + " TEXT, "
                + COL_AGE + " INT)";
        db.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        String sql = "DROP TABLE IF EXISTS " + TABLE_NAME;
        db.execSQL(sql);
        onCreate(db);
    }
}

在这个类中,我们定义了数据库名称、版本、表名称和表中的字段。在onCreate方法中,我们定义了如何创建表,在onUpgrade方法中,我们定义了如何升级表。

步骤2:创建SQLite数据库
MyDatabaseHelper dbHelper = new MyDatabaseHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();

我们可以使用MyDatabaseHelper类的实例来创建SQLite数据库,并使用getWritableDatabase()方法获取写入权限。

步骤3:操作SQLite数据库
ContentValues values = new ContentValues();
values.put(COL_NAME, "Tom");
values.put(COL_AGE, 25);
db.insert(TABLE_NAME, null, values);

values = new ContentValues();
values.put(COL_NAME, "Jerry");
values.put(COL_AGE, 30);
db.insert(TABLE_NAME, null, values);

Cursor cursor = db.query(TABLE_NAME, new String[]{"_id", COL_NAME, COL_AGE}, null, null, null, null, null);

while (cursor.moveToNext()) {
    int id = cursor.getInt(0);
    String name = cursor.getString(1);
    int age = cursor.getInt(2);
    Log.d(TAG, "id:" + id + " name:" + name + " age:" + age);
}
cursor.close();

我们可以使用ContentValues对象来保存数据,并且使用insert方法来插入数据。我们还可以使用query方法来查询数据。

总结

本教程介绍了如何在Android应用中使用SQLite数据库。从创建SQLiteOpenHelper类、创建SQLite数据库到操作SQLite数据库的完整流程。在实际开发中,SQLite是一个非常有用的工具,能够大大简化数据操作的流程。