2012年6月12日火曜日

android:Facebook Android SDK(2:ログインとログアウト)

Facebook Android SDKを使用して、ログインとログアウトするサンプルを示す。

認証については、こちらも参照のこと。

package net.kuttya.facebooksample;

import java.io.IOException;
import java.net.MalformedURLException;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import com.facebook.android.AsyncFacebookRunner;
import com.facebook.android.DialogError;
import com.facebook.android.Facebook;
import com.facebook.android.Facebook.DialogListener;
import com.facebook.android.FacebookError;

public class FacebookSdkSampleActivity extends Activity {
    private final String API_KEY = "登録したAppID"; // Facebookに登録したAppID

 private Facebook facebook;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    // ログインボタン押下処理
    public void clickEventLogin(View v) {
        // 認証実施
     if(facebook == null) {
      facebook = new Facebook(API_KEY);
     }
        facebook.authorize(this, new DialogListener() {

            public void onComplete(Bundle values) {
             // 認証成功
             Toast.makeText(FacebookSdkSampleActivity.this, "ログイン成功", Toast.LENGTH_SHORT).show();
            }

            public void onFacebookError(FacebookError e) {
             // Facebook側エラー
             Toast.makeText(FacebookSdkSampleActivity.this, "ログイン失敗\n(Facebook側エラー)", Toast.LENGTH_SHORT).show();
            }

            public void onError(DialogError e) {
             // 端末側エラー
             Toast.makeText(FacebookSdkSampleActivity.this, "ログイン失敗\n(端末側エラー)", Toast.LENGTH_SHORT).show();
            }

            public void onCancel() {
             // キャンセル
             Toast.makeText(FacebookSdkSampleActivity.this, "ログイン失敗\n(キャンセル)", Toast.LENGTH_SHORT).show();
            }

        });
    }

    // ログアウトボタン押下処理
    public void clickEventLogout(View v) {
     try {
      if(facebook != null) {
    facebook.logout(this);

    facebook = null;

          // ログアウト成功
          Toast.makeText(FacebookSdkSampleActivity.this, "ログアウト成功", Toast.LENGTH_SHORT).show();
      }
  } catch (MalformedURLException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }

    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     super.onActivityResult(requestCode, resultCode, data);

     facebook.authorizeCallback(requestCode, resultCode, data);
    }
}

マニフェストファイルに下記のパーミッションを追加する。


レイアウトとして、main.xmlにログイン用ボタン、ログアウト用ボタンを設置する。 ボタン押下で、クリックイベントを発生させる。

    

にほんブログ村 IT技術ブログ Androidアプリ開発へ

0 件のコメント:

コメントを投稿