【发布时间】:2011-07-27 20:08:42
【问题描述】:
我正在编写一个程序,它是一个音乐播放器和一个歌词查找器。到目前为止,程序每次加载时都必须读取每个音乐文件并检索 ID3 标签以查找艺术家姓名、歌曲名称等。当读取多个文件时,提取 ID3 标签的过程非常耗时-消耗。我希望能够将 ID3 信息保存到程序的私有数据目录中,而不是每次运行程序时读取每个 ID3 标签。
我对序列化和保存/加载这样的东西感到困惑。我猜我应该使用 FileOutput/InputStreams 或 ObjectOutput/InputStreams 来实现这一点,但我无法掌握它们。有人可以帮助我并告诉我如何正确保存和加载我的“歌曲”课程吗?以下是我需要保存的变量。
public class Song implements Serializable
{
private int index = 0, trackLength = 0;
private Bitmap albumArtwork = null;
private String toString, name, trackNumber, artist, album, lyrics, fileName, releaseDate;
}
如您所见,我需要跟踪一些字符串、两个整数和一个位图。有人可以告诉我如何将这些 array 或 ArrayList 保存到一个文件中,比如说,名为“music_info.sav”或类似的东西吗?另外,如何检查此文件是否存在(如果不存在,则将文件创建为空)?
【问题讨论】:
标签: java android serialization