2017-06-05 66 views
0

我正在處理音頻流Android應用程序,並且我將JSON對象從服務器解析爲TextView,以便爲歌曲名稱和藝術家顯示'正在播放'。所以當點擊播放按鈕時,歌曲名稱播放藝術家將顯示給用戶。問題是我希望當從服務器更新JSON URL鏈接時,它會自動加載到應用程序視圖。我不希望用戶按暫停和播放來更新應用程序的視圖。我該如何解決這個問題,因爲我不希望用戶在每次播放新歌曲時都要重新啓動服務以獲取歌曲信息。如何在android中實現JSON對象的自動加載?

+0

我一直在嘗試這幾天 –

回答

0

您可以在很短的時間間隔內輪詢服務器以檢查歌曲是否改變或打開套接字連接到服務器,以使服務器可以啓動與設備的通信。

最簡單形式的第一種方法是非常糟糕的做法,因爲它會對設備和服務器造成壓力,無法檢查它。
但是有不同的方式來使用它,稱爲長輪詢。有了這個,你發送請求到服務器,服務器不會立即響應,但保持連接打開,直到它有話要說。在立即得到答覆之後,將創建新的請求以確保不會造成延遲。

最好的方法是打開套接字連接,但不是每個服務器和程序都支持它。

你可以嘗試像SignalR庫(這個人是.NET居多,但它是來到我的腦海的第一個),該選擇哪種方法是最好的,並採取持有連接,重新連接等

0
護理

每次播放歌曲時,您是否抓取這個JSON元數據?如果是這樣,那聽起來不是一個好主意。理想的做法是在播放列表中添加一首歌曲時添加歌曲元數據,然後定期更新(可能需要幾天),然後將該信息保存到SQLite數據庫中供以後檢索。

+0

我實現了應用程序的單一流鏈接。因此,每次播放單個歌曲時,歌曲的名稱都會通過JSON解析到應用中的視圖。我希望無限更新視圖中的視圖,並在服務器中進行更新 –