摘要:Android - Facebook Like Button
2014.10.3 出現了一篇
Mobile Like Button now Available to Everyone
https://developers.facebook.com/blog/post/2014/10/02/mobilelike/
然後就開始研究這門技術。
一開始我還以為,跟Web一樣,任一個url都會幫你記錄like,按讚數,誰按過讚之類的。
結果不如我以為的。
在facebook natvie like button 有其限制
終於看懂裡面的一段話
People using a mobile app can directly Like the app's Facebook Page, or any Open Graph object within the app
必須是Facebook Page(粉絲頁),或Open Graph object 才行。(感覺我整個被陰了)
而Android Like View 的開發文章參考如下:
https://developers.facebook.com/docs/android/like-button
但應該是3.1.9之後出來的吧,不確定,終之去下載最新的Facebook SDK
https://developers.facebook.com/docs/android/getting-started
下載
https://developers.facebook.com/resources/facebook-android-sdk-current.zip
將裡面資料夾中的
facebook,
加入你的Eclipse Workspace裡。
並設定 facebook專案/右鍵/Properties/Android/ 選擇至少2.2以上(任一Android版本)。
在你要開發的專案下加入該facebook library
在有likeview的頁面
撰寫以下程式
    private UiLifecycleHelper uiHelper;    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mBtnStore.setOnClickListener(this);              
        
        uiHelper = new UiLifecycleHelper(this,mStatusCallback);
        // if you don't want to use the UiLifecycleHelper, call sdkInitialize instead
        // Settings.sdkInitialize(this);
        
        LikeView likeView = (LikeView) findViewById(R.id.like_view);
        likeView.setObjectId(FACEBOOK_PAGE_URL);
        likeView.setLikeViewStyle(Style.BOX_COUNT);    
    }   
    
    StatusCallback mStatusCallback = new StatusCallback(){
        @Override
        public void call(Session session, SessionState state, Exception exception) {
        }
    };
    
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        
        uiHelper.onActivityResult(requestCode, resultCode, data, null);
        // if you don't use the UiLifecycleHelper, call handleOnActivityResult on the LikeView instead
        // LikeView.handleOnActivityResult(this, requestCode, resultCode, data);
    }
XML LAYOUT 部份如下
    <com.facebook.widget.LikeView
        android:id="@+id/like_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">        
    </com.facebook.widget.LikeView>
因為有使用Facebook SDK
所以需設定一些東西在AndroidManifest.xml
在application tag 下加入
<application>
   <meta-data
       android:name="com.facebook.sdk.ApplicationId"
       android:value="@string/facebook_app_id" />
</application>
	
附上Web版處理like的連結與相關文章
https://developers.facebook.com/docs/plugins/like-button/
http://www.wibibi.com/info.php?tid=370
http://www.inside.com.tw/2010/04/22/how-to-install-your-own-facebook-like-button