android音乐播放器获取最后播放列表

时间:2016-08-24 10:45:50

标签: java android service audio-player android-music-player

如果已经提出这个问题,我很抱歉,我找不到关键字。 我目前正在构建音乐流媒体应用。我在播放时遇到问题。 因此,为了记住下一首要播放的歌曲,我开始播放音乐服务并发送音乐剧和需要播放的当前位置。

activity.stopService(new Intent(activity, MusicService.class));
activity.startService(new Intent(activity, MusicService.class).putExtra("list", data)
                        .putExtra("position", position));

我在整个应用程序中有一个小空间,现在播放音乐。它很有效,除非我重新启动手机,这意味着服务被破坏,应用程序不记得最后播放的列表。

我正在考虑创建一个本地数据库来记住最后播放的列表。但我认为这不是最好的做法。有人能给我一个实现我需要的方法吗?谢谢!

编辑: 我最终将arraylist转换为JSON并保存在SharedPreference中。下次我需要它时,我将它转换回arraylist。

1 个答案:

答案 0 :(得分:1)

我自己为Android创建了一个音乐播放器应用程序,我所做的是为了保存最后播放的歌曲列表如下:

  1. 创建了一个 Hashmap ,其中歌曲ID为关键,列表中的位置为值
  2. 每当播放歌曲时更新此Hashmap。
  3. 最后,将此Hashmap保存在设备的内部存储器中。
  4. 将Hashmap保存在内部存储器中的代码 -

     File Listdirectory = cw.getDir("your direcotry", Context.MODE_PRIVATE);
        File ListPath = new File(Listdirectory,"file name");
        try {
            FileOutputStream fMap = new FileOutputStream(ListPath);
            ObjectOutputStream s = new ObjectOutputStream(fMap);
            s.writeObject(your hashmap);
            s.close();
        }
        catch (Exception e){
    
        }