Android Studio 1.1.0 Facebook SDK 登录 [英] Android Studio 1.1.0 Facebook SDK Login
问题描述
我尝试使用 facebook SDK 测试登录.
I try to test the login with facebook SDK.
所以我添加了 compile 'com.facebook.android:facebook-android-sdk:4.0.0'
.
然后添加 FacebookSdk.sdkInitialize(getApplicationContext());
到 MainActivity.java
Then add FacebookSdk.sdkInitialize(getApplicationContext());
to MainActivity.java
但是当我添加时
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp" />`
我有以下错误:
Rendering Problems The following classes could not be instantiated:
com.facebook.login.widget.LoginButton (Open Class, Show Exception)
Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE
Exception Details java.lang.NoClassDefFoundError: Could not initialize class com.facebook.login.widget.LoginButton
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:385) Copy stack to clipboard
推荐答案
你没有发布你的活动代码.但我认为你的代码是这样的:
You didn't posted your Activity code. But i think your code is like:
setContentView(R.layout.my_login_layout);
FacebookSdk.sdkInitialize(getApplicationContext());
mCallbackManager = CallbackManager.Factory.create();
问题在于代码的顺序.忽略布局中的渲染问题",将代码顺序改为:
The problem is the order of the code. Ignore the "Render problems" in the layout, change the order of the code to this:
FacebookSdk.sdkInitialize(getApplicationContext());
mCallbackManager = CallbackManager.Factory.create(); // this line doesn't matter
setContentView(R.layout.my_login_layout);
在 OnCreate(...) { ... } 中使用此代码
Use this code in OnCreate(...) { ... }
避免布局渲染问题
如果您想解决渲染问题(布局预览),请查看 @Nathan30 回答(见下文).
if you want to solve the render problems (layout preview) check the @Nathan30 answer (see below).
- 下载 Facebook SDK
- 将其作为模块导入您的项目
- 然后将
<com.facebook.widget.LoginButton .../>
添加到您的布局中.
- Download Facebook SDK
- Import it as a Module to your project
- Then add
<com.facebook.widget.LoginButton .../>
to your layout.
这篇关于Android Studio 1.1.0 Facebook SDK 登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!