由于现在腾讯微博提供的java(android) sdk功能过弱,自己搞了个java sdk包,同样适用于android。包含腾讯微博目前提供的95%的api,几乎所有主要功能api,用法简单(微博、评论、转发、私信同一个实体类),方便扩展(可以根据自己需要修改源代码或是继承QqTSdkService类,当然为了后续依然能升级版本建议采用继承的方式)。

下面介绍源码地址和jar包地址,然后介绍api的具体使用

1、源码和jar包下载

QqTAndroidSdk-1.0.0.jar为sdk主代码,其中的QqTSdkServiceImpl包含了所有接口的实现,下面第二部分对此中接口进行介绍

jar包地址:QqTAndroidSdk-1.0.0.jar

google code源码地址:http://code.google.com/p/qq-t-java-sdk/source/browse/

github源码地址:https://github.com/Trinea/qq-t-java-sdk

JavaCommon-1.0.0.jar为QqTAndroidSdk依赖的公用处理包,包含字符串、list、数组、map、json工具类等等

jar包地址:已经包含在QqTAndroidSdk-1.0.0.jar中

google code源码地址:http://code.google.com/p/trinea-java-common/source/browse/

github源码地址:https://github.com/Trinea/JavaCommon

2、具体使用

参数同腾讯微博apihttp://wiki.open.t.qq.com/index.php/API%E6%96%87%E6%A1%A3

注意:以下所有的api示例代码都需要先新建QqTSdkService类对象并初始化,初始化如下

/** * 分别设置应用的key、secret(腾讯提供)。用户的accesstoken和tokenSecret(OAuth获取) * 请用自己的相应字符串替换,否则无法成功发送和获取数据 **/QqTAppAndToken qqTAppAndToken = new QqTAppAndToken();qqTAppAndToken.setAppKey("***"); // ***用应用key替换qqTAppAndToken.setAppSecret("***"); // ***用应用secret替换qqTAppAndToken.setAccessToken("***"); // ***用用户accesstoken替换qqTAppAndToken.setTokenSecret("***"); // ***用用户tokenSecret替换/** 新建QqTSdkService对象,并设置应用信息和用户访问信息 **/QqTSdkService qqTSdkService = new QqTSdkServiceImpl();qqTSdkService.setQqTAppAndToken(qqTAppAndToken);

关于以上的accessToken及tokenSecret的获取请见OAuth认证介绍及腾讯微博OAuth认证示例

下面就对接口进行介绍,并举例如何使用QqTAndroidSdk-1.0.0.jar中的api,每个接口都有三种返回参数,可以满足不同需求,接口主要分成几大类:

2.1、时间线(微博列表)

这20个接口包含了腾讯微博四部分api

1.1、时间线中的除statuses/ht_timeline_ext(话题时间线)以外的15个api

1.2、私信相关中的收件箱、发件箱两个api

1.3、数据收藏中的收藏的微博列表和获取已订阅话题列表两个api

1.4、微博相关中的获取单条微博的转发或点评列表api

以获取首页信息为例,示例代码如下:

QqTTimelinePara qqTTimelinePara = new QqTTimelinePara();/** 设置分页标识 **/qqTTimelinePara.setPageFlag(0);/** 设置起始时间 **/qqTTimelinePara.setPageTime(0);/** 每次请求记录的条数 **/qqTTimelinePara.setPageReqNum(QqTConstant.VALUE_PAGE_REQ_NUM);/** 可以设置拉取类型,可取值QqTConstant中VALUE_STATUS_TYPE_TL_… **/qqTTimelinePara.setStatusType(QqTConstant.VALUE_STATUS_TYPE_TL_ALL);/** 可以设置微博内容类型,可取值QqTConstant中VALUE_CONTENT_TYPE_TL… **/qqTTimelinePara.setContentType(QqTConstant.VALUE_CONTENT_TYPE_TL_ALL);List<QqTStatus> qqTStatusList = qqTSdkService.getHomeTL(qqTTimelinePara);assertTrue(qqTStatusList != null);

这样qqTStatusList就保存了首页的20条数据,可以自己设置不同的类型参数

更多时间线数据获取见:腾讯微博java(android)sdk时间线api详细介绍

2.2、新增微博api

8个接口包含了

2.1、微博相关中的发表一条微博、转播一条微博、回复一条微博、发表一条带图片微博、点评一条微博、发表音乐微博、发表视频微博、发表心情帖子。在api中发表一条微博和发表一条带图片微博合二为一。

2.2、私信相关中的发私信api

以新增一条微博为例,示例代码如下

qqTSdkService.addStatus("第一条状态哦", null);

其找第一个参数为状态内容,第二个参数为图片地址,不传图片为空即可

或者复杂点的如下,status可以设置其他地理位置信息等

QqTStatusInfoPara status = new QqTStatusInfoPara();status.setStatusContent("发表一条带图片微博啦");/** 发表带图微博,设置图片路径 **/status.setImageFilePath("/mnt/sdcard/DCIM/Camera/IMAG2150.jpg");assertTrue(qqTSdkService.addStatus(status, qqTAppAndToken));

更多新增微博api介绍见:腾讯微博java(android)sdk新增微博api详细介绍

2.3、操作一条微博

这6个接口包含了腾讯微博三部分api

1.1、微博相关中的删除一条微博api。

1.2、私信相关中的删除私信api

1.3、数据收藏中收藏微博、取消收藏微博、订阅话题、取消订阅话题4个api

以收藏一条微博为例,示例代码如下

qqTSdkService.collect(12121);

其中参数为微博id

更多操作微博相关api介绍见:腾讯微博java(android)sdk操作(删除.收藏.订阅等)微博api详细介绍

2.4、关系链列表(用户列表)

这10个接口包含了腾讯微博关系链相关中的互听关系链列表(对某个用户而言,既是他的听众又被他收听)、其他帐号听众列表、其他帐号收听的人列表、其他帐户特别收听的人列表、黑名单列表、我的听众列表、我的听众列表(只包含名字)、我收听的人列表、我收听的人列表(只包含名字)、我的特别收听列表10个api

以获取自己的收听用户为例,示例代码如下

QqTUserRelationPara qqTUserRelationPara = new QqTUserRelationPara();qqTUserRelationPara.setReqNumber(QqTConstant.VALUE_PAGE_REQ_NUM);qqTUserRelationPara.setStartIndex(0);List<QqTUser> qqTUserList = qqTSdkService.getSelfInterested(qqTUserRelationPara);
这样 qqTUserList就保存了自己的20位收听的用户信息 更多关系链列表相关api介绍见: 腾讯微博java(android)sdk关系链列表api详细介绍

2.5、用户建立关系

这6个接口包含了腾讯微博关系链相关中的收听某个用户、取消收听某个用户、特别收听某个用户、取消特别收听某个用户、添加某个用户到黑名单、从黑名单中删除某个用户共6个api

以关注某些用户为例,示例代码如下:

qqTSdkService.interestedInOther("wenzhang,li_nian,mayili007", null)
更多用户建立关系相关api介绍见: 腾讯微博java(android)sdk用户建立关系api详细介绍

2.6、帐户相关

这7个接口包含了腾讯微博帐户相关中的获取自己的详细资料、更新用户信息、更新用户头像信息、更新用户教育信息、获取其他人资料、获取一批人的简单资料、验证账户是否合法(是否注册微博)共7个api。除获取心情微博api外

以获取自己的资料为例,示例代码如下:

QqTUser qqTUser = qqTSdkService.getSelfInfo();

更多帐户相关api介绍见:腾讯微博java(android) sdk 帐户相关api详细介绍

2.7 搜索相关

这3个接口包含了腾讯微博搜索相关中的搜索用户、搜索微博、通过标签搜索用户共3个api。

以搜索微博为例,示例代码如下:

    public void testSearchStatus() {        QqTSearchPara qqTSearchPara = new QqTSearchPara();        qqTSearchPara.setKeyword("iphone");        qqTSearchPara.setPage(1);        qqTSearchPara.setPageSize(QqTConstant.VALUE_PAGE_REQ_NUM);        List<QqTStatus> qqTStatusList = qqTSdkService.searchStatus(qqTSearchPara);        assertTrue(qqTStatusList != null);    } 
更多搜索相关api介绍见: 腾讯微博java(android) sdk 搜索相关api详细介绍

2.8热度趋势相关

这2个接口包含了腾讯微博热度趋势中的话题热榜、转播热榜用户共2个api。

以话题热榜为例,示例代码如下:

    public void testGetHotTopics() {        QqTHotStatusPara qqTHotStatusPara = new QqTHotStatusPara();        qqTHotStatusPara.setReqNum(QqTConstant.VALUE_PAGE_REQ_NUM);        qqTHotStatusPara.setLastPosition(0);        /**         * 1 话题名,2 搜索关键字 3 两种类型都有         **/        qqTHotStatusPara.setType(Integer.toString(1));        List<QqTTopicSimple> hotTopicsList = qqTSdkService.getHotTopics(qqTHotStatusPara);        assertTrue(hotTopicsList != null);    } 

更多热度趋势相关api介绍见:腾讯微博java(android) sdk 热度趋势相关api详细介绍

2.9 数据更新相关

这1个接口为腾讯微博数据更新相关中的查看数据更新条数api。

示例代码如下:

    public void testGetUpdateInfoNum() {        /** 设置clearType,对应QqTConstant.VALUE_CLEAR_TYPE_… **/        QqTUpdateNumInfo qqTUpdateNumInfo = qqTSdkService.getUpdateInfoNum(true, QqTConstant.VALUE_CLEAR_TYPE_HOME_PAGE);        assertTrue(qqTUpdateNumInfo != null);    }

更多数据更新相关api介绍见:腾讯微博java(android) sdk 数据更新相关api详细介绍

2.10 话题相关

这2个接口为腾讯微博话题相关中的根据话题名称查询话题id和根据话题id获取话题相关信息api。

示例代码如下:

    public void testGetTopicInfoByIds() {        /** 先得到话题id **/        Map<String, String> topicIdAndName = qqTSdkService.getTopicIdByNames("袁莉闪婚,美汁源下架,iphone");        if (topicIdAndName != null) {            /** 话题id列表,以逗号分隔 **/            List<QqTStatus> qqtStatusList = qqTSdkService.getTopicInfoByIds(ListUtils.join(new ArrayList<String>(topicIdAndName.keySet())));            assertTrue(qqtStatusList != null);        } else {            assertTrue(false);        }    }

以上代码为先根据话题名得到话题id列表,然后为根据话题id获取话题相关信息接口,参数为话题id列表,以逗号分隔

更多话题相关api介绍见:腾讯微博java(android) sdk 话题相关api详细介绍

2.11 标签相关

这2个接口为腾讯微博标签相关中的添加标签和删除标签api。

    public void testDeleteTag() {        /** 删除自己的tag,先获取自己的资料,从中取中tag id **/        QqTUser qqTUser = qqTSdkService.getSelfInfo();        if (qqTUser != null && qqTUser.getTagMap() != null && qqTUser.getTagMap().size() > 0) {            /** 删除tag **/            for (Map.Entry<String, String> tag : qqTUser.getTagMap().entrySet()) {                qqTSdkService.deleteTag(tag.getKey());            }        } else {            assertTrue(false);        }    }

更多标签相关api介绍见:腾讯微博java(android) sdk 标签相关api详细介绍

你可能还感兴趣:

Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)

Android ImageCache图片缓存

Android系统下载管理DownloadManager功能介绍及使用示例

下拉刷新及滚动到底部加载更多的Listview使用

viewpager实现画廊(一屏多个Fragment)效果

Android APK root权限静默安装

写在前面, 自己搭博客why and target

更多相关文章

  1. 【Android】第三方QQ账号登录的实现
  2. android记帐本、涂鸦、仿腾讯新闻、仿bilibili、Markdwon便签、
  3. Android中tools属性的使用
  4. 【Android】第4章(5) 示例--列出手机上的所有联系人
  5. 《阿里巴巴Android开发手册》v1.0.1更新,优化部分内容和示例代码
  6. Android(安卓)ApiDemos示例解析(111):Views->Data Widgets->2. I
  7. API Demos 2.2 研读笔记(3)——Custom Dialog
  8. chez scheme for android 移植完成
  9. Android使用Intent一键分享图片文字到腾讯、新浪、开心、微信等

随机推荐

  1. Android(安卓)64k的string限制
  2. Android(安卓)ListView优化之局部刷新(更
  3. android手机修改系统分变率/修改机型/系
  4. android之碎片fragment的使用
  5. Android(安卓)Studio快捷键大全
  6. Android监测手机网络状态变化的广播
  7. 今晚没看完的几个网页,主要是alarm和一个U
  8. 关于Android中Dialog点击屏幕外失去焦点
  9. --Android引用so文件引发的血案
  10. android 拖拉控件