2017-03-07 4 views
0

私はカスタムチャットアプリケーションを開発しています。Androidのバックグラウンドサービス:CPUとネットワークの使用に疑問がある

送信済みメッセージは簡単なPOSTを使用して自分のサーバーに保存されます。バックグラウンドで実行されます

サービスは、現在のユーザーのための新しいメッセージがある場合は、別のPOSTごと5秒を使用してチェックし、彼/彼女に通知を送信する責任があります。

私はインターネット接続が一日中使用されていることを知っているので、ネットワークとCPUの使用が少し心配です。

私は受信者への通知を配信する前にサーバーコード上のデータを操作する必要があるため、このアプローチを使用しました。

例として、管理者として割り当てられているユーザーがいくつかあります。ユーザー名はメールアドレスです。管理者の1人からメッセージが送信されると、通知を受信者に配信する前に、ユーザー名(電子メールなど)をアプリケーション名で上書きします。

これは、カスタムチャットアプリケーションを作成するための最良の方法ですか?

+0

メッセージを送信するたびに、ユーザ名でメールを書き換えていますか?なぜあなたはアプリケーション側ではなくサーバー側で作成する必要がありますか? – kristyna

+0

はい私はそれを行います。単に誰かがそれを逆コンパイルしてこの動作を変更できるからです。魔法のようにすべてのコミュニティにメッセージを送信することができる... – Seed3Key

答えて

0

なぜこのユースケースを使用したのか正確にはわかりませんが、本当にシンプルなソリューションはFirebaseを提供します。

あなたはそれについて何かを読むことができますhere。基本的に、あなたがする必要はあり:

  • ユーザーにメッセージを表示しますFirebaseListAdapterを作成

    1. がfirebaseリアルタイムデータベースにメッセージを追加します
    2. をクリックし、「メッセージを送る」にリスナーを追加し、いくつかのレイアウトを作成します
    database docs

    から

    すべてのクライアントは、1つのリアルタイムデータベースを共有するI最新のデータで更新を自動的に受信します。

    私の要約から、いくつかのメッセージがある場合は5秒ごとに確認する必要はありません。 Firebaseがそれを処理します。

  • +0

    基本的に私は管理者であるユーザーのカップルがあります。彼らがチャットメッセージを送るとき、私はサーバでPHPコードを上書きし、ハードコードされた名前を使ってその詳細をコード化します。 firebaseを使用して私はそのようなデータのコントロールを持つことはできません。私に何か提案してもらえますか? – Seed3Key

    関連する問題