2015-02-06 400 views
0

我正在构建一个音频播放器,用户可以从中选择一首他想从ListView收听的歌曲。在他点击一首歌曲后,音频播放器开始播放该歌曲。从停止播放音乐的时刻继续播放音乐

音频文件不是本地存储的,它们是从一些在线音频库中提取的。用户打开歌曲列表后,他收到了很多网址,谁是这样的:

http://audiolibrary.com/user/1/77.mp3 
http://audiolibrary.com/user/1/567.mp3 
http://audiolibrary.com/user/1/34.mp3 

每首歌曲是确定与唯一的ID,你可以看到。临时下载该歌曲并播放音频很容易,而且工作正常。我要完成的事情是这样的:在列表视图中的松1

  1. 用户点击和松1开始播放
  2. 在再现中途的,用户确定他有足够的松1,并切换到song2
  3. 他关闭,同时song2仍然没有
  4. ,当他打开一个应用程序,如果他点击松1或song2接下来的时间完成了应用程序,再现从地方开始的地方,他停下监听松1或song2

如何在Android上有效地完成类似的事情?我应该为这种情况创建SQLite数据库,请使用SharedPreferences还是别的?你通常如何处理类似的情况?

谢谢:)

回答

1

你需要存储时间,他按下暂停在永久的时尚。这个选项是数据库,共享首选项,Web服务或文件。每个人都有优点和缺点。

数据库的优点:与如果需要其他信息,易于扩展,没有难做的解析代码

数据库缺点:很多什么是一个相当简单的数据量,对第三方代码的附加依赖设置代码

共享偏好优点:设置和使用的最小代码

共享优选缺点:对于动态字符串名称并非真正的意思,解析速度慢,并且性能会随着字符串数量的减少而降低,而且不容易存储其他数据。

web服务的优点:将跨设备提供/平台

webservice的缺点:需要服务器和大多数代码做的,需要互联网连接

自定义文件格式的优点:您的需求绝对优化,如果你设计好的格式很容易扩展

自定义文件格式缺点:所有的自定义代码,你将不得不编写所有的代码。

选择一个最适合你的人。