我正在使用定義JunctionActor的外部包。這個想法是JunctionActor可以通過名爲sendMessage的方法將JSON消息發送到遠程服務器,並通過調用onMessageReceived的偵聽器接收消息。在我的實現中,設備接收它發送的每條消息,因此調用onMessageReceived。然而,在我的代碼中,我在我的Activity類中包含了一個ChatClient對象,它必須調用show_message方法。 show_message觸發一個Toast。當我從onJoin調用show_message時,根本沒有問題,但是當它從onMessageReceived調用時,什麼也沒有顯示,而我的調試器告訴我應用程序確實收到一條消息,並觸發onMessageReceived。與此同時,onJoin方法中的show_message調用實際上起作用。我看不出他們之間的任何區別。 你有解決方案嗎?觸發聽衆的祝酒
非常感謝
public class HelloWorldJunctionActivity extends Activity {
onCreate(...){...} [...]
private class ChatClient extends JunctionActor {
public ChatClient() {
super("client");
}
public void onActivityJoin() {
show_message("Connected");
}
@Override
public void onMessageReceived(MessageHeader header, JSONObject msg) {
try {
show_message(msg.getString("text"));
} catch (JSONException e) {
// TODO Auto-generated catch block
show_message(e.getMessage());
}
}
}
void show_message(String message) {
Toast
.makeText(HelloWorldJunctionActivity.this, message, Toast.LENGTH_SHORT)
.show();
}
}
JunctionActor由外部jar提供。因爲它是異步的,我想它有效地使用了一個不是UI線程的線程。這真的很有幫助,我會盡快測試。謝謝 –