Android Open Source - Twitter-Android Twitter Backend






From Project

Back to project page Twitter-Android.

License

The source code is released under:

Apache License

If you think the Android project Twitter-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package info.mahmoudhossam.twitter;
/* w w  w  .jav a 2  s.  com*/
import android.os.AsyncTask;
import android.util.Log;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;
import twitter4j.auth.RequestToken;

public class TwitterBackend {

  private static Twitter twitter;
  private static final String CALLBACK_URL = "http://oauth.gmodules.com/gadgets/oauthcallback";
  private AccessToken token;
  private RequestToken requestToken;

  public TwitterBackend(String consumerKey, String consumerSecret) {
    twitter = new TwitterFactory().getInstance();
    twitter.setOAuthConsumer(consumerKey, consumerSecret);
  }

  public String getAuthorizationURL() {
    try {
      return new AuthURLGetter().execute().get();
    } catch (Exception e) {
      Log.e("twitter", e.getMessage());
    }
    return null;
  }

  public AccessToken getAccessToken() {
    return token;
  }

  public void setAccessToken(String accessToken, String tokenSecret) {
    token = new AccessToken(accessToken, tokenSecret);
  }

  public void setAccessToken(String verifier) {
    try {
      token = new AccessTokenGetter().execute(verifier).get();
    } catch (Exception e) {
      Log.e("Twitter", e.getMessage());
    }
  }

  public void twitterInit(AccessToken accessToken) {
    setAccessToken(accessToken.getToken(), accessToken.getTokenSecret());
    twitterInit();
  }

  public void twitterInit() {
    twitter.setOAuthAccessToken(token);
  }

  public static Twitter getTwitterInstance() {
    return twitter;
  }

  private class AuthURLGetter extends AsyncTask<String, Integer, String> {

    @Override
    protected String doInBackground(String... arg0) {
      try {
        requestToken = twitter.getOAuthRequestToken(CALLBACK_URL);
        return requestToken.getAuthorizationURL();
      } catch (TwitterException e) {
        Log.e("Twitter", e.getMessage());
        return null;
      }
    }
  }

  private class AccessTokenGetter extends AsyncTask<String, Integer, AccessToken> {

    @Override
    protected AccessToken doInBackground(String... arg0) {
      try {
        return twitter.getOAuthAccessToken(requestToken, arg0[0]);
      } catch (TwitterException e) {
        Log.e("Twitter", e.getMessage());
        return null;
      }
    }
  }

}




Java Source Code List

info.mahmoudhossam.twitter.MyEndlessAdapter.java
info.mahmoudhossam.twitter.TweetAdapter.java
info.mahmoudhossam.twitter.TwitterBackend.java
info.mahmoudhossam.twitter.Activities.Browser.java
info.mahmoudhossam.twitter.Activities.Login.java
info.mahmoudhossam.twitter.Activities.MainActivity.java
info.mahmoudhossam.twitter.Activities.PostStatus.java
info.mahmoudhossam.twitter.Activities.Tweet.java
info.mahmoudhossam.twitter.Fragments.HomeTweets.java
info.mahmoudhossam.twitter.Fragments.Mentions.java
info.mahmoudhossam.twitter.Fragments.TweetFragment.java
info.mahmoudhossam.twitter.Fragments.UserTweets.java