原文出自:方杰| http://fangjie.info/?p=69 转载请注明出处
先看下实现效果:
欢迎界面:
第一次进入登录界面登录由于在登录界面没有已授权用户信息,所以自动跳转到授权界面。
点击开始就到了微博授权的的界面,这部分是微博SDK中实现的样子,我也没有做修改。
点击完授权之后,拿到access_token后,回调到认证界面,并通过微博API获取授权用户信息。并在已经授权的用户信息保存到数据库中。
获取到授权用户信息后,就跳转到登录界面。登录界面初始化时会从数据库中获取当前已经授权用户的信息。
在登录界面可以通过右上角的加号按钮继续添加帐号(提醒大家的时,未通过审核的应用要授权的话必须在微博开放平台添加为测试用户,这个当时困惑了我一天,真无语),就和上面的授权流程一样。授权完之后在登录界面就可以显示多个帐号,通过一个Spinner选择帐号。
所有上述过程看成三个任务:授权过程,获取用户信息并保存数据库,从数据库获取用户信息显示在登录界面上。
先看看项目框架吧。。。
Task.java——任务实体类
UserInfo.java——用户信息实体类
DBHelper.java——数据库操作类
DBUserInfo.java——对用户信息进行数据库操作的工具类
MainService.java——主框架服务
AuthActivity.java——授权界面
LoginActivity.java——登录界面
Welcome.java——欢迎界面
AuthUtil.java——微博OAuth2认证的工具类
GetUserInfo.java——利用微博API获取用户信息的工具类
这里面界面的布局文件不算太难,也不是重点,这里就不错细讲了。