我想在我的应用程序中保存SqlLite数据库中的歌曲。并希望收听离线音乐。 我的应用程序是在线播放音乐,并通过链接在线播放音乐 请指导。 在此先感谢
答案 0 :(得分:0)
目前我正在开发媒体播放器应用程序,我的建议是保存在app文件夹中加密的歌曲。而不是在SQL中保存歌曲的路径。
我正在做同样的事情,但我没有保存在SQL中,而是使用 GSON 序列化 ArrayList 对象,并将它们保存在en 加密的共享中偏好设置即可。该对象只有必需品(标题,艺术家......)和保存歌曲的路径。
示例代码:
public void saveReferenceToSavedSongs(String json) {
try {
editor.putString("songs_key", json);
editor.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
public String getReferenceToSavedSongs() {
try {
return sharedPreferences.getString("songs_key", "");
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
如何使用:(不要忘记加密json)
// to save them
ArrayList<Song> temp = new ArrayList<Song>();
// add songs
saveReferenceToSavedSongs(new Gson().toJson(temp));
// to load them
ArrayList<Song> songs = load(getReferenceToSavedSongs());
public ArrayList<Song> load(String json) {
if (json != null && !json.equals("")) {
Gson gson = new Gson();
Type typeToken = new TypeToken<ArrayList<Song>>() {
}.getType();
savedSongs = gson.fromJson(json, typeToken);
}
return savedSongs;
}