步驟:
1. 下載Facebook SDK.
2. 在手機上安裝Facebook apk.
3. 將SDK中的facebook目錄(此為SDK), 及sample目錄(一堆範例) import到Eclipse中.
4. 開始試跑一下測試範例, 在網站上有分三種類的範例:
如果要試跑需要login的sample app, 必須先註冊Facebook Developer帳號, 並在開發者帳號中的開發商設定->Sample app settings裡填入你的andorid debug key hash.2. 在手機上安裝Facebook apk.
3. 將SDK中的facebook目錄(此為SDK), 及sample目錄(一堆範例) import到Eclipse中.
4. 開始試跑一下測試範例, 在網站上有分三種類的範例:
基本範例
- ProfilePictureSample: 展示在不用login的情況下取得profile的圖片
- FriendPickerSample: 展示native APP 的 friend picker功能來選取user的friend
- PlacePickerSample: 展示在login的情況下取得profile的圖片
功能範例
- SessionLoginSample: 展示如何使用SDK來進行login
- JustRequestSample: demonstrates logged-in user making single and batched Facebook API requests (目錄中找不到)
- BooleanOGSample: 展示如何發佈Open Graph custom action type
- SwitchUserSample: 展示如何在多使用者中切換使用者
完整範例
- HelloFacebookSample: 存取profile, 更新狀態, 照片上傳的完整範例
- Scrumptious: FB android SDK tutorial範例的sample
- Hackbook: 展示如何使用Graph API 以及SDK版本的向下相容
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 密碼請輸入android
6.建立新project, 把package name和class name填回Facebook app的設定頁裡.
7.在AndroidManifest.xml中開啟internet permission, 並且填入下列的值.
8.MainActivity的測試程式碼:
package com.firstandroidapp; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.widget.TextView; import com.facebook.*; import com.facebook.model.*; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // start Facebook Login Session.openActiveSession(this, true, new Session.StatusCallback() { // callback when session changes state @Override public void call(Session session, SessionState state, Exception exception) { if (session.isOpened()) { // make request to the /me API Request.executeMeRequestAsync(session, new Request.GraphUserCallback() { // callback after Graph API response with user object @Override public void onCompleted(GraphUser user, Response response) { if (user != null) { TextView welcome = (TextView) findViewById(R.id.welcome); welcome.setText("Hello " + user.getName() + "!"); } } }); } } }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); } }
說明: <1> Session.openActiveSession:開始login,第一個參數傳context, 第二個參數傳是否要用Facebook app Login UI, 第三個參數傳入當status改變時要執行的callback函式. <2> Request.executeMeRequestAsync: 發出/me的請求, 範例是去拿目前user的name.
9.可以開始寫自己的程式了!
沒有留言:
張貼留言