簡體   English   中英

android工作室中facebook api上的doInBackground()錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM