本文主要介绍腾讯微博android sdk中关系链有关的10个接口,以及使用的示例代码
注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见sdk使用总介绍
1、10个接口介绍
这10个接口包含了腾讯微博关系链相关中的互听关系链列表(对某个用户而言,既是他的听众又被他收听)、其他帐号听众列表、其他帐号收听的人列表、其他帐户特别收听的人列表、黑名单列表、我的听众列表、我的听众列表(只包含名字)、我收听的人列表、我收听的人列表(只包含名字)、我的特别收听列表10个api
对应函数图如下(其中getUserRelationsCommon为公用函数):
2、示例代码
由于这10个接口类似,以我收听的人列表(getSelfInterested)、
我的听众列表(getSelfFansNames 只输出name)、
其他用户的听众列表(getOtherUserFans)为例
2.1 函数形式
这20个接口同样都有两种参数即qqTUserRelationPara、普通
三种返回结果即字符串、List、QqTResponse,可根据需要调用。
以我收听的人列表(getSelfInterested)为例
public String getSelfInterestedStr(QqTUserRelationPara qqTUserRelationPara);
public String getSelfInterestedStr(String format, int reqNumber, int startIndex);
public List getSelfInterested(QqTUserRelationPara qqTUserRelationPara);
public List getSelfInterested(int reqNumber, int startIndex);
public QqTResponse getSelfInterestedRes(QqTUserRelationPara qqTUserRelationPara);
public QqTResponse getSelfInterestedRes(int reqNumber, int startIndex);
String getSelfInterested返回整个结果的字符串,可以通过format定义以xml还是json形式返回
List getSelfInterested将返回的json串中用户列表转换成QqTStatus list
getSelfInterestedRes返回QqTResponse,QqTResponse是先得到json串的结果,然后转换为QqTResponse对象
其中包含返回结果中各个字段含义。data字段为ListgetSelfInterested返回的QqTStatuslist。
其他关系链api类似
2.2 参数意义
对于各参数意义同参数,
第一种形式参数通过QqTUserRelationPara传入,QqTUserRelationPara各参数意义如下
第二种形式参数为:
以字符串结果返回的api中format为返回字符串的格式,取值为QqTConstant.VALUE_FORMAT_JSON和QqTConstant.VALUE_FORMAT_XML。
String userName表示用户帐户名
String userOpenId表示用户open id
int reqNumber表示请求个数
int startIndex表示起始位置(第一页填0,继续向下翻页,填:[reqnum*(page-1)])
2.3、不同返回结果调用示例
2.3.1 字符串形式返回
public void testGetSelfFansNamesStr() {
QqTUserRelationPara qqTUserRelationPara = new QqTUserRelationPara();
qqTUserRelationPara.setFormat(QqTConstant.VALUE_FORMAT_JSON);
qqTUserRelationPara.setReqNumber(QqTConstant.VALUE_PAGE_REQ_NUM);
qqTUserRelationPara.setStartIndex(0);
String myFansStr = qqTSdkService.getSelfFansNamesStr(qqTUserRelationPara);
assertTrue(myFansStr != null);
}
以上代码得到我的听众列表,只输出name,所有api为getSelfFansNamesStr
2.3.2 List形式返回
public void testGetSelfInterested() {
QqTUserRelationPara qqTUserRelationPara = new QqTUserRelationPara();
qqTUserRelationPara.setReqNumber(QqTConstant.VALUE_PAGE_REQ_NUM);
qqTUserRelationPara.setStartIndex(0);
List qqTUserList = qqTSdkService.getSelfInterested(qqTUserRelationPara);
/** 第二页 **/
if (qqTUserList.size() >= qqTUserRelationPara.getReqNumber() && qqTUserList.get(qqTUserList.size() - 1) != null) {
/** 设置第二页起始位置(第一页填0,继续向下翻页:填:reqnum*(page-1)) **/
qqTUserRelationPara.setStartIndex(QqTConstant.VALUE_PAGE_REQ_NUM);
List nextqqTUserList = qqTSdkService.getSelfInterested(qqTUserRelationPara);
assertTrue(nextqqTUserList != null);
} else {
assertTrue(qqTUserList != null);
}
}
以上代码得到我收听的人列表,并进行翻页获取,所有api为getSelfInterested
2.3.3 QqTResponse形式返回
public void testGetOtherUserFans() {
QqTUserRelationPara qqTUserRelationPara = new QqTUserRelationPara();
qqTUserRelationPara.setReqNumber(QqTConstant.VALUE_PAGE_REQ_NUM);
qqTUserRelationPara.setStartIndex(0);
/** 设置用户帐户名,注意不是显示名,以http://t.qq.com/li_nian为例 **/
qqTUserRelationPara.setUserName("li_nian");
QqTResponse qqTResponse = qqTSdkService.getOtherUserFansRes(qqTUserRelationPara);
/** 第二页 **/
if (qqTResponse.getData() != null) {
/** 获得QqTResponse中的用户列表信息 **/
List qqTUserList = (List)((QqTListData)qqTResponse.getData()).getInfo();
if (qqTUserList.size() >= qqTUserRelationPara.getReqNumber()
&& qqTUserList.get(qqTUserList.size() - 1) != null) {
/** 设置第二页起始位置(第一页填0,继续向下翻页:填:reqnum*(page-1)) **/
qqTUserRelationPara.setStartIndex(QqTConstant.VALUE_PAGE_REQ_NUM);
QqTResponse nextQqTResponse = qqTSdkService.getOtherUserFansRes(qqTUserRelationPara);
assertTrue(nextQqTResponse != null);
} else {
assertTrue(qqTResponse != null);
}
} else {
assertTrue(false);
}
}
以上代码得到其他账户(li_nian为例)以的听众列表,并进行翻页获取,所有api为getOtherUserFansRes
从QqTResponse中获得用户列表为(List)((QqTListData)qqTResponse.getData()).getInfo()
2.4 翻页
见上面2.2.2和2.2.3中的翻页代码
大小: 24.1 KB
大小: 128.7 KB
分享到:
2011-12-10 00:08
浏览 1600
评论