我如何将facebook登录到我刚开始开发的应用程序中?
我对开发android应用程序都很陌生,在开发这类应用程序时只有大量的知识。我如何将facebook登录到我刚开始开发的应用程序中?
我试着从做一些Facebook登录功能的实现开始,但是我在Facebook上发现的指南让所有的事情都变得更糟。
我希望有人可以给我一个彻底的从头到尾走过如何使一个Facebook登录开始页面和做适当的身份验证与Facebook的帐户..?
记得我很新的这..
问候 的托马斯
的Facebook SDK
为Android
可以是人谁是新的Facebook集成到他们的应用程序,特别是对于一个相当复杂新的Android编程。这些教程非常详细,但经常引用已经创建的代码,所以你必须在你面前有该代码(来自Facebook示例)。
但是,使用新的Facebook SDK
,只需登录即可“非常容易”。这是通过LoginButton
完成的。请注意,我把“非常容易”放在引号中,因为这肯定是一个意见问题。让我试着将其分解成易于遵循的方法,并突出显示我碰到的一些重要事情和问题。
首先,take a look at the Getting Started page.第3步(“将SDK导入到Eclipse”),第4步(“运行示例”)和第5步(“创建Facebook应用程序” )。步骤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的示例项目。它也使用了很多碎片,所以请确保你也熟悉它们。那么,我希望这有助于!
如果您了解围绕AJAX的方法,我可能会推荐[AQuery](http://code.google.com/p/android-query/#AJAX_Callback)。这不是一个严格的Facebook登录API,但这是它的一个特点。 – MowDownJoe 2013-04-20 19:00:54