【Android学习笔记】Facebook SDK预备条件

【Android学习笔记】Facebook SDK准备条件

1、注册FaceBook的开发者账号,并创建应用。

 

2、下载和安装AndroidFacebook SDK并导入进Eclipse

下载地址:https://developers.facebook.com/docs/android/?locale=zh_CN

 

3、在你的项目中正确导入lib,主要是要导入facebooksdk,如下图:

 【Android学习笔记】Facebook SDK预备条件

 

    4、然后打开res/values/strings.xml,添加字符串“facebook_app_id

 【Android学习笔记】Facebook SDK预备条件

        其中:appId 是在facebook上注册一个app时会自动生成的

 【Android学习笔记】Facebook SDK预备条件

 

5、配置 AndroidManifest.xml,添加权限和meta-data

<uses-permission android:name="android.permission.INTERNET"/>
 
<meta-data
android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>

 

 【Android学习笔记】Facebook SDK预备条件

6、再回到facebook的应用里面填写好包名和主Activity的名称

 【Android学习笔记】Facebook SDK预备条件

 

7、利用代码可查看key hash,加入这段代码然后运行

 try {
			PackageInfo info = getPackageManager().getPackageInfo(
					"com.example.kam", PackageManager.GET_SIGNATURES);
			for (Signature signature : info.signatures) {
				MessageDigest md = MessageDigest.getInstance("SHA");
				md.update(signature.toByteArray());
				Log.e("KeyHash:",
						Base64.encodeToString(md.digest(), Base64.DEFAULT));
			}
		} catch (NameNotFoundException e) {

		} catch (NoSuchAlgorithmException e) {

		}


 

Eg.运行后得到:SGlgmxlUTByuYk34FfufGZDYPb8=

 【Android学习笔记】Facebook SDK预备条件

 

Ps.这里需要注意的是,新版本的Eclipse新建项目,若可以兼容旧版本而自动生成appcompat_v7这个包的话,可能会和FacebookSDK里面的冲突。使用了重复的类库,且版本不一致。导致低版本的被优先使用。 所有我们要删掉appcompat_v7这个库。

 【Android学习笔记】Facebook SDK预备条件

 

 

 

8、为了输出程序活动事件的日志,在主Activity中的onResume()方法添加以下代码:

@Override
    protected void onResume() {
      super.onResume();
      // Logs 'install' and 'app activate' App Events.
      AppEventsLogger.activateApp(this);
    }

 

Ps.官网的文档上要在onPause()也加上这句,但是测过,会报错,所以就删掉它。