0

Androidでsmack apiを使用してチャットアプリケーションに取り組んでいます。smack を使用して、メッセージ本文のテキストの間またはテキストの最後に絵文字を送信するにはどうすればよいですか? また、受信したメッセージについても、テキストテキストのどこかに絵文字があることをどのように検出できますか。このリンクを 参照しましたhttp://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/xhtml.html

これは絵文字を送受信する唯一の方法ですか、それとも正しい方法ですか?

問題 2: XMPP サーバーの接続が失われたことをどのように検出できますか。誰でもアイデアを思いつくことができますか?あなたのアイデアを共有してください

4

3 に答える 3

4

Android で次のリスナーを使用して、XMPP 接続が失われたかどうかを検出できます。

connection.addConnectionListener(new ConnectionListener() {
    @Override
    public void reconnectionSuccessful() {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> reconnectionSuccessful");
    }

    @Override
    public void reconnectionFailed(Exception arg0) {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> reconnectionFailed >>> " + arg0.toString());
    }

    @Override
    public void reconnectingIn(int arg0) {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> reconnectingIn >>> " + arg0);
    }

    @Override
    public void connectionClosedOnError(Exception arg0) {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> connectionClosedOnError >>>" + arg0.toString());

    }

    @Override
    public void connectionClosed() {
        // TODO Auto-generated method stub
        System.out.println("ConnectionListener ==== >>>>> connectionClosed");
    }
});
于 2014-09-23T09:37:59.377 に答える
1

絵文字にはこのライブラリを使用します。

https://github.com/rockerhieu/emojicon

XMPP 経由でパケットを送信するときは、Base64 エンコードを行うことを忘れないでください。Base64 エンコーディングがないと、XMPP 接続が常に失われる可能性があります。

ハッピーコーディング!! :)

于 2014-11-18T14:23:33.777 に答える
0

あなたの質問は、主に 2 つの点に依存します。

  1. すべてのユーザーがクライアントを使用していますか?
  2. たくさんの顔文字を使いたいですか、それとも標準の顔文字だけを使いたいですか?

ユーザーがすべてクライアントを使用している場合は、好きなように実装できます。別の可能な方法は、メッセージ本文に配置する文字パターンを考え出すことです。これは、正規表現パターン サーチャーによって取得されますが、これは、いくつかの絵文字を使用すると複雑になります。

于 2013-09-03T05:53:15.757 に答える