[英]In Android Studio, I am getting this error in “doInBackground method”
[英]doInBackground() error on facebook api in android studio
我按照Facebook教程集成SDK,剛剛在我的.xml文件中添加了登錄到Facebook按鈕后,我的應用程序將編譯,打開(在我的Nexus 4上運行Lollipop,項目針對kitkat +),然后崩潰。 我正在開發完全更新的Android Studio。
logcat的:
02-07 22:48:24.340 1563-1600/com.example.prachi.mapsapplication E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
Process: com.example.prachi.mapsapplication, PID: 1563
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Object.hashCode()' on a null object reference
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:746)
at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:774)
at com.facebook.internal.Utility.queryAppSettings(Utility.java:673)
at com.facebook.widget.LoginButton$1.doInBackground(LoginButton.java:678)
at com.facebook.widget.LoginButton$1.doInBackground(LoginButton.java:675)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:id="@+id/main">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Adventure Options"
android:id="@+id/options"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="139dp"
android:onClick="optionOnClick" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Random Adventure"
android:id="@+id/random"
android:layout_marginTop="57dp"
android:onClick="randomOnClick"
android:layout_below="@+id/authButton"
android:layout_alignStart="@+id/options" />
<com.facebook.widget.LoginButton
android:id="@+id/authButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
如果您未在清單應用程序標記中包含應用程序ID,則會崩潰。 如果是這種情況,請確保您的應用已在您的Facebook開發者帳戶中注冊,獲取應用ID,並將其放入您的字符串值。
<string name="app_id">XXXXXXXXXXXXXXX</string>
之后,將以下內容放入清單中的應用程序標記中:
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
看來你還沒有添加Facebook應用程序ID。 如果是這樣,您必須在Facebook Developers Dashboard中創建應用程序並在儀表板中創建新應用程序。 你會得到一個應用程序ID。 將應用程序ID保存在values / string.xml文件中。
<string name="facebook_app_id">XXXXXXXXXXXXXXX</string>
然后在AndroidManifest.xml中為您的應用程序添加元標記
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.