Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Reusable instrument for simple sharing with popular social networks (Facebook, Twiiter).

branch: master
Octocat-spinner-32 Jar v1.0.1 September 29, 2012
Octocat-spinner-32 SimpleSocialSharing Updated to REST API 1.1 June 17, 2013
Octocat-spinner-32 SimpleSocialSharingExample v1.0.2 March 03, 2013
Octocat-spinner-32 .gitignore Update .gitignore January 19, 2013
Octocat-spinner-32 FacebookPost.png Update Readme February 23, 2012
Octocat-spinner-32 LICENSE Update license April 14, 2012
Octocat-spinner-32 README.md Closed the project June 10, 2013
README.md

! THIS PROJECT IS NO LONGER BEING MAINTAINED !

Simple Social Sharing for Android

This project aims to provide a reusable instrument for simple sharing with popular social networks (Facebook, Twiiter). Project uses other open source projects' code (actual on 25.02.2012):

Features

  • Simple API for Facebook and Twitter sharing (fast indroduction)
  • Simple API for event listening (authentication, posting, logging out)
  • Support only simple sharing (post message or image to Facebook, post status to Twitter)

Important: In your Twitter Developer Application Settings (https://dev.twitter.com/) you must fill "Callback URL" field with any URL (i.e. http://abc.de). It's behaviour by default.

There are two classes in SSS:

  • TwitterDialog
  • CallbackTwitterDialog

CallbackTwitterDialog is used by default and it works only when "Callback URL" is filled in your Twitter Application settings. You may not use callback URL. Then you should clear "Callback URL" field in app settings and replace all using CallbackTwitterDialog with TwitterDilaog (in TwitterFacade class).

Usage

Sharing API

Facebook

FacebookFacade facebook = new FacebookFacade(activity, FACEBOOK_APP_ID);
if (!facebook.isAuthorized()) {
    facebook.authorize();
}
facebook.publishMessage("This is great App!");
facebook.logout();

More powerful posting:

Map actions = new HashMap<String, String>();
actions.put("Android Simple Social Sharing", "https://github.com/nostra13");
facebook.publishMessage("Look at this great App!",
                        "Use Android Simple Social Sharing in your project!",
                        "https://github.com/nostra13/Android-Simple-Social-Sharing",
                        "Also see other projects of nostra13 on GitHub!",
                        "http://.......facebook-android-logo-1.jpg",
                        actions);

Screenshot

Twitter

TwitterFacade twitter = new TwitterFacade(context, TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
if (!twitter.isAuthorized()) {
    twitter.authorize();
}
twitter.publishMessage("This is great app!");
twitter.logout();

Event listening API

Facebook

...
    @Override
    protected void onStart() {
        super.onStart();
        FacebookEvents.addAuthListener(authListener);
        FacebookEvents.addPostListener(postListener);
        FacebookEvents.addLogoutListener(logoutListener);
    }

    @Override
    protected void onStop() {
        super.onStop();
        FacebookEvents.removeAuthListener(authListener);
        FacebookEvents.removePostListener(postListener);
        FacebookEvents.removeLogoutListener(logoutListener);
    }

    private AuthListener authListener = new AuthListener() {
        @Override
        public void onAuthSucceed() {
            showToastOnUIThread("Facebook authentication is successful");
        }

        @Override
        public void onAuthFail(String error) {
            showToastOnUIThread("Error was occurred during Facebook authentication");
        }
    };

    private PostListener postListener = new PostListener() {
        @Override
        public void onPostPublishingFailed() {
            showToastOnUIThread("Post publishing was failed");
        }

        @Override
        public void onPostPublished() {
            showToastOnUIThread("Posted to Facebook successfully");
        }
    };

    private LogoutListener logoutListener = new LogoutListener() {
        @Override
        public void onLogoutComplete() {
            showToastOnUIThread("You are logged out");
        }
    };

    private void showToastOnUIThread(final String text) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(YourActivity.this, text, Toast.LENGTH_SHORT).show();
            }
        });
    }
...

Twitter

Like Facebook listening example but use TwitterEvents instead of FacebookEvents.

License

Copyright (c) 2011, Sergey Tarasevich

If you use Simple Social Sharing code in your application you should inform the author about it (email: nostra13[at]gmail[dot]com). Also you should (but you don't have to) mention it in application UI with string "Used Simple-Social-Sharing (c) 2011, Sergey Tarasevich" (e.g. in some "About" section).

Licensed under the BSD 3-clause

Something went wrong with that request. Please try again.