如何在android中实现JSON对象的自动加载?

时间:2017-06-05 16:49:00

标签: java android ajax

我正在开发一个音频流Android应用程序,我将JSON对象从服务器解析为TextView,以显示歌曲名称和艺术家的“正在播放”。因此,当点击播放按钮时,将向用户显示歌曲名称播放艺术家。问题是,当从服务器更新JSON URL链接时,我希望将其自动加载到应用程序视图中。我不希望用户按暂停和播放来更新应用程序中的视图。我该如何解决这个问题,因为我不希望用户每次新歌播放时都重新启动该服务以获取歌曲信息。

2 个答案:

答案 0 :(得分:0)

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

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

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

您可以尝试像SignalR这样的库(这个主要用于.NET,但它是第一个我想到的),它选择哪种方法是最好的,并负责保持连接,重新连接等。

答案 1 :(得分:0)

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