Android studio SQL - 如何 return 字符串数组中的数据

Android studio SQL - How to return data in a string array

我这里有一个SQL方法。我想 return String[] 数组中的数据。

我该怎么做?

谢谢!

public String[] getLikedSongs() {
        SQLiteDatabase db = this.getReadableDatabase();
        String[] LikeSong;
        Cursor cursor = db.rawQuery(" SELECT " + COL_4 + " FROM " + Table_Name + " WHERE " + COL_4 + " IS NOT NULL", null);
        while (cursor.moveToNext()) {
            String note = cursor.getString(0);
        }
        cursor.close();
        db.close();
        return LikeSong;
    }

您必须定义数组的长度,这只能在 Cursor 获取所有行后完成。然后将其长度设置为游标的行数。
然后在 while 循环内设置数组的项目:

public String[] getLikedSongs() {
    String[] LikeSong = null;
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("SELECT " + COL_4 + " FROM " + Table_Name + " WHERE " + COL_4 + " IS NOT NULL", null);
    if (cursor.getCount() > 0) {
        LikeSong = new String[cursor.getCount()];
        int i = 0;
        while (cursor.moveToNext()) {
            LikeSong[i] = cursor.getString(0);
            i++;
        }
    }
    cursor.close();
    db.close();
    return LikeSong;
}