概述
之前寫過2篇關於Facebook SDK & Sample的文章。
並給出了github上的Demo, 最近按照所寫的步驟 再操作一次集成,還是發現會有問題卡住。一時腦袋衝動,就把SDK集成的過程清楚詳細的操作了遍。然後就有了以下的幾篇文章。
文章彙總
官方文檔
在講集成過程前,先介紹下官方的參考。
首先是github官方庫: https://github.com/facebook/facebook-android-sdk
裏面提供了集成所需要的參考鏈接,建議是直接查看英文文檔,靜心去看,一定會掌握。
如果您正好來到這裏,那麼,就讓我帶您走一遍流程,然後再有問題去找官網, 也是不錯的選擇。
他山之石,可以攻玉
計劃文章
有關運行sample的說明,之前文章說明清楚,沒有必要再重複, 參考 Android Studio集成Facebook SDK Sample
- Facebook SDK集成之準備篇
- Facebook SDK集成之登錄篇
- Facebook SDK集成之分享篇
代碼實例
這個部分,也許是您最關心的。我的作風是,既講廢話,也給乾貨,而且還是純的。
實例在本地編譯運行通過,給出本地編譯環境,但,不能保證在每個平臺都通過。
代碼,託管在github上, readme部分詳細介紹了該工程的試用情況。
- 實例代碼是 Wosao
- Sample apk 以及 facebook apk都在 sample apk
代碼獲取
因爲本項目fork自facebook官方庫,裏面的提交記錄非常多,而且我的修改是MyDev分支(添加了N個apk文件),master分支代碼沒有修改,這樣的好處是,方便同步官方代碼並merge到MyDev分支。缺點是如果 使用git clone時間會很長。
建議 使用 –depth選項,減少clone等待時間。
–depth
$ git clone --depth=12 https://github.com/tancolo/facebook-android-sdk.git
Cloning into 'facebook-android-sdk'...
remote: Counting objects: 1060, done.
remote: Compressing objects: 100% (686/686), done.
remote: Total 1060 (delta 372), reused 797 (delta 268), pack-reused 0
Receiving objects: 100% (1060/1060), 52.75 MiB | 2.94 MiB/s, done.
Resolving deltas: 100% (372/372), done.
Checking connectivity... done.
其中 ` --depth=12
表示,clone下來的 commit 只有最近的12t記錄。不建議您使用
--depth=1
因爲後續需要使用到tags。
git branch -a
$ git branch -a
* MyDev
remotes/origin/HEAD -> origin/MyDev
remotes/origin/MyDev
您可能會發現,git clone直接是MyDev分支的內容,而不是master, 這是因爲我在github上默認設置不是master分支。
tag 查看每階段的提交
將每個大步驟都列爲一個tag, 這樣方便您按照每個步驟來學習集成facebook。
$ git tag
MyDev-06-ShareDefaultImage
MyDev-07-ShareSeletedImage
MyDev-Add-Facebook
MyDev-LoginButton
MyDev-Wosao-init
MyDev_Compiling
Myddev-05-LoginManager
共有7個tag: 按照先後提交順序
- MyDev-Wosao-init
- MyDev_Compiling
- MyDev-Add-Facebook
- MyDev-LoginButton
- Myddev-05-LoginManager
- MyDev-06-ShareDefaultImage
- MyDev-07-ShareSeletedImage
按照如下方式切換到對應tag中,然後查看代碼
git checkout -f tag_name