安卓如何将数据库中数据取出并放入一个新的数组内
时间: 2024-02-13 21:07:35 浏览: 74
要将数据库中的数据取出并放入一个新的数组内,可以按照以下步骤进行:
1. 创建一个数组对象,用于存储从数据库中取出的数据。
```java
ArrayList<String> dataList = new ArrayList<String>();
```
2. 使用 Android 提供的 SQLiteOpenHelper 类来操作数据库。首先,定义一个继承自 SQLiteOpenHelper 的类,并覆盖其中的 onCreate() 和 onUpgrade() 方法。
```java
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "my_database.db";
private static final int DB_VERSION = 1;
private static final String TABLE_NAME = "my_table";
private static final String COLUMN_NAME = "my_column";
public MyDatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + COLUMN_NAME + " TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
```
3. 在程序中创建一个 MyDatabaseHelper 类的实例,并获取一个可写的数据库对象。
```java
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
```
4. 使用 Cursor 对象查询数据库中的数据,并将数据放入数组中。
```java
Cursor cursor = db.query(TABLE_NAME, new String[]{COLUMN_NAME}, null, null, null, null, null);
while (cursor.moveToNext()) {
String data = cursor.getString(cursor.getColumnIndex(COLUMN_NAME));
dataList.add(data);
}
```
完整代码如下:
```java
ArrayList<String> dataList = new ArrayList<String>();
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.query(TABLE_NAME, new String[]{COLUMN_NAME}, null, null, null, null, null);
while (cursor.moveToNext()) {
String data = cursor.getString(cursor.getColumnIndex(COLUMN_NAME));
dataList.add(data);
}
cursor.close();
db.close();
```
这样,就可以将数据库中的数据取出并放入一个新的数组内。
阅读全文