メソッドのリスナーを実装するのに本当に苦労しています。
現在の作業では、新しい情報を確認するために5秒ごとにメソッドをリクエストする必要があるため、新しい情報が来るたびに通知するメソッドを実装して、リクエストしたメソッドを5秒ごとに破棄します。
(私はすでにオブザーバーパターンについて読みましたが、実装に成功しませんでした。)
よろしくお願いします
詳細:今のところ、新しいメッセージをmsgsキューに保存するために、smackXMPPライブラリからこのメソッドをオーバーライドします。
public void processMessage(Chat chat, Message message) {
if (message.getType() == Message.Type.chat) {
req = message.getBody().toString();
String[] temp = { chat.getParticipant().toString(), req };
System.out.println(temp[0]+"says:"+temp[1]);
synchronized (lock) {
msgs.add(temp);
}
}
}
そして、新しいメッセージを確認するために、このメソッドを0.5秒ごとに実行します。
public String[] getMessage() {
synchronized (lock) {
String[] data;
data=msgs.poll();
return data;
}
}
processMessageが実行されるたびに通知する通知システムを設定しようとしています。