2012-05-18 12 views
8

私はAndroid用のチャットアプリケーションを作成したいと思います。私はそれを行うための最良の方法を知りたいと思います。 私の最初の選択肢は、電話機とサーバーの間でソケット接続を使用して、サーバーが新しいメッセージを電話機に送信できるようにすることです。Androidチャットアプリケーション開発

2番目のオプションはC2DMを使用することです。

ソケットやC2DMを使ってどのように実装されているのようなチャットアプリケーションですか?

上記のようなアプリケーションを作成するより良い方法はありますか?

ありがとうございます。

答えて

3

asmackおよびOpenFireが最も簡単です。ホイールを再構築する必要はありません。

RTWにしたい場合は、アプリケーションがフォアグラウンドになっているときにソケットを開き、そうでないときにC2DMを使用します。 BTW C2DMはPITNであるため、Urban Airshipのようなサービスの利用を検討してください。

+0

現在、私はアンドロイドについて学んでいるので、私はホイールを再発明したいと思っています。 私はXMPPについて読んで、広く使われているようです。 私はXMPPがどのように動作するのか、XMPPはTCP/IP接続なので、私の質問は、SMSサービスのようにアンドロイドアプリケーションが閉じられたときにメッセージをプッシュする方法です。 ありがとうございます.. – Catalin

+0

XMPPクライアントは、アプリケーションが終了しても、サーバーとのソケット接続を維持します。 Androidでは、アプリケーションを終了できますが、すべてのプロセスを停止することはできません。 –

7

C2DM(現在はGCMとして知られています)は、チャットアプリケーションを構築するのに適していません。アプリがフォアグラウンドにあるとき、アプリケーションがバックグラウンドでプッシュ通知の目的でGCMを使用しているときに、サーバーとのソケット接続を作成します。あなた自身のサーバーをホストする必要がありますが、私は車輪を再開発してApplozic(https://www.applozic.com)チャットsdkのような何かを使用することをお勧めしますwhatsappと多くのような機能を1時間以内に与える。