我在Android应用程序的sql数据库中存储歌曲信息(名称,艺术家姓名,持续时间等)。我能够毫无问题地将数据提供给数据库。所以,如果我播放2首歌曲,首先是歌曲A,之后是歌曲B.这两个都按照播放顺序添加到数据库中。第一行 - 歌曲A,第二行 - 歌曲B.我想要的是,我想以相反的方向检索数据。我的意思是,当我显示歌曲时,歌曲B应首先出现,然后是歌曲A.我知道我必须使用顺序,但我无法弄清楚如何。
代码:
检索代码:
public ArrayList<SongInfoModel> getRecentlyPlayed(){
ArrayList<SongInfoModel> rpList = new ArrayList<>();
String selectQuery = "SELECT * FROM " + TABLE_NAME ;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery,null);
if(cursor.moveToFirst()){
do{
long id = cursor.getLong(0);
String SongName = cursor.getString(1);
String artistName = cursor.getString(2);
long dur = cursor.getLong(3);
String Art = cursor.getString(4);
SongInfoModel sh = new SongInfoModel(id,SongName,artistName,dur,null,Art);
rpList.add(sh);
}while (cursor.moveToNext());
}
return rpList;
}
创建表格的代码:
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME+ "("
+ KEY_ID + " INTEGER PRIMARY KEY,"
+ KEY_NAME + " TEXT,"
+ KEY_ARTIST + " TEXT,"
+ KEY_DURATION + " INTEGER,"
+ KEY_ART + " TEXT"
+ ");";
sqLiteDatabase.execSQL(CREATE_TABLE);
}
答案 0 :(得分:0)
您也可以在每行中插入一个计数器,只需按计数器的顺序选择它们。