本文主要介绍腾讯微博android sdk中新增微博有关的8个接口,以及使用的示例代码
注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见sdk使用总介绍
1、8个接口介绍
这8个接口包含了腾讯微博两部分api
1.1、微博相关中的发表一条微博、转播一条微博、回复一条微博、发表一条带图片微博、点评一条微博、发表音乐微博、发表视频微博、发表心情帖子。在api中发表一条微博和发表一条带图片微博合二为一。
1.2、私信相关中的发私信api
对应函数图如下(其中addStatusCommon为公用函数):
另有一个简单的发送状态接口如下:
public QqTResponse addStatusRes(String content, String imagePath);
示例代码如下
qqTSdkService.addStatus("第一条状态哦", null);
其找第一个参数为状态内容,第二个参数为图片地址,不传图片为空即可
2、示例代码
2.1 参数设置
对于各参数意义同腾讯微博发表一条微博api参数,通过QqTStatusInfoPara传入,QqTStatusInfoPara各参数意义如下
2.2、不同返回结果调用
这8个接口同样都有三种返回结果即字符串、boolean、QqTResponse,可根据需要调用。
以发表一条微博为例
public String addStatusStr(QqTStatusInfoPara status);
public boolean addStatus(QqTStatusInfoPara status);
public QqTResponse addStatusRes(QqTStatusInfoPara status);
addStatusStr返回整个结果的字符串,可以通过status.setFormat定义以xml还是json形式返回
addStatus返回是否发表成功
addStatusRes返回QqTResponse,QqTResponse是先得到json串的结果,然后转换为QqTResponse对象
其中包含返回结果中各个字段含义。data字段为addStatus返回的结果。
2.2.1 字符串形式返回
public void testAddStatusStr() {
QqTStatusInfoPara status = new QqTStatusInfoPara();
status.setStatusContent("发表音乐微博");
/** 设置音乐地址 **/
status.setMusicUrl("http://201112.wma.9ku.com/file2/183/182737.mp3");
status.setMusicAuthor("张芸京");
status.setMusicTitle("偏爱");
assertTrue(qqTSdkService.addMusicStatusStr(status) != null);status.setStatusContent("发表视频微博");
/** 设置视频地址 **/
status.setVideoUrl("http://v.youku.com/v_show/id_XMjUzOTg3MDY0.html");
assertTrue(qqTSdkService.addVideoStatusStr(status) != null);
}
上面代码是发表一条音乐微博和一条视频微博
2.2.2 boolean形式返回
public void testAddStatus() {
QqTStatusInfoPara status = new QqTStatusInfoPara();
status.setStatusContent("发表一条微博啦");
/** 设置精度和纬度,可不设置 **/
status.setLatitude(23.4);
status.setLongitude(110.5);
assertTrue(qqTSdkService.addStatus(status));status.setStatusContent("发表一条带图片微博啦");
/** 发表带图微博,设置图片路径 **/
status.setImageFilePath("/mnt/sdcard/DCIM/Camera/IMAG2150.jpg");
assertTrue(qqTSdkService.addStatus(status));
}
上面同时包含发送一条普通状态和一条带图片状态
2.2.3 QqTResponse形式返回
public void testAddStatusRes() {
QqTStatusInfoPara status = new QqTStatusInfoPara();
status.setStatusContent("发表一条微博Res啦");
QqTResponse qqTResponse = qqTSdkService.addStatusRes(status);/** 评论增加的状态 **/
if (qqTResponse.getIsOk() && qqTResponse.getData() != null) {
/** 设置评论的微博id **/
status.setSourceId(((QqTIdAndTime)qqTResponse.getData()).getId());
status.setStatusContent("评论微博啦");
assertTrue(qqTSdkService.comment(status));
status.setStatusContent("回复微博啦");
assertTrue(qqTSdkService.reply(status));
status.setStatusContent("转发微博啦");
assertTrue(qqTSdkService.repost(status));
} else {
assertTrue(false);
}
}
这段代码先回发表一条微博,并得到发表微博的id,然后评论、回复、转发该微博
(QqTIdAndTime)qqTResponse.getData()).getId()可以得到发表成功后的id