2016-12-30 44 views
0

我有在线音乐应用程序。从mysqli服务器策略检查按钮的Android帮助

我的应用程序有1个listview和1个片段播放器页面。

播放页面有一个像按钮(2状态):

  • 像(红色心脏图标)
  • 没有像(白心脏图标)

我的方法是检查像mysqli数据库服务器使用通过向服务器发送post请求并获得json响应包括(0-> false或1-> true)。虚假意味着不喜欢和真正意味着喜欢。

现在,对于每个请求并打开播放器片段,将此请求发布到服务器进行检查。请求数太多,我的服务器不休息:\

我的方法不值得:

像Instagram这样的方法和Facebook应用程序喜欢检查什么是?

回答

0

你不必这样做。 Facebook或其他大型社交媒体公司做的事情是他们在从服务器请求JSON的同时包含像状态一样。所以你需要添加JOIN逻辑到你的sql查询中。您每次请求JSON数据为您的ListView时候你的JSON数据将是这样的:

{ 
    .... //all of yours json data 
    likeState : "true" 
} 

然后,你需要将这些数据传递到意图,如果你使用活动显示从当前列表中的项目,或者如果您详细使用片段,您可以按照此link关于如何将数据从活动发送到片段。检查是否像StateState是真的,那么你知道还有什么要做,而不是每次打开你的碎片时都要保留来自服务器的请求数据。

+0

你的回答很有帮助,谢谢。在你看来,在查询中使用'JOIN'(加入喜欢表的音乐表)要获得歌曲列表,很困难且昂贵吗?或者这种方式更好? - >我没有使用JOIN获取listview数据,并且只有在片段播放器页面中,我每次打开片段时都会用post请求进行检查? – frzdno

+0

'JOIN'不贵吗? – frzdno

+0

没有。我的朋友在一家大型科技公司工作,他们对100行代码的查询大部分是JOIN和子查询。顺便说一句,当你熟悉它时很容易使用,但是你需要在两个表中都有关联列,例如你需要加入。 MUSIC TABLE ID,LIKE TABLE music_id然后你可以相互引用来知道哪些音乐是一样的。如果真的那么昂贵的mysql甚至不会为我们构建这个函数。 –