2017-06-05 65 views
0

我正在处理音频流Android应用程序,并且我将JSON对象从服务器解析为TextView,以便为歌曲名称和艺术家显示'正在播放'。所以当点击播放按钮时,歌曲名称播放艺术家将显示给用户。问题是我希望当从服务器更新JSON URL链接时,它会自动加载到应用程序视图。我不希望用户按暂停和播放来更新应用程序的视图。我该如何解决这个问题,因为我不希望用户在每次播放新歌曲时都要重新启动服务以获取歌曲信息。如何在android中实现JSON对象的自动加载?

+0

我一直在尝试这几天 –

回答

0

您可以在很短的时间间隔内轮询服务器以检查歌曲是否改变或打开套接字连接到服务器,以使服务器可以启动与设备的通信。

最简单形式的第一种方法是非常糟糕的做法,因为它会对设备和服务器造成压力,无法检查它。
但是有不同的方式来使用它,称为长轮询。有了这个,你发送请求到服务器,服务器不会立即响应,但保持连接打开,直到它有话要说。在立即得到答复之后,将创建新的请求以确保不会造成延迟。

最好的方法是打开套接字连接,但不是每个服务器和程序都支持它。

你可以尝试像SignalR库(这个人是.NET居多,但它是来到我的脑海的第一个),该选择哪种方法是最好的,并采取持有连接,重新连接等

0
护理

每次播放歌曲时,您是否抓取这个JSON元数据?如果是这样,那听起来不是一个好主意。理想的做法是在播放列表中添加一首歌曲时添加歌曲元数据,然后定期更新(可能需要几天),然后将该信息保存到SQLite数据库中供以后检索。

+0

我实现了应用程序的单一流链接。因此,每次播放单个歌曲时,歌曲的名称都会通过JSON解析到应用中的视图。我希望无限更新视图中的视图,并在服务器中进行更新 –