我对开发Android应用程序都很陌生,在开发这样的应用程序时只有很多知识。
我正在尝试开始实施Facebook登录功能,但我在Facebook上找到的指南使一切都比它应该更糟。
我希望有人可以从头到尾详细介绍如何制作Facebook登录开始页面并使用facebook帐户进行适当的身份验证。?
记住我对此很新......
最好的问候 托马斯
答案 0 :(得分:0)
Facebook SDK
Android
对于那些刚刚将Facebook集成到他们的应用中的人来说非常复杂,特别是对于刚接触Android编程的人。这些教程非常详细,但经常引用已经创建的代码,因此您必须在您面前拥有该代码(来自Facebook示例)。
然而,使用新的Facebook SDK
,登录时“非常简单”。这是通过LoginButton
完成的。请注意,我在引号中加上“非常简单”,因为这肯定是一个意见问题。让我试着把它分解成一个易于理解的方法,并突出我遇到的一些重要的事情和问题。
首先,take a look at the Getting Started page.特别注意第3步(“将SDK导入Eclipse”),第4步结束(“运行样本”)和第5步(“创建一个” Facebook App“)。步骤4的结尾是您生成将在下一步中使用的keyhash
的位置。请注意,当命令提示符代码引用openssl
时,它意味着将整个路径放到openssl
应用程序中。如果你没有它,你需要下载它。此外,此步骤很重要,因为它不允许您登录,除非它是正确的。
接下来,保存上面收到的应用ID(在入门的第5步)并将其保存到字符串资源中,如下所示:
<string name="app_id">YOUR_APP_ID_HERE</string>
然后,在您的清单文件中,将其置于Activity
标记内的所有其他Application
声明下方:
<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"/>
此外,在您的清单中,请确保您拥有以下权限:
<uses-permission android:name="android.permission.INTERNET"/>
现在,在布局xml文件中你需要LoginButton
,输入如下内容:
<com.facebook.widget.LoginButton
android:id="@+id/login_button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_margin="10dp"
android:layout_gravity="center_horizontal"/>
最后,在您的Activity
或Fragment
中,您可以设置OnErrorListener
,如下所示:
// Set an error listener for the login button
LoginButton loginButton = (LoginButton) v.findViewById(R.id.login_button);
if (loginButton != null) {
loginButton.setOnErrorListener(new OnErrorListener() {
@Override
public void onError(FacebookException error) {
if (error != null && !(error instanceof FacebookOperationCanceledException)) {
// Failed probably due to network error (rather than user canceling dialog which would throw a FacebookOperationCanceledException)
((HangmanActivity) getActivity()).showError(getResources().getString(R.string.network_error), false);
}
}
});
}
您可以将上述代码放在onCreate
或onCreateView
方法中。上面的代码看到是否由于互联网连接丢失而出现错误。现在,如果你运行你的应用程序,你应该能够点击LoginButton
,它会将你登录到Facebook,然后它将切换到说“退出”(再次点击时会将你注销)。这就是登录的全部内容,但是,如果您想添加更多功能,我建议您查看Facebook的其他教程like this one.注意,我刚才所说的教程引用了他们提供的示例项目使用SDK。它还使用了大量碎片,因此请确保您也熟悉它们。好吧,我希望有所帮助!