在应用中接入Twitter进行第三方登录时,开发人员遇到了一点问题,主要是概念有点混乱,这里把经验记录一下,帮助遇到同样问题的朋友。

一、注册应用并配置登录权限

这一步比较简单,就不多说了,直接去官网添加应用,给读写权限就行了。

网址:https://dev.twitter.com/apps

这一步完成后,最重要的是得到两个数据,一个是app_key,一个是app_secret。这两个字符串在后面会用到。

二、添加依赖的包(引用sdk)

这一步要注意的是,twitter的sdk是放在自己的maven库中,而现在AndroidStudio默认用的是jCenter,所以这里我们要在build.gradle中添加maven库,然后引入twitter sdk。

首先在整个项目的build.gradle中的 repositories 里添加maven如下:

repositories {

mavenCentral()

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

jcenter()

}

然后在模块的build.gradle中添加maven库并引入sdk:

repositories {

mavenCentral()

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

}

dependencies {

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

testCompile 'junit:junit:4.12'

...

compile('com.twitter.sdk.android:twitter-core:1.3.1@aar') {

transitive = true;

}

}

这里大家可以看到出现了Fabric,这个是什么东西呢,其实是Twitter开发的开发者工具包。

三、在Mainfest中配置Fabric ApiKey

在AndroidManifest.xml中的application节点内添加如下代码:

四、添加登录按钮

现在我们就可以在activity的布局文件中添加登录按钮了,代码如下:

五、sdk初始化

在我们注册登录按钮事件之前,还有一件事很重要,就是初始化sdk。这里有个需要注意的地方就是sdk的初始化一定要在setContentView之前。

初始化代码如下:

import io.fabric.sdk.android.Fabric;

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

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

public class LoginActivity extends AppCompatActivity {

private static final String TWITTER_KEY = "app_id";

private static final String TWITTER_SECRET = "app_secret";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TwitterAuthConfig authConfig =

new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);

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

setContentView(R.layout.activity_login);

}

}

六、注册登录事件并添加回调

上面都完成后,就可以注册登录按钮事件并添加结果的回调了,然后获取token等信息。

整个登录activity代码如下:

import io.fabric.sdk.android.Fabric;

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

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

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

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

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;

public class LoginActivity extends AppCompatActivity {

private static final String TWITTER_KEY = "app_id";

private static final String TWITTER_SECRET = "app_secret";

TwitterLoginButton loginButton;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TwitterAuthConfig authConfig =

new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);

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

setContentView(R.layout.activity_login);

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

loginButton.setCallback(new Callback() {

@Override

public void success(Resultresult) {

TwitterAuthToken authToken = result.data.getAuthToken();

String token = authToken.token;

String secret = authToken.secret;

Log.i("token", token);

Log.i("secret", secret);

}

@Override

public void failure(TwitterException exception) {

// Do something on failure

}

});

}

@Override

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

super.onActivityResult(requestCode, resultCode, data);

loginButton.onActivityResult(requestCode, resultCode, data);

}

}

以上就是完整的步骤了,希望对大家有帮助。

android twitter第三方登录,android中接入twitter进行第三方登录相关推荐

  1. 计算机调试致sa登录失败,无法打开登录 'xxxx' 中请求的数据库。登录失败。用户 'sa' 登录失败。解决思路...

    当前位置:我的异常网» Sql Server » 无法打开登录 'xxxx' 中请求的数据库.登录失败.用 无法打开登录 'xxxx' 中请求的数据库.登录失败.用户 'sa' 登录失败.解决思路 w ...

  2. Linux使用expect自动登录,linux中使用expect实现自动登录(示例代码)

    在实际生产使用中,比如执行批量操作时,我们不想创建ssh认证,需要使用到密码登录或者链接,此时可以使用expect来操作自动添加password: 在centos系统上expect默认是没有安装的,所 ...

  3. linux 没有权限登录,CentOS中让一个用户没有登录权限

    一.还未建立用户时,可以使用以下命令 1,groupadd groupname useradd -g groupname username -s /bin/false   #-s为默认shell,不给 ...

  4. 基于localStorge开发登录模块的记住密码与自动登录

    前沿||我是乐于分享,善于交流的鸟窝 先做写一篇关于登录模块中记住密码与自动登录的模块.鸟窝微信:jkxx123321 关于这个模块功能模块的由来,这是鸟大大的处女秀,为什么这么说呢?一天在群里,一个 ...

  5. Android使用mob实现第三方登录(Facebook、Twitter)

    文章目录 基本配置 1.申请各平台账号,获取各自的key和secret 2.添加依赖 3.添加插件 4.配置MobSdk 5.配置平台 6.mob在项目中的初始化 本文只是做记录和梳理流程,建议到mo ...

  6. 只要五分钟,让你成功接入Twitter的第三方登录

    第一步: 依赖Twitter的依赖库 首先在整个项目的build.gradle中的 repositories 里添加maven如下: repositories {mavenCentral()maven ...

  7. android使用webview登录,android – 使用WebView登录Twitter

    嗨,我使用浏览器完成了Twitter登录 码 TwitLoginActivity.java(主要活动) package com.app.twitlogin; import twitter4j.Twit ...

  8. 【Unity】中接入QQ官方SDK实现QQ登录(Android环境) 新手教程

    作为一个新手做准备工作的时候,在网上找了很多例子,发现其中有很多例子是有错误的,各种花式报错,好在最后终于成功了,在此记录一下自己接入QQSDK的过程. 前期准备 QQ官方SDK下载 地址:http: ...

  9. 【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料

    转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257 由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字 ...

  10. Android项目中接入网易云信聊天

    首先上图 由于项目中原有的聊天出现收发消息不及时以及其他的问题,导致客服那边损失了不少的订单,遂接入新的第三方即时聊天sdk.有人可能会说,为什么不自己写呢?技术人员不够,时间长,开发成本高,最主要的 ...

最新文章

  1. BZOJ 1406 密码箱(数论)
  2. 类的笔记整理__7-10__
  3. DataGrid 完全攻略之二(把数据导出到Excel)
  4. csdn如何插入多列表格?
  5. 【QA】揭开知识库问答KB-QA的面纱1·简介篇
  6. 电商促销后台设计,写得太好了!
  7. Windows下LaTeX安装教程与新手入门
  8. php获取汉字拼音首字母的方法
  9. esp8266教程:esp8266使用mqtt连接百度智能云
  10. 解读“统一价格分评审方法”
  11. CDN 回源与文件预热
  12. 2020我们一起“只争朝夕,不负韶华”
  13. 电脑端如何隐藏显示CAD图层内容
  14. Ubuntu20.04 安装 Ipopt + cppAD流程,一键到底没有废话(复制流攻略)
  15. ORA-00933: SQL 命令未正确结束处理办法
  16. R语言学习笔记-RStudio基础操作
  17. 4号线地铁站点列表_北京地铁4号线线路图 4号线地铁站点列表
  18. html汉子竖着显示,html文字怎么竖排显示
  19. 正确的java语句,下面哪条Java语句可以正确输出“HelloJava!”?()
  20. AT89S51编辑和烧录软件过程

热门文章

  1. ASP.NET 新闻发布网站
  2. 康托尔集的物理意义1.2
  3. 文字识别方法全面整理
  4. 加减乘除等符号大全中英对照,在英语中的用法
  5. php模拟登录强智教务,湖南强智科技教务系统python模拟登录并爬取成绩(财院)...
  6. linux 主机支持远程唤醒_Linux远程开机
  7. Xcode真机调试 could not lunch failed to get reply to handshake packet
  8. oracle函数 isex,求一条sql话语,按条件查询过期的客户信息
  9. 短按SOS键实现开始与停止白光LED灯闪烁状态
  10. 新版标准日本语中级_第六课