大家都知道,FaceBook在國外很多人使用,而國內就比較少人使用。我們做程式員的就應該不斷的去學習再學習,這樣才能充實自己,誰又說不是呢!好吧,廢話不多說了,下面就讓我們一起進入FaceBook學習之旅吧!
開始學習的時候大家應該要弄個能夠翻牆的網路,國內網路是不能進入facebook網站的,大家可以去弄個“翻牆軟體”或VPN什麼的!LZ這邊使用的是一個免費的翻牆軟體,網速還可以,流量也不限的,不過就是每隔十分鐘斷一次,就是這點比較坑爹,不過對於我們只需要測試,還是勉勉強強可以接受的。有條件的可以去買個VPN這樣就最好了。
http://www.xroute.net/(XROUTE 網路加速器) 這是它的官網,沒條件的可以跟LZ一樣使用這個軟體來學習。
1、下載最新 Facebook SDK for Android 3.0 :http://developers.facebook.com/android/
2、下載好 解壓 facebook-android-sdk-3.0
用eclipse匯入工程,匯入解壓檔案夾下的facebook檔案夾 出現 FacebookSDK 項目
3、建立 第一個Facebook項目工程 FirstFacebook 匯入FacebookSDK 項目包
注意:如果匯入的項目包顯示為錯誤的時候,就要查看一下FacebookSDK項目包和自己建立的工程是否在同一目錄下
如果匯入完成後自己建立的工程報錯,看看工程下libs檔案夾下是否有android-support-v4.jar 這個jar檔案,如果有的話,就把它給刪了,然後重新匯入
FacebookSDK項目包。原因是FacebookSDK下也整合了這個包,所以會有衝突。
4、進入https://developers.facebook.com/ facebook開發人員網站,沒帳號的註冊一個帳號,有的就直接登入。然後點擊導覽列上的Apps進入應用專區
建立一個新的App 點擊Create New App 按鈕 ,彈出下面對話方塊。App Name為給這應用取的一個名字,下面的可以忽略不用填,直接點擊繼續
點擊Native Android App 填入以下資料:
Package Name 應用程式套件名
Class Name 應用入口Activity完整類名
Key Hashes 雜湊值
Facebook Login 選擇啟用
儲存更改。
擷取雜湊值的方法:
下載 openssl-0.9.8k_WIN32 :http://download.csdn.net/detail/h7870181/5054864 下載完成後,解壓到C盤根目錄
進入cmd 粘貼以下字串,keystore預設密碼為android 注意不要寫錯了。出來一串字元則為我們所需要的雜湊值。
[plain] view plaincopyprint?
- keytool -export -alias myAlias -keystore C:\Users\Administrator\.android\debug.keystore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
注意還有一個地方也要填入剛剛擷取的雜湊值!
ok ! 配置就完成了!
5、下面就讓我們來看看項目工程中是怎麼配置的
在AndroidMainfest.xml中添加網路許可權和在facebook中建立應用的App Id
[html] view plaincopyprint?
- <?xmlversion="1.0"encoding="utf-8"?>
- <manifestxmlns:android="http://schemas.android.com/apk/res/android"
- package="com.thirdfacebook"
- android:versionCode="1"
- android:versionName="1.0">
-
- <uses-sdk
- android:minSdkVersion="8"
- android:targetSdkVersion="16"/>
- <uses-permissionandroid:name="android.permission.INTERNET"/>
-
- <application
- android:allowBackup="true"
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name"
- android:theme="@style/AppTheme">
- <activity
- android:name="com.thirdfacebook.MainActivity"
- android:label="@string/app_name">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- <meta-dataandroid:name="com.facebook.sdk.ApplicationId"android:value="@string/app_id"/>
- </application>
-
- </manifest>
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.thirdfacebook" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" /> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.thirdfacebook.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/> </application></manifest>
在string.xml中加入app_id
[html] view plaincopyprint?
- <?xmlversion="1.0"encoding="utf-8"?>
- <resources>
-
- <stringname="app_name">ThirdFacebook</string>
- <stringname="hello_world">Hello world!</string>
- <stringname="menu_settings">Settings</string>
- <stringname="app_id">158121714340391</string>
-
- </resources>
<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">ThirdFacebook</string> <string name="hello_world">Hello world!</string> <string name="menu_settings">Settings</string> <string name="app_id">158121714340391</string></resources>
OK!運行項目沒有報錯,證明整合FacebookSDK就成功了,下篇文章則介紹一下使用Facebook登入!
以上是自己一點小小的經驗,分享出來跟大家一起交流,如有什麼問題,還望大牛指出!