本文主要介绍腾讯微博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