vor Problem auf Android Klaps mit
Frage
ich eine Taste in Applikation für Android haben. Wenn die Schaltfläche geklickt wird folgender Code wird aufgerufen:
TestSmack a = new TestSmack();
a.login("abc@gmai.com","password");
Ich habe eine TestSmack Klasse ..... im Konstruktor dieser Klasse i schrieb
public TestSmack ()
{
ConnectionConfiguration connConfig = new
ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
connection = new XMPPConnection(connConfig);
}
wo XMPPConnection Verbindung eine globale Variable ist. Und in der Login-Methode versuche ich mit dem Server zu verbinden:
public void login(String userName, String password) throws XMPPException
{
SASLAuthentication.supportSASLMechanism("PLAIN", 0);
connection.connect();
connection.login(userName, password);
}
Aber es stürzt ab. Ich weiß nicht, was passiert.
Während, wenn ich diese alle Methoden von main()
anrufen und eine einfache Java-Anwendung in einem separaten Projekt (Java, nicht Android) laufen, es funktioniert.
Ich bin nicht in der Lage, um herauszufinden, was das Problem ist.
Danke
Lösung
Verwenden Sie die Standard-Bibliothek Smack? Als ich vor einigen Monaten mit XMPP herum spielen, mußte man die Bibliothek patchen, um es auf Android zu arbeiten. Vielleicht hilft:
http: //davanum.wordpress. com / 2008/12/29 / aktualisiert-xmpp-client-for-android /
Andere Tipps
Wenn jemand nicht in der Lage ist, das Programm auf Android dann prüfen, ob die connect () und login () SMACK API arbeiten gut oder not.Because Ich fand heraus, laufen, dass u
hinzufügen müssenUses-Berechtigung android: name = "android.permission.INTERNET" (setzen Sie ihn innerhalb von > separate Klammern)
in der AndroidManifest Datei für connect () und login () zu work.and nicht vergessen, die gepatchten Smack.jar zu verwenden.