如何在Android应用中集成Twitter登录功能
16 分
如何将twitter登录添加到您的android应用程序 介绍 本节解释如何使用twitter登录和 parse server核心功能 https //www back4app com/product/parse server 创建具有用户注册的应用程序,通过back4app。 它看起来像这样 在任何时候,您都可以在我们的 github仓库 https //github com/back4app/android geopoints tutorial 中访问使用本教程构建的完整android项目。 先决条件 要完成本教程,我们需要: android studio https //developer android com/studio/index html 在 back4app 上创建的应用程序。 注意: 请遵循 新 parse 应用教程 https //www back4app com/docs/get started/new parse app 以了解如何在 back4app 上创建 parse 应用。 一个连接到 back4app 的安卓应用。 注意: 请遵循 安装 parse sdk 教程 https //www back4app com/docs/android/parse android sdk 以创建一个连接到 back4app 的 android studio 项目。 一台运行 android 4 1(果冻豆)或更高版本的设备(或 虚拟设备 https //developer android com/studio/run/managing avds html )。 1 twitter 设置 要开始使用 twitter 功能,您需要: 前往 twitter 应用管理网站 https //apps twitter com/ , 使用 twitter 账户登录并点击 \<font color="#2166ae">创建新应用\</font> 填写 \<font color="#2166ae">应用详情\</font> 当被要求指定 \<font color="#2166ae">回调 url\</font> , 请插入 \<font color="#2166ae">twittersdk //\</font> 这是 强制性的 以便通过 twitter 启用身份验证 3\ 点击 \<font color="#2166ae">开发者协议\</font> 然后点击 \<font color="#2166ae">创建你的 twitter 应用\</font> 4\ 打开你的 android studio 项目,找到你的 \<font color="#2166ae">build gradle (module app)\</font> ,在 \<font color="#2166ae">dependencies{}\</font> 部分添加以下代码以安装 parse twitter utils sdk for android。 1 // 别忘了用最新版本的 parse twitter utils sdk for android 替换下面的行 2 implementation 'com github parse community\ parsetwitterutils android\ latest version here' 记得将 parse facebook utils sdk for android 的版本更新到最新版本。你可以在 jitpack 网站 https //jitpack io/ ,按照以下步骤找到最新版本 在 jitpack 网站上粘贴 \<font color="#2166ae">parse community/parsetwitterutils android\</font> 到 \<font color="#2166ae">git repo url\</font> 框中。 完成后,点击 \<font color="#2166ae">查找\</font> 按钮。然后你应该能看到可用的 parse twitter utils sdk for android 版本,如下图所示。 2 将您的 twitter 应用与 back4app 连接 在您的 android studio 项目中,在名为 \<font color="#2166ae">app\</font> 的 java 文件中,该文件扩展了您创建的 application 以初始化 parse sdk,在其 \<font color="#2166ae">oncreate\</font> 方法中,在 \<font color="#2166ae">parse initialize()\</font> 调用之后,使用以下代码来初始化 parse twitter utils sdk。 1 parsetwitterutils initialize(getstring(r string twitter consumer key), getstring(r string twitter consumer secret)); 如果您没有一个 \<font color="#2166ae">app java\</font> 文件,如本步骤所述,请访问 安装 parse sdk for android https //www back4app com/docs/android/parse android sdk 文档,并确保您已按照所有步骤正确安装 parse sdk。如果您没有正确安装 parse sdk,您的 facebook 登录将无法与 parse 一起使用。 2\ 转到 \<font color="#2166ae">app\</font> > \<font color="#2166ae">res\</font> > \<font color="#2166ae">values\</font> > \<font color="#2166ae">strings xml\</font> 文件。 在 \<font color="#2166ae">strings xml\</font> 文件中添加以下代码: \<! 根据需要更改以下字符串 > \<string name="twitter consumer key">粘贴您的 twitter 消费者密钥\</string>\<string name="twitter consumer secret">粘贴您的 twitter 消费者密钥\</string> 2\ 保持 \<font color="#2166ae">string xml\</font> 文件打开,然后访问 back4app 网站,登录并点击 \<font color="#2166ae">我的应用\</font> 。找到您的应用,然后点击 \<font color="#2166ae">服务器设置\</font> 。 找到 “twitter 登录” 块并点击 \<font color="#2166ae">设置\</font> 。 “twitter 登录” 块看起来是这样的 2\ 保持你访问的 back4app twitter 登录 页面打开,然后去 twitter 应用管理网站 https //apps twitter com/ 找到你的应用并点击它的名称。 3\ 点击密钥和访问令牌,复制消费者密钥(api 密钥)和消费者密钥(api 秘密),并将其粘贴到 back4app twitter 登录页面,填写相应的字段。完成后只需点击保存。消费者密钥(api 密钥)和消费者密钥(api 秘密)看起来是这样的 4\ 另外,复制 \<font color="#2166ae">消费者密钥 (api 密钥)\</font> 和 \<font color="#2166ae">消费者秘密 (api 秘密)\</font> 并将其粘贴到你的 \<font color="#2166ae">strings xml\</font> 文件中,位于你的 android studio 项目中。 4 登录 导入到你的 \<font color="#2166ae">loginactivity\</font> 1 import android app alertdialog ; 2 import android app progressdialog ; 3 import android content dialoginterface ; 4 import android content intent ; 5 import android support v7 app appcompatactivity ; 6 import android os bundle ; 7 import android view\ view ; 8 import android util log ; 9 import android widget button ; 10 import android widget toast ; 11 12 import com parse logincallback ; 13 import com parse parseexception ; 14 import com parse twitter parsetwitterutils ; 15 import com parse parseuser ; 16 import com parse savecallback ; 2\ 要实现twitter登录,只需使用以下代码: 1 parsetwitterutils login(loginactivity this, new logincallback() { 2 3 @override 4 public void done(final parseuser user, parseexception err) { 5 if (err != null) { 6 dlg dismiss(); 7 parseuser logout(); 8 log e("err", "err", err); 9 } 10 if (user == null) { 11 dlg dismiss(); 12 parseuser logout(); 13 toast maketext(loginactivity this, "the user cancelled the twitter login ", toast length long) show(); 14 log d("myapp", "uh oh the user cancelled the twitter login "); 15 } else if (user isnew()) { 16 dlg dismiss(); 17 toast maketext(loginactivity this, "user signed up and logged in through twitter ", toast length long) show(); 18 log d("myapp", "user signed up and logged in through twitter!"); 19 user setusername(parsetwitterutils gettwitter() getscreenname()); 20 user saveinbackground(new savecallback() { 21 @override 22 public void done(parseexception e) { 23 if (null == e) { 24 alertdisplayer("first tome login!", "welcome!"); 25 } else { 26 parseuser logout(); 27 toast maketext(loginactivity this, "it was not possible to save your username ", toast length long) show(); 28 } 29 } 30 }); 31 } else { 32 dlg dismiss(); 33 toast maketext(loginactivity this, "user logged in through twitter ", toast length long) show(); 34 log d("myapp", "user logged in through twitter!"); 35 alertdisplayer("oh, you!","welcome back!"); 36 } 37 } 38 }); 在示例项目中,这段代码放置在一个 \<font color="#2166ae">通过推特登录\</font> 按钮回调中。 3\ 添加一些方法来显示警告对话框,使过程看起来更专业是很有趣的。下面的方法实现了这一点: 1 private void alertdisplayer(string title,string message){ 2 alertdialog builder builder = new alertdialog builder(loginactivity this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok", new dialoginterface onclicklistener() { 6 @override 7 public void onclick(dialoginterface dialog, int which) { 8 dialog cancel(); 9 // don't forget to change the line below with the names of your activities 10 intent intent = new intent(loginactivity this, logoutactivity class); 11 intent addflags(intent flag activity clear task | intent flag activity new task); 12 startactivity(intent); 13 } 14 }); 15 alertdialog ok = builder create(); 16 ok show(); 17 } 5 登出 导入到你的 \<font color="#2166ae">loginactivity\</font> 1 import android app alertdialog ; 2 import android app progressdialog ; 3 import android content dialoginterface ; 4 import android content intent ; 5 import android support v7 app appcompatactivity ; 6 import android os bundle ; 7 import android view\ view ; 8 import android widget button ; 9 10 import com parse parseuser ; 2\ 要实现twitter注销,只需使用以下代码 1 parseuser logout (); 2 alertdisplayer ( "所以,你要走了 " , "好的 再见了" ); 在示例项目中,这段代码放置在一个 \<font color="#2166ae">通过twitter注销\</font> 按钮回调中。 该方法 \<font color="#2166ae">alertdisplayer\</font> 与您在 \<font color="#2166ae">loginactivity\</font> 中添加的相同,只需记得更改 \<font color="#2166ae">intent\</font> 参数。在您的android studio项目的strings xml文件中。 完成了! 在这个阶段,您可以使用parse server核心功能通过back4app登录、注册和注销您的应用程序!