Android 如何将facebook登录到我刚开始开发的应用程序中?

Android 如何将facebook登录到我刚开始开发的应用程序中?,android,facebook,authentication,login,Android,Facebook,Authentication,Login,我对开发android应用程序都很陌生,在开发此类应用程序时,我只掌握了基本的知识 我正试图从实现Facebook的登录功能开始,但我在Facebook上找到的指南让一切变得更糟 我希望有人能给我一个彻底的步行从开始到结束,如何使一个facebook登录开始页和做正确的身份验证与一个facebook帐户 记住我对这个很陌生 致意 Thomas对于刚刚将Facebook集成到应用程序中的人,尤其是对于刚接触Android编程的人来说,Android的Facebook SDK可能非常复杂。这些教程非

我对开发android应用程序都很陌生,在开发此类应用程序时,我只掌握了基本的知识

我正试图从实现Facebook的登录功能开始,但我在Facebook上找到的指南让一切变得更糟

我希望有人能给我一个彻底的步行从开始到结束,如何使一个facebook登录开始页和做正确的身份验证与一个facebook帐户

记住我对这个很陌生

致意
Thomas

对于刚刚将Facebook集成到应用程序中的人,尤其是对于刚接触Android编程的人来说,
Android的
Facebook SDK
可能非常复杂。这些教程非常详细,但经常引用已经创建的代码,因此您必须将这些代码(来自Facebook示例)放在面前才能继续学习

然而,有了新的
Facebook SDK
,登录就“相当容易”。这是通过
登录按钮完成的。注意,我在引号中加了“相当容易”,因为这当然是一个意见问题。让我试着把它分解成一个易于遵循的方法,并强调我遇到的一些重要的事情和问题

首先,请特别关注第3步(“将SDK导入Eclipse”)、第4步(“运行示例”)的末尾以及第5步(“创建Facebook应用程序”)。第4步的末尾是生成下一步使用的
keyhash
。注意,当命令提示符代码引用
openssl
时,意味着将整个路径放入
openssl
应用程序。如果你没有它,你需要下载它。此外,此步骤很重要,因为除非正确,否则它将不允许您登录

接下来,保存上面收到的应用程序id(在入门第5步中),并将其保存到字符串资源,如下所示:

<string name="app_id">YOUR_APP_ID_HERE</string>
此外,在清单中,确保您具有以下权限:

<uses-permission android:name="android.permission.INTERNET"/>
最后,在
活动
片段
中,您可以设置
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
方法中。上面的代码查看是否由于失去internet连接而导致错误。现在,如果你运行你的应用程序,你应该能够点击
login按钮
,它会将你登录到facebook,然后它会切换为“注销”(再次点击会将你注销)。这就是登录的全部内容,但是,如果你想添加更多功能,我建议你看看Facebook的其他教程。注意,我刚才提到的教程引用了他们随SDK提供的一个示例项目。它还使用了很多片段,因此请确保您也熟悉它们。嗯,我希望这会有帮助

如果您了解AJAX,我可能会推荐您。它并不是严格意义上的Facebook登录API,但这是它的一个特性。
    <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"/>
    // 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);
                }
            }

        });
    }