4

私はAndroidを初めて使用します。開発するアプリから、Facebookイベントのみを作成したいと思います。後で、友達を招待する機能を追加します。招待状を通知として、または何らかの方法で表示したいと思います。

私はインターネットで多くの調査をしましたが、解決策を見つけることができませんでした。

私は本当にどんな解決策にも感謝します...

ありがとうございました!

4

4 に答える 4

3
package com.tharaka.facebook;

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

import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

import com.facebook.android.AsyncFacebookRunner;
import com.facebook.android.AsyncFacebookRunner.RequestListener;
import com.facebook.android.DialogError;
import com.facebook.android.Facebook;
import com.facebook.android.Facebook.DialogListener;
import com.facebook.android.FacebookError;
import com.tharaka.facebook.R;

public class MainActivity extends Activity implements OnClickListener
{

    // Your Facebook APP ID
    private static String APP_ID = "392736034134808"; // Replace your App ID
                                                      // here

    // Instance of Facebook Class
    private Facebook facebook;
    private AsyncFacebookRunner mAsyncRunner;
    String FILENAME = "AndroidSSO_data";
    private SharedPreferences mPrefs;
    private Button btnFbLogin;
    private Button btnCreateEvent;
    private String TAG="MainActivity";

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

    private void initialize()
    {
        facebook = new Facebook(APP_ID);
        mAsyncRunner = new AsyncFacebookRunner(facebook);
        btnFbLogin = (Button) findViewById(R.id.button_FbLogin);
        btnCreateEvent = (Button) findViewById(R.id.button_createEvent);
    }

    private void setListeners()
    {
        btnFbLogin.setOnClickListener(this);
        btnCreateEvent.setOnClickListener(this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    @Override
    public void onClick(View view)
    {
        switch (view.getId())
        {
            case R.id.button_FbLogin:
                loginToFacebook();
                break;            
            case R.id.button_createEvent:
                createEvent();
                Toast.makeText(getApplicationContext(), "New Event Created!!", Toast.LENGTH_LONG).show();
                break;
            default:
                break;
        }
    }

    private void loginToFacebook()
    {
        mPrefs = getPreferences(MODE_PRIVATE);
        String access_token = mPrefs.getString("access_token", null);
        long expires = mPrefs.getLong("access_expires", 0);

        if (access_token != null)
        {
            facebook.setAccessToken(access_token);
        }

        if (expires != 0)
        {
            facebook.setAccessExpires(expires);
        }

        if (!facebook.isSessionValid())
        {
            facebook.authorize(this, new String[] {
                "email", "publish_stream", "create_event"
            }, new DialogListener()
            {

                @Override
                public void onCancel()
                {
                    // Function to handle cancel event
                }

                @Override
                public void onComplete(Bundle values)
                {
                    // Function to handle complete event
                    // Edit Preferences and update facebook acess_token
                    SharedPreferences.Editor editor = mPrefs.edit();
                    editor.putString("access_token", facebook.getAccessToken());
                    editor.putLong("access_expires", facebook.getAccessExpires());
                    editor.commit();
                }

                @Override
                public void onError(DialogError error)
                {
                    // Function to handle error

                }

                @Override
                public void onFacebookError(FacebookError fberror)
                {
                    // Function to handle Facebook errors

                }

            });
        }
    }

    private void createEvent()
    {
        try
        {
            Bundle params = new Bundle();
            params.putString("name", "This is a test event");
            params.putString("start_time", "2013-12-02T18:00:00+0530");
            params.putString("end_time", "2013-12-02T20:00:00+0530");
            params.putString("description", "This is test description yeah?.");
            params.putString("location", "Mount Lavinia");
            //params.putString("location_id", "");
            params.putString("privacy_type", "OPEN");
            mAsyncRunner.request("me/events", params, "POST", new RequestListener()
            {

                @Override
                public void onMalformedURLException(MalformedURLException e, Object state)
                {

                }

                @Override
                public void onIOException(IOException e, Object state)
                {

                }

                @Override
                public void onFileNotFoundException(FileNotFoundException e, Object state)
                {

                }

                @Override
                public void onFacebookError(FacebookError e, Object state)
                {

                }

                @Override
                public void onComplete(String response, Object state)
                {
                    try
                    {
                        JSONObject event = new JSONObject(response);
                        String event_id = event.getString("id");
                        Log.i(TAG, "Event id => "+event_id);

                       //Toast.makeText(getApplicationContext(), "New Event Created!!", Toast.LENGTH_LONG).show();
                    }
                    catch (Exception e)
                    {

                    }
                }
            }, null);
        }
        catch (Exception e)
        {

        }
    }
}
于 2012-12-03T07:50:05.100 に答える
0

以下のリンクを参照してください。

http://ericosgood.com/prog/facebook-android-sdk-tutorial/

http://www.facebook.com/help/

于 2012-11-30T08:16:44.343 に答える
0

Google > FaceBook 開発者

これですべてがわかります。

または

Facebook 統合アプリケーションを構築するためのリンクが他にもいくつかあります。

幸運を祈ります。

于 2012-11-30T06:10:06.747 に答える
0

まず、次のリンクから belove プロジェクトをダウンロードします... https://github.com/facebook/facebook-android-sdk プロジェクトで Facebook SDK を使用し、これに従います ( http://www.integratingstuff.com/2010/10/ 14/integrating-facebook-into-an ) Facebook 統合の詳細へのリンク [.][2]

于 2012-11-30T06:17:01.137 に答える