facebook login nullzeiger ausnahme android

8

Ich habe viel durch stackoverflow gesucht, aber ich konnte keine Antwort finden, die mein Problem löst. Daher poste ich dies.

Ich habe eine Beispiel Android App, in der ich versuche Facebook Login zu verwenden. Hier sind die Schritte, denen ich gefolgt bin:

Umgebung: Android Studio Android SDK-Version: 22 Facebook SDK: 4.0

Befolgte die Schritte zur Installation von FB APK auf dem Emulator, generierte den Entwickler-Hash-Schlüssel und aktualisierte ihn in app- & gt; die Einstellungen. Mein Android-Manifest hat diesen Code

%Vor%

In meiner activity_main.xml-Layoutdatei habe ich diesen Codeabschnitt

%Vor%

Und schließlich in meiner Haupttätigkeit habe ich das

%Vor%

Ich erhalte eine Nullzeiger-Ausnahme, wie unten gezeigt.

%Vor%

Was fehlt mir hier?

    
user2752910 05.04.2015, 05:58
quelle

3 Antworten

13

Sieht so aus, als ob Sie NullPointerException erhalten, weil Sie findViewById() aufrufen, bevor Sie setContentView() aufrufen, also ist loginButton null, wenn Sie loginButton.registerCallback() aufrufen.

Bewegen Sie den Aufruf einfach nach setContentView() nach oben:

%Vor%     
Daniel Nugent 05.04.2015 06:52
quelle
8

Der Absturz scheint mit der applicationId zusammenzuhängen, die wir in der AndoridMenifest.xml -Datei festlegen. Als ich herausgefunden habe, dass wenn Facebook sdk die LoginFramment erstellt, dann wird ApplicationId als null kommen. Hier ist onCreate Methode von com.facebook.login.LoginFragment class

%Vor%

Wie im varoius post angegeben, wird die ApplicationId null, weil die String-Ressource app_id nicht korrekt von Android geparst wird. Ссылка

Ich habe dieses Problem gelöst, indem ich die applicationId nach der Initialisierung der facebook sdk wie unten in onCreate method angegeben manuell gesetzt habe.

%Vor%     
anj 24.06.2015 16:36
quelle
0

als ein angegebenes Problem wird normalerweise mit der ApplicationId nicht gelesen. In meinem Fall war Problem mit dem Namensraum. Stellen Sie sicher, dass Ihr Namespace der Klasse der Root-Namespace ist. Also meine App ist eine Xamarin Android App und ich habe Namespace wie folgt verwendet, aber der Namespace meiner Android App ist myApp.Droid, so wird ApplicaitonId nicht von strings.xml gelesen und zu myApp.Droid geändert, behebt mein Problem. Ich hoffe, dass es anderen hilft, ähnliche Probleme zu haben.

%Vor%     
batmaci 12.11.2017 17:24
quelle