返回顶部

QQ登录

 

1. 搭建开发环境

以下以eclipse为开发的IDE进行范例说明:

(1)创建一个工程,并把open-sdk.jar文件和mta_sdk_x.x.x.jar文件拷贝到libs(或lib)目录下,如下图所示:

引入jar

(2)将open-sdk.jar加入编译路径中。
具体的操作步骤为:选中open-sdk.jar,右键菜单中选择Build Path, 选择Add to Build Path,如下图所示:

加入编译路径

(3)将mta_sdk_x.x.x.jar加入编译路径中。
按照上面的方法,将mta_sdk_x.x.x.jar加入编译路径中。
在工程的Referenced Libraries目录下看到导入的jar包,说明已经成功将jar包加入build path,如下图所示:

引入成功

(4)配置AndroidManifest;

在应用的AndroidManifest.xml增加配置的<application>节点下增加以下配置(注:不配置将会导致无法调用API);

通过以上两个步骤,工程就已经配置完成了。接下来就可以在代码里使用QQ互联的SDK进行开发了。

2. 创建实例

Tencent是SDK的功能入口,所有的接口调用都得通过Tencent进行调用。因此,调用SDK,首先需要创建一个Tencent实例,其代码如下:

其中,如果你已经添加了”android.permission.INTERNET”和”android.permission.ACCESS_NETWORK_STATE”权限,则无需重复添加。

而”你的AppId”则要替换成具体应用的AppId,例如你的AppId是”222222″,则<data>标签应该是这样的:

3. 实现回调

所有的SDK接口调用,都会传入一个回调,用以接收SDK返回的调用结果。回调的主要接口有两种:

(1) 实现回调 IUiListener

调用SDK已经封装好的接口时,例如:登录、快速支付登录、应用分享、应用邀请等接口,需传入该回调的实例。

IUiListener的实现示例代码如下:

(2) 实现回调 IRequestListener

使用requestAsync、request等通用方法调用sdk未封装的接口时,例如上传图片、查看相册等,需传入该回调的实例。

IRequestListener的实现示例代码如下:

应用在调用SDK提供的接口时,将实现了对应回调接口的实例传入。当SDK的接口调用完成后,具体如登录、应用邀请和应用分享调用完成后,会回调传入的接口实例。

(3) 特别注意:

应用调用Andriod_SDK接口时,如果要成功接收到回调,需要在调用接口的Activity的onActivityResult方法中增加如下代码:

4. 调用QQ登录接口

(1)QQ登录示例代码:

代码中的listener是IUiListener的一个实例。

(2) 效果展示:

如果用户手机上安装了最新版本的手机QQ,将会调用相应的客户端,通过SSO方式进行登录。此方式可以避免用户多次输入用户名和密码,提升用户的登录体验。

如果用户手机上没有安装任何支持SSO登录的客户端,SDK将会调用系统浏览器,打开登录页面。用户在网页中输入输入用户名和密码后可以完成授权。

授权完成后,界面会自动返回应用界面。用户在应用中进行后续操作。

(3) 登录成功后获取的数据

登录成功后调用public void onComplete(JSONObject arg0) 回传的JsonObject, 其中包含OpenId, AccessToken等重要数据。

(4) 调用QQ注销接口

5. 获取用户信息

(1) 异步方式调用

(2)同步方式调用

注意:由于同步调用直接访问网络,是延时性操作,需要放入线程中执行。

同步调用方式如下:

(3)用户信息详情: