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数据库有所帮助。