use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class PlayQueueLoader method getPlayQueue.
// /**
// * 添加歌曲到歌单
// */
// private static void resetQueue(Context context, List<Music> musics) {
// DBDaoImpl dbDaoImpl = new DBDaoImpl(context);
// dbDaoImpl.insertSongs(musics);
// for (int i = 0; i < musics.size(); i++) {
// dbDaoImpl.insertSongToPlaylist(DBData.PLAY_QUEUE, musics.get(i).getId());
// }
// dbDaoImpl.closeDB();
// }
/**
* 获取播放队列
*/
public static List<Music> getPlayQueue(Context context) {
DBDaoImpl dbDaoImpl = new DBDaoImpl(context);
String sql = "select * from music inner join music_playlist " + "where music.mid = music_playlist.mid " + "and music_playlist.pid=0 ORDER BY music_playlist.date_added DESC";
Cursor cursor = dbDaoImpl.makeCursor(sql);
List<Music> results = dbDaoImpl.getSongsForCursor(cursor);
dbDaoImpl.closeDB();
return results;
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class SongLoader method getMusicInfo.
public static Observable<Music> getMusicInfo(final Context context, Music music) {
return Observable.create(subscriber -> {
try {
DBDaoImpl dbDaoImpl = new DBDaoImpl(context);
String sql = "select * from " + DBData.MUSIC_TABLE + " where " + DBData.MUSIC_ID + " = '" + music.getId() + "'";
Cursor cursor = dbDaoImpl.makeCursor(sql);
List<Music> results = dbDaoImpl.getSongsForCursor(cursor);
if (results.size() != 0) {
subscriber.onNext(results.get(0));
} else {
subscriber.onNext(music);
}
dbDaoImpl.closeDB();
subscriber.onComplete();
} catch (Exception e) {
subscriber.onError(e);
}
});
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class SongLoader method getSongsForCursor.
/**
* cursor 获取音乐集合
*
* @param context
* @param cursor
* @return
*/
private static Observable<List<Music>> getSongsForCursor(Context context, final Cursor cursor) {
return Observable.create(subscriber -> {
try {
DBDaoImpl dbDao = new DBDaoImpl(context);
List<Music> results = dbDao.getSongsForCursor(cursor);
cursor.close();
subscriber.onNext(results);
subscriber.onComplete();
} catch (Exception e) {
subscriber.onError(e);
}
});
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class SongLoader method getSongsForMedia.
/**
* Android 扫描获取到的数据
*
* @param context
* @param cursor
* @return
*/
public static Observable<List<Music>> getSongsForMedia(Context context, final Cursor cursor) {
return Observable.create(subscriber -> {
DBDaoImpl dbDao = new DBDaoImpl(context);
List<Music> results = new ArrayList<>();
try {
if ((cursor != null) && (cursor.moveToFirst())) {
do {
int is_music = cursor.getInt(9);
long id = cursor.getLong(0);
String title = cursor.getString(1);
String artist = cursor.getString(2);
String album = cursor.getString(3);
int duration = cursor.getInt(4);
int trackNumber = cursor.getInt(5);
String artistId = cursor.getString(6);
long albumId = cursor.getLong(7);
String path = cursor.getString(8);
String coverUri = CoverLoader.getInstance().getCoverUri(context, albumId);
Music music = dbDao.getMusicInfo(id + "");
if (music != null) {
if (coverUri != null) {
music.setCoverUri(coverUri);
}
} else {
music = new Music(id, albumId, artistId, title, artist, album, duration, trackNumber, path);
}
results.add(music);
} while (cursor.moveToNext());
}
if (cursor != null) {
cursor.close();
}
subscriber.onNext(results);
subscriber.onComplete();
} catch (Exception e) {
subscriber.onError(e);
}
});
}
use of com.cyl.musiclake.bean.Music in project MusicLake by caiyonglong.
the class AlbumSongLoader method getSongsForAlbumDB.
public static Observable<List<Music>> getSongsForAlbumDB(final Context context, final Cursor cursor) {
return Observable.create(subscriber -> {
DBDaoImpl dbDaoImpl = new DBDaoImpl(context);
List<Music> results = dbDaoImpl.getSongsForCursor(cursor);
dbDaoImpl.closeDB();
subscriber.onNext(results);
subscriber.onComplete();
});
}
Aggregations