Twitter登录的集成

来源:互联网 发布:淘宝达人的网址 编辑:程序博客网 时间:2024/06/05 00:25

1.twitter集成安装

在项目的gradle中添加如下

buildscript {  repositories {    maven { url 'https://maven.fabric.io/public' }  }  dependencies {    // The Fabric Gradle plugin uses an open ended version to react    // quickly to Android tooling updates    classpath 'io.fabric.tools:gradle:1.+'  }}

在app的gradle中添加如下

apply plugin: 'com.android.application'// Put Fabric plugin after Android pluginapply plugin: 'io.fabric'repositories {  maven { url 'https://maven.fabric.io/public' }}dependencies {  compile fileTree(dir: 'libs', include: ['*.jar'])  testCompile 'junit:junit:4.12'  compile 'com.android.support:appcompat-v7:23.1.1'  compile 'com.android.support:design:23.1.1'  compile('com.twitter.sdk.android:twitter:2.0.0@aar') {    transitive = true;  }

在AndroidManifest中添加如下:

      <meta-data          android:name="io.fabric.ApiKey"          android:value="<FABRIC_API_KEY>"      />

2.初始化 TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);

    Fabric.with(this, new Twitter(authConfig));    必须放到myApplication中 onCreate()中,官方文档上写的放到activity的onCreate方法中执行setContentView之前,但是怎么集成都不行

3.在需要集成Twitter的activity的布局文件中添加

com.twitter.sdk.android.core.identity.TwitterLoginButton 控件

4.为控件设置回调

  loginButton.setCallback(new Callback<TwitterSession>() {            @Override            public void success(Result<TwitterSession> result) {                String name = result.data.getUserName();                long userId = result.data.getUserId();                long id = result.data.getId();                TwitterAuthToken token = result.data.getAuthToken();                String secret = token.secret;                String strToken = token.token;                if (listener != null) {                    listener.onSucceed(new SocialLoginBean("" + id, "", name, SocialLoginBean.TYPE_TWITTER));                }            }            @Override            public void failure(TwitterException exception) {                Log.d("TwitterKit", "Login with Twitter failure", exception);                if(listener!=null){                    listener.onError(UIUtils.getString(R.string.toast_login_error));                }            }        });

5.在onActivityResult方法中

   loginButton.onActivityResult(requestCode, resultCode, data);

官方文档;https://fabric.io/kits/android/twitterkit/features

0 0
原创粉丝点击