public boolean connect() {
String host = "talk.google.com";
String port = "5222";
String service = "gmail.com";
ConnectionConfiguration connConfig = new ConnectionConfiguration(host,
Integer.parseInt(port), service);
connection = new XMPPConnection(connConfig);
try {
connection.connect();
log("xmpp connected");
connection.login("USERNAME@gmail.com", "Password");
log("user loged in");
log("loged user : " + connection.getUser());
} catch (XMPPException e) {
e.printStackTrace();
return false;
}
return true;
}
public void displayBuddyList() {
String user;
String status_Message;
int state;
Roster roster = connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
log("Buddy list size :"+entries.size());
for (RosterEntry r : entries) {
user=r.getUser();
status_Message=retrieveStatusMessage(user);
log("name: "+r.getName()+" user :"+user+" Status :"+status_Message+" type :"+retrieveState(user));
}
}
これはserviceで記述されたコードです。サービスクラスにxmpp接続オブジェクトを保持しています。これらのメソッドを呼び出すアクティビティからログインできます。logcatのログを確認できます。ただし、displayBuddyListを呼び出すとバディリストを取得できません。 ()。