Android studio 如何连接SQLite数据库,请举例说明
时间: 2024-02-17 20:04:13 浏览: 22
在Android Studio中连接SQLite数据库的步骤如下:
1. 创建一个新的Android项目。
2. 在项目中添加SQLite库依赖。在app模块的build.gradle文件中添加以下代码:
```
dependencies {
implementation 'androidx.sqlite:sqlite:2.2.0'
}
```
3. 创建一个继承自SQLiteOpenHelper的类。这个类用于创建和管理数据库,包括创建表格和升级表格。以下是一个示例:
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydatabase.db";
private static final int DB_VERSION = 1;
public MyDatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE IF NOT EXISTS mytable ("
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "name TEXT,"
+ "age INTEGER)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "DROP TABLE IF EXISTS mytable";
db.execSQL(sql);
onCreate(db);
}
}
```
4. 在Activity中使用MyDatabaseHelper类来操作数据库。以下是一个示例:
```java
public class MainActivity extends AppCompatActivity {
private MyDatabaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new MyDatabaseHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "张三");
values.put("age", 21);
db.insert("mytable", null, values);
Cursor cursor = db.query("mytable", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Log.d("MainActivity", "name is " + name);
Log.d("MainActivity", "age is " + age);
} while (cursor.moveToNext());
}
cursor.close();
}
@Override
protected void onDestroy() {
super.onDestroy();
dbHelper.close();
}
}
```
这个示例中,我们创建了一个名为mydatabase.db的数据库,表格名为mytable,包括_id,name和age三列。在MainActivity中,我们创建了一个MyDatabaseHelper对象,然后获取可写的SQLiteDatabase对象。我们使用ContentValues对象来插入一行数据,然后使用Cursor对象来查询所有数据,并将结果输出到Logcat中。最后,我们在onDestroy()方法中关闭数据库。