我正在尝试在我的项目中学习和使用 Facebook SDK, 首先我得到: com.facebook.widget.loginbutton 实例化失败
然后我开始得到:
activity_main.xml: org.json.JSONException 每当我启动应用程序时,我都会得到:
05-05 23:45:44.180: E/AndroidRuntime(31957): FATAL EXCEPTION: AsyncTask #1
05-05 23:45:44.180: E/AndroidRuntime(31957): java.lang.RuntimeException: An error occured while executing doInBackground()
05-05 23:45:44.180: E/AndroidRuntime(31957): at android.os.AsyncTask$3.done(AsyncTask.java:299)
05-05 23:45:44.180: E/AndroidRuntime(31957): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
05-05 23:45:44.180: E/AndroidRuntime(31957): at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
05-05 23:45:44.180: E/AndroidRuntime(31957): at java.util.concurrent.FutureTask.run(FutureTask.java:239)
05-05 23:45:44.180: E/AndroidRuntime(31957): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
05-05 23:45:44.180: E/AndroidRuntime(31957): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
05-05 23:45:44.180: E/AndroidRuntime(31957): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
05-05 23:45:44.180: E/AndroidRuntime(31957): at java.lang.Thread.run(Thread.java:841)
05-05 23:45:44.180: E/AndroidRuntime(31957): Caused by: java.lang.NullPointerException
05-05 23:45:44.180: E/AndroidRuntime(31957): at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:911)
05-05 23:45:44.180: E/AndroidRuntime(31957): at com.facebook.internal.Utility.queryAppSettings(Utility.java:372)
05-05 23:45:44.180: E/AndroidRuntime(31957): at com.facebook.widget.LoginButton$1.doInBackground(LoginButton.java:667)
05-05 23:45:44.180: E/AndroidRuntime(31957): at com.facebook.widget.LoginButton$1.doInBackground(LoginButton.java:1)
05-05 23:45:44.180: E/AndroidRuntime(31957): at android.os.AsyncTask$2.call(AsyncTask.java:287)
05-05 23:45:44.180: E/AndroidRuntime(31957): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
05-05 23:45:44.180: E/AndroidRuntime(31957): ... 4 more
我正在关注 Facebook 开发人员的 Facebook SDK 文档,并且刚刚完成了第 1 步,该应用程序与 Facebook 文档说明的编写方式 100% 完全相同。
打开xml文件时抛出JSON错误:
<LinearLayout 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:orientation="vertical">
<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_marginTop="30dp"
/>
</LinearLayout>
然后按图形布局。
有什么帮助吗?在过去的 12 个小时里一直坚持这个。
最佳答案
更改您的应用程序 list 文件
<activity
android:name="com.example.LoginActivity"
android:label="@string/app_name"
android:parentActivityName="com.example.MainActivity" >
</activity>
<activity android:name="com.facebook.LoginActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
记得转到您应用程序的Dashboard Facebook 开发者网站上的页面并复制您的应用程序 ID,然后在 res/strings.xml
中创建字符串资源文件
<string name="app_id">YOUR APP ID</string>
关于Android facebook 登录小部件 : org. json.JSONException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23483262/