2016-12-30 6 views
0

私はオンライン音楽アプリケーションを持っています。mysqliサーバ戦略から好きなボタンを確認するためのAndroidヘルプ

私のアプリケーションには、1つのリストビューと1つのフラグメントプレーヤーページがあります。

プレイヤーページはボタンのように持っている(2状態):

  • は(赤いハートのアイコン)
  • 無いような(白いハートのアイコン)

私の方法はmysqliからのようにチェックしているようなものですサーバにpostリクエストを送信し、json応答を取得する(0-> falseまたは1-> true)。 falseは好きで真実が好きでないことを意味します。

今、すべてのリクエストと公開プレイヤーの断片に対して、このリクエストはチェックのためにサーバーに送信されます。要求の数が多すぎるし、サーバーが休止しない:\

私の方法価値がない:

Instagramのような方法とFacebookのアプリは、何がチェックアウトするのが好きですか?

答えて

0

これを行う必要はありません。 Facebookやその他の大手ソーシャルメディア会社が行うことは、サーバーからJSONを要求しているときのような状態を含むことです。したがって、SQLクエリにJOINロジックを追加する必要があります。あなたは、リストビューのためにJSONデータを要求するたびに、あなたのJSONデータがこのようなものになります:あなたは、その現在のリスト項目から、またはお使いの場合は、ディスプレイのための詳細をアクティビティを使用している場合

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

次に、あなたの意図にそれらのデータを渡す必要がありますフラグメントを使用すると、アクティビティからフラグメントにデータを送信する方法について、これに続くことができます。linkあなたのフラグメントを開くたびに、サーバーから要求データを保持するのではなく、他の何をするかを知っていることを確認してください。

+0

あなたの回答は役に立ちます。ありがとうございます。あなたの意見では、クエリで 'JOIN'を使用する(likesテーブルの音楽テーブルに参加する)曲のリストを取得するには、難しくてコストがかかりますか?またはこの方法は良いですか? - >私はリストビューのデータを取得するためにJOINを使用せず、フラグメントプレーヤーのページでのみ、開いたフラグメントごとにポストリクエストのようにチェックしますか? – frzdno

+0

'JOIN'は高価ではありませんか? – frzdno

+0

全くありません。大規模なハイテク企業で働いている私の友人は、100行ほどのコードについて、そのほとんどがJOINとサブクエリです。あなたはそれに精通しているときに参加する方法は非常に使いやすいですが、両方のテーブルにあなたが参加する必要がある列を関連付けている必要があります。 MUSIC TABLE id、LIKE TABLEのmusic_idを参照すると、どの音楽が好きであったかを知ることができます。それは本当に高価な場合は、mysqlは私たちのためにこの関数で構築されません。 –

関連する問題