Android studio创建数据库
时间: 2024-02-06 11:37:47 浏览: 87
在 Android Studio 中创建数据库的一般步骤如下:
1. 在项目的 `app` 目录下的 `build.gradle` 文件中添加以下依赖:
```
implementation 'com.android.support:support-sqlite:28.0.0'
```
2. 在 `MainActivity` 类中创建一个继承自 `SQLiteOpenHelper` 的子类,用于打开或创建数据库,并提供对数据库的操作方法。例如:
```java
public class DBHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "mydb.db";
public static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表格的 SQL 语句
String createTableSql = "CREATE TABLE mytable (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)";
// 执行 SQL 语句
db.execSQL(createTableSql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 升级数据库时的操作
}
public void insert(String name, int age) {
// 插入数据的 SQL 语句
String insertSql = "INSERT INTO mytable (name, age) VALUES (?, ?)";
// 获取可写的数据库
SQLiteDatabase db = getWritableDatabase();
// 执行 SQL 语句
db.execSQL(insertSql, new Object[]{name, age});
// 关闭数据库
db.close();
}
public Cursor query() {
// 查询数据的 SQL 语句
String querySql = "SELECT * FROM mytable";
// 获取可读的数据库
SQLiteDatabase db = getReadableDatabase();
// 执行查询操作
Cursor cursor = db.rawQuery(querySql, null);
return cursor;
}
}
```
3. 在 `MainActivity` 类中使用上述 `DBHelper` 类的对象进行数据库操作。例如:
```java
public class MainActivity extends AppCompatActivity {
private ListView mListView;
private SimpleCursorAdapter mAdapter;
private DBHelper mDBHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建 DBHelper 对象
mDBHelper = new DBHelper(this);
// 查询数据
Cursor cursor = mDBHelper.query();
// 设置 ListView 的适配器
mListView = findViewById(R.id.list_view);
mAdapter = new SimpleCursorAdapter(
this,
android.R.layout.simple_list_item_2,
cursor,
new String[]{"name", "age"},
new int[]{android.R.id.text1, android.R.id.text2},
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
mListView.setAdapter(mAdapter);
// 插入数据
mDBHelper.insert("Tom", 18);
mDBHelper.insert("Jerry", 20);
}
@Override
protected void onDestroy() {
super.onDestroy();
// 关闭 DBHelper 对象
mDBHelper.close();
}
}
```
上述代码中,首先在 `DBHelper` 类中定义了一个表格 `mytable`,该表格包含三个字段:`_id`、`name` 和 `age`。然后在 `MainActivity` 类中创建了一个 `DBHelper` 对象,通过该对象进行数据库操作,包括插入数据和查询数据。最后在 `onDestroy` 方法中关闭了 `DBHelper` 对象。
阅读全文