【问题标题】:android music player get last played listandroid音乐播放器获取最后播放列表
【发布时间】:2016-08-24 10:45:50
【问题描述】:

很抱歉,如果这个问题已经被问过,我找不到关键字。 我目前正在构建一个音乐流媒体应用程序。我在播放时遇到问题。 所以为了记住下一首要播放的歌曲,我启动了音乐服务并发送了一个包含音乐的数组列表和需要播放的当前位置。

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

我在整个应用程序中有一个小空间显示正在播放音乐。效果很好,除非我重新启动手机,这意味着服务被破坏并且应用程序不记得上次播放的列表。

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

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

【问题讨论】:

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


    【解决方案1】:

    我自己为 android 创建了一个音乐播放器应用程序,我为保存上次播放的歌曲列表所做的操作如下 -

    1. 创建了一个 Hashmap,其中歌曲 ID 为键,列表中的位置为值
    2. 播放歌曲时更新此 Hashmap。
    3. 最后,将此Hashmap保存到设备内存中。

    将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){
    
        }
    

    【讨论】:

    猜你喜欢
    • 2012-06-19
    • 2014-04-13
    • 1970-01-01
    • 2021-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多