Facebook Android集成和开发

关键字:Facebook | Android studio 3.0

Facebook离线包如何集成?公司的环境决定了无法通过仓库的方法进行集成,因此只能下载Facebook SDK进行集成。

本文讲解了Android Studio 3.0中离线集成Facebook SDK遇到的问题,并按步骤讲解Facebook登陆功能的使用方法。

转载请注明链接:http://blog.csdn.net/feather_wch/article/details/79585728

Facebook SDK离线集成

1、下载Facebook SDK包
  1. 下载地址:facebook-android-sdk-4.31.0.zip(密码:9pr2)

  2. 解压缩, 并将所有arr复制到libs目录下

2、项目中集成需要功能的aar
  1. 在项目的build.gradle中进行配置
compile(name: 'facebook', ext: 'aar')
compile(name: 'facebook-common', ext: 'aar')
compile(name: 'facebook-core', ext: 'aar')
compile(name: 'facebook-login', ext: 'aar')
  1. 在项目中添加依赖implementation 'com.android.support:cardview-v7:26.1.0'-AS3.0之前的版本用complie即可。
    项目进行同步后,可能会出现找不到资源的问题 style/com_facebook_button等等。这是因为缺少 cardview的包。

Facebook登录功能

[Facebook Login官方教程(需要翻墙)](https://developers.facebook.com/docs/facebook-login/android?sdk=fbsdk)
1-注册Facebook账号并创建一个App应用
会获取到对应的`App Id`(官方教程中第二步)
2-编辑strings.xmlAndroidManifest.xml
1、strings.xml中增加如下内容:
<string name="facebook_app_id">xxx你自己的APP IDxxx</string>
<string name="fb_login_protocol_scheme">fbxxx你自己的APP IDxxx</string>
2、`AndroidManifest.xml`中增加网络权限并添加`meta-data`和`FacebookActivity`等内容
<uses-permission android:name="android.permission.INTERNET"/>

<meta-data android:name="com.facebook.sdk.AppplicationId"
    android:value="@string/facebook_app_id"/>

<activity android:name="com.facebook.FacebookActivity"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:label="@string/app_name"
    tools:replace="android:theme"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"/>

给FacebookActivity更换Theme可能会出现冲突,这是因为facebook中也有该标签,可以通过给Activity添加tools:replace="android:theme"就可以解决冲突。冲突分析链接

3、提供环境和Realease的Key Hashs用于Facebook和自己app的身份认证(官方教程第六步) Windows中生成秘钥教程: 4、自己Activity中添加LogiButton并进行处理 布局:
<com.facebook.login.widget.LoginButton
    android:id="@+id/facebook_login_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
Activity:(一定要设置onActivityResult不然无法接收登陆后的返回信息)
public class Main2Activity extends SupportActivity {

    LoginButton mLoginButton;
    //1. 注册回调用于处理登陆返回信息
    CallbackManager mCallbancManager = CallbackManager.Factory.create();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //2. SDK初始化
        FacebookSdk.setApplicationId("548759495495950");
        FacebookSdk.sdkInitialize(getApplicationContext());

        setContentView(R.layout.activity_main2);

        //3. 获取登陆按钮
        mLoginButton = (LoginButton) findViewById(R.id.facebook_login_button);
        //4. 设置回调接口
        mLoginButton.registerCallback(mCallbancManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                Log.i("Main2Activity", "onSuccess");
            }
            @Override
            public void onCancel() {
                Log.i("Main2Activity", "onCancel");
            }
            @Override
            public void onError(FacebookException e) {
                Log.i("Main2Activity", "onError");
            }
        });

    }

    //5. 需要处理FacebookActivity的返回信息,才能触发登陆成功的回调
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        mCallbancManager.onActivityResult(requestCode, resultCode, data);
        super.onActivityResult(requestCode, resultCode, data);
    }
}

参考资料

  1. Facebook Android SDK 4.14使用详解(2016.8)
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Android 项目是使用 Android 操作系统和相关开发工具开发的一款移动应用程序。Android 平台提供了丰富的功能和接口,开发人员可以使用 Java 或 Kotlin 等编程语言编写 Android 应用程序。Android 项目也可以是针对特定设备或特定需求进行自定义开发的软件解决方案。 以下是 Android 项目的一些主要特点和资料介绍: 1. 开放源代码:Android 是基于 Linux 内核的开源操作系统,开发人员可以自由获取、使用和修改源代码。 2. 多样化的硬件设备支持:Android 支持多种硬件设备和屏幕尺寸,可以运行于手机、平板电脑、电视、手表等多种设备上。 3. 灵活的用户界面:Android 提供了丰富的用户界面控件和布局方式,可以实现漂亮、个性化的用户界面。 4. 响应式设计:Android 应用程序可以根据设备类型、屏幕尺寸等因素调整布局和显示方式,以适应不同的设备和用户需求。 5. 多媒体支持:Android 支持常见的音频、视频、图像等多媒体格式,可以实现各种多媒体应用。 6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成Android 提供了集成社交媒体的功能,可以实现与 Facebook、Twitter、Google+ 等社交媒体的交互。 # 注意 1. 本资源仅用于开源学习和技术交流。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。 3. 不可商用,一切后果由使用者承担。
Android 项目是使用 Android 操作系统和相关开发工具开发的一款移动应用程序。Android 平台提供了丰富的功能和接口,开发人员可以使用 Java 或 Kotlin 等编程语言编写 Android 应用程序。Android 项目也可以是针对特定设备或特定需求进行自定义开发的软件解决方案。 以下是 Android 项目的一些主要特点和资料介绍: 1. 开放源代码:Android 是基于 Linux 内核的开源操作系统,开发人员可以自由获取、使用和修改源代码。 2. 多样化的硬件设备支持:Android 支持多种硬件设备和屏幕尺寸,可以运行于手机、平板电脑、电视、手表等多种设备上。 3. 灵活的用户界面:Android 提供了丰富的用户界面控件和布局方式,可以实现漂亮、个性化的用户界面。 4. 响应式设计:Android 应用程序可以根据设备类型、屏幕尺寸等因素调整布局和显示方式,以适应不同的设备和用户需求。 5. 多媒体支持:Android 支持常见的音频、视频、图像等多媒体格式,可以实现各种多媒体应用。 6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成Android 提供了集成社交媒体的功能,可以实现与 Facebook、Twitter、Google+ 等社交媒体的交互。 # 注意 1. 本资源仅用于开源学习和技术交流。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。 3. 不可商用,一切后果由使用者承担。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值