Twitter integration in android

package mycompany.com.twitterintegrationdemo;

import android.content.Intent;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.util.Log;

import android.widget.Toast;

import com.twitter.sdk.android.Twitter;

import com.twitter.sdk.android.core.Callback;

import com.twitter.sdk.android.core.Result;

import com.twitter.sdk.android.core.TwitterAuthConfig;

import com.twitter.sdk.android.core.TwitterException;

import com.twitter.sdk.android.core.TwitterSession;

import com.twitter.sdk.android.core.identity.TwitterLoginButton;

import io.fabric.sdk.android.Fabric;

public class LuncherActivity extends AppCompatActivity {

private TwitterLoginButton loginButton;

private String TWITTER_KEY="hj************************U";

private String TWITTER_SECRET="UF*****************************2e";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_luncher);

TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);

Fabric.with(this, new Twitter(authConfig));

loginButton = (TwitterLoginButton) findViewById(R.id.twitter_login_button);

loginButton.setCallback(new Callback<TwitterSession>() {

@Override

public void success(Result<TwitterSession> result) {

// The TwitterSession is also available through:

// Twitter.getInstance().core.getSessionManager().getActiveSession()

TwitterSession session = result.data;

// TODO: Remove toast and use the TwitterSession's userID

// with your app's user model

String msg = "@" + session.getUserName() + " logged in! (#" + session.getUserId() + ""+session.getAuthToken() +")";

Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();

}

@Override

public void failure(TwitterException exception) {

Log.d("TwitterKit", "Login with Twitter failure", exception);

}

});

}

@Override

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

super.onActivityResult(requestCode, resultCode, data);

// Make sure that the loginButton hears the result from any

// Activity that it triggered.

loginButton.onActivityResult(requestCode, resultCode, data);

}

}<?xml version="1.0" encoding="utf-8"?>

activity_launcher.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/activity_luncher"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="mycompany.com.twitterintegrationdemo.LuncherActivity">

<com.twitter.sdk.android.core.identity.TwitterLoginButton

android:id="@+id/twitter_login_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

</RelativeLayout>

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="mycompany.com.twitterintegrationdemo"

android:installLocation="internalOnly">

<uses-permission android:name="android.permission.INTERNET" />

<application

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:supportsRtl="true"

android:theme="@style/AppTheme">

<meta-data

android:name="io.fabric.ApiKey"

android:value="1b***************************69" /> // which is come from fabric when you install fabric through browse repositories.

<activity

android:name=".MainActivity"

android:label="@string/app_name"

android:theme="@style/AppTheme.NoActionBar">

</activity>

<activity android:name=".LuncherActivity">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

</manifest>

build.gradle

apply plugin: 'com.android.application'

buildscript {

repositories {

maven { url 'https://maven.fabric.io/public' }

}

dependencies {

classpath 'io.fabric.tools:gradle:1.+'

}

}

apply plugin: 'com.android.application'

apply plugin: 'io.fabric'

repositories {

maven { url 'https://maven.fabric.io/public' }

}

android {

compileSdkVersion 24

buildToolsVersion "24.0.0"

defaultConfig {

applicationId "mycompany.com.twitterintegrationdemo"

minSdkVersion 15

targetSdkVersion 24

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {

exclude group: 'com.android.support', module: 'support-annotations'

})

compile 'com.android.support:appcompat-v7:24.2.1'

compile 'com.android.support:design:24.2.1'

testCompile 'junit:junit:4.12'

compile('com.twitter.sdk.android:twitter:2.1.0@aar') {

transitive = true;

}

}

Thank you for watching tutorial.

This code is taken from fabric site and tutsplus.com.