在android中实现oauth

时间:2013-03-10 06:03:02

标签: android oauth-2.0 facebook-android-sdk android-facebook

我是Android环境的新手,并且一直在尝试使用android中的不同内容。 我不知道这是否可能,但我希望实现以下某种功能:

当我的应用启动时,主要活动允许用户使用Facebook或Google登录。 我使用Facebook SDK登录和登录facebook的功能。 (我仍在使用弃用的方法)

现在,当用户使用facebook或google登录时,我希望我的应用自动导航到其他活动。

问题1:我该怎么做?同时使用Facebook和谷歌?

此活动有四个按钮。使用这些,用户可以导航到App的不同部分。 其中一个按钮是“设置”。 每当用户点击此按钮时,应用程序应显示用户的个人资料信息。 我的第一个活动在提示用户登录时收集的信息。

问题2:如何在不同活动之间管理来自其帐户的用户数据? (如他们的电子邮件或个人资料图片等)

问题3: 我应该在首次登录活动中或用户点击“设置”按钮时访问数据吗? (在下一个活动中)有可能吗?怎么样?我想我可以在第一次活动中使用像(sdk中的getAccessToken()那样的访问令牌吗?)

问题4: 用户首次登录时是否可以保存数据,这样我每次登录时都不需要获取数据? 我该怎么做?

在一个会话(登录和注销)之间我不希望我的应用程序每次用户点击“设置”按钮时都会获取数据.....我应该如何保存数据? SharedPreferences ??

欢迎任何类型的评论,备注(仅限相关),文章,教程,项目,观点,建议! 我很困惑。 谢谢!!

1 个答案:

答案 0 :(得分:1)

  

问题1:我该怎么做?

成功登录后,使用Intent转到下一个活动。

  

问题2:我应该如何管理其帐户之间的用户数据   不同的活动?? (如他们的电子邮件或个人资料图片等)

在用户登录时将详细信息存储在SharedPreferences中,并确保在注销时清除SharedPreferences。

  

问题3:我应该在首次登录活动中或何时访问数据   用户点击“设置”按钮? (在下一个活动中)是吗?   可能?怎么样?我想我可以使用Access Tokens(getAccessToken()   在facebook sdk ??)我参加了第一次活动?

     

问题4:我可以在用户首次登录时保存数据,这样我就可以了   每次登录时都不必获取数据?我应该怎么做   此?

     

在一个会话(登录和注销)之间我不想要我的应用程序   每次用户点击“设置”按钮时获取数据.....如何   我应该保存数据吗? SharedPreferences ??

是的,SharedPreferences是这些的解决方案。这是你可以做的事情:

  • 当用户第一次登录时,将访问令牌及其到期时间存储在SharedPreferences中。

  • 之后,每次只需使用访问令牌检查会话是否有效。如果会话有效,则使用存储在首选项文件中的详细信息。如果会话已过期,请再次获取令牌并更新您的SharedPreference文件。

这是优秀的 video tutorial series on Android Facebook SDK,最适合您的是他使用SDK 2.0(已弃用的),就像您正在使用的那样!