[最新]AndroidStudioでFacebook連携アプリを作ろう[文字投稿&写真投稿]その7投稿機能(画像と文字)の作成

AndroidStudioでFacebook連携アプリを作ろうシリーズの作業その7です。

このシリーズでは7回に分けて、AndroidStudio0.8.9を使用し、
Facebook連携アプリを開発していきます。
Eclipseの方も、ライブラ追加以外は参考になると思います。
既に終了済みの作業は飛ばしてもらってかまいません。

※現在のAndroidStudio最新バージョンは0.8.13です。

リンク
1.FacebookSDKのダウンロード
2.AndroidStudio新規プロジェクトの作成
3.FacebookSDKの導入
4.FacebookAppの登録
5.Login機能の作成
6.投稿機能(文字)の作成
7.投稿機能(文字と画像)の作成
まとめ

参考サイト:
FacebookDevelopers
クラスメソッド株式会社


7.投稿機能の作成(実装)~文字と写真編~

7.1 Javaファイルのみの編集となります。

drawable配下の画像と文字を投稿します。
文字は、"UploadPhoto"にします。

-以下ソース-

import android.app.Activity;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import com.facebook.Request;
import com.facebook.Response;
import com.facebook.Session;
import com.facebook.SessionState;
import com.facebook.UiLifecycleHelper;


public class MainActivity extends Activity {

    private UiLifecycleHelper uiHelper;

    private Session.StatusCallback callback = new Session.StatusCallback() {
        @Override
        public void call(Session session, SessionState state, Exception exception) {
            onSessionStateChange(session, state, exception);
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        uiHelper = new UiLifecycleHelper(this, callback);
        uiHelper.onCreate(savedInstanceState);
    }

    public void postActionClick(View v) {
        Session session = Session.getActiveSession();
        String  message = "UploadPhoto";
        if (session.isOpened()) {

            Request request = Request.newUploadPhotoRequest(Session.getActiveSession(), BitmapFactory.decodeResource(getResources(), R.drawable.画像名),
                    new Request.Callback() {
                        @Override
                        public void onCompleted(Response response) {
                        }
                    });
            Bundle params = request.getParameters();
            params.putString("message", message);
            request.executeAsync();
        }
    }

    private void onSessionStateChange(Session session, SessionState state, Exception exception) {
        if (state.isOpened()) {
            //ログイン
        } else if (state.isClosed()) {
            //ログアウト
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        uiHelper.onResume();
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        uiHelper.onActivityResult(requestCode, resultCode, data);
    }

    @Override
    public void onPause() {
        super.onPause();
        uiHelper.onPause();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        uiHelper.onDestroy();
    }

    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        uiHelper.onSaveInstanceState(outState);
    }
}

写真&文字投稿の実装は以上となります。デバックして確認してみましょう。
※ログイン処理は必ず終えてください。
自分のタイムラインに"UploadPhoto"という文字と写真が投稿されていれば成功です。

作業は以上となります。7回に渡りお疲れ様でした。
リンク


コメント

このブログの人気の投稿

レベルアップに必要なXP一覧 Pokemon GO ポケモンGO

[初心者向け]AndroidStudioで地図アプリを作ってみよう![2015年8月最新]

自動で良い感じの色を抽出してくれるPalette Library がすごい! Android Support Library