Android Sqlite3基本命令之后怎么保存重启

在Android中,我们经常使用SQLite数据库来存储和管理应用程序的数据。SQLite是一种轻量级的关系型数据库管理系统,它存储在设备的内部存储器上,可以在应用程序重新启动后继续访问。

要在Android中使用SQLite数据库,需要使用Android提供的SQLiteOpenHelper类。这个类提供了一些有用的方法来创建和管理数据库。

创建数据库

首先,我们需要创建一个SQLiteOpenHelper的子类来管理数据库。这个子类需要实现两个重要的方法:onCreate()和onUpgrade()。

public class MyDatabaseHelper extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "mydatabase.db";
    private static final int DATABASE_VERSION = 1;

    public MyDatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // 创建表格的SQL语句
        String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS mytable (id INTEGER PRIMARY KEY, name TEXT)";
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // 删除旧表格并重新创建新表格
        db.execSQL("DROP TABLE IF EXISTS mytable");
        onCreate(db);
    }
}

在上面的代码中,我们创建了一个名为MyDatabaseHelper的类来管理数据库。我们在构造函数中指定了数据库名称和版本号。onCreate()方法用来创建表格,onUpgrade()方法用来更新表格。

打开数据库

一旦我们创建了数据库管理类,我们可以在应用程序的任何地方使用它来打开数据库。

MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();

在上面的代码中,我们创建了一个MyDatabaseHelper对象,并调用getWritableDatabase()方法来获取一个可写的数据库实例。

插入数据

一旦我们打开了数据库,我们可以使用insert()方法来插入数据。

ContentValues values = new ContentValues();
values.put("name", "John");

db.insert("mytable", null, values);

在上面的代码中,我们创建了一个ContentValues对象来存储要插入的数据。然后,我们调用insert()方法来向表格中插入数据。

查询数据

一旦我们插入了数据,我们可以使用query()方法来查询数据。

String[] projection = {"id", "name"};

Cursor cursor = db.query("mytable", projection, null, null, null, null, null);
if (cursor.moveToFirst()) {
    do {
        int id = cursor.getInt(cursor.getColumnIndex("id"));
        String name = cursor.getString(cursor.getColumnIndex("name"));
        Log.d("TAG", "id: " + id + ", name: " + name);
    } while (cursor.moveToNext());
}
cursor.close();

在上面的代码中,我们创建了一个projection数组来指定要查询的列。然后,我们调用query()方法来查询表格中的数据。最后,我们使用Cursor对象遍历查询结果。

保存重启

为了保存和重启数据库,我们只需要在应用程序的入口处创建MyDatabaseHelper对象,并调用getWritableDatabase()方法。

public class MainActivity extends AppCompatActivity {
    private MyDatabaseHelper dbHelper;
    private SQLiteDatabase db;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        dbHelper = new MyDatabaseHelper(this);
        db = dbHelper.getWritableDatabase();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        db.close();
    }
}

在上面的代码中,我们在onCreate()方法中创建了MyDatabaseHelper对象,并在onDestroy()方法中关闭了数据库连接。

总结

在本文中,我们学习了如何使用SQLiteOpenHelper类来创建和管理SQLite数据库。我们了解了如何创建数据库、打开数据库、插入数据、查询数据,并且学习了如何保存和重启数据库。

SQLite是一种非常强大和灵活的数据库管理系统,它可以轻松地与Android应用程序集成。希望本文对你理解和使用Android中的SQLite数据库有所帮助。