2015-02-06 287 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的缺點:需要服務器和大多數代碼做的,需要互聯網連接

自定義文件格式的優點:您的需求絕對優化,如果你設計好的格式很容易擴展

自定義文件格式缺點:所有的自定義代碼,你將不得不編寫所有的代碼。

選擇一個最適合你的人。