- 浏览: 1516714 次
- 性别:
- 来自: 杭州
-
文章分类
最新评论
-
duxingzheZet:
listview.getScrollY(); // 为啥总是0 ...
Android 记录和恢复ListView滚动的位置的两种方法 -
Escalade:
AlertDialog显示错误 Unable to add window token null is not for an application -
陌路千里:
return false即可
form表单只提交值,而不进行页面跳转 -
yubenjie:
不错,说的很全。学习了
maven用途、核心概念、用法、常用参数和命令、扩展 -
fxiaozj:
中文加数字还是不行呀
解决TextView在中文和标点存在情况下一行没显示满就换行问题
本文主要介绍腾讯微博android sdk中时间线有关的20个接口,以及正常获取及翻页的使用的示例代码及部分特例
注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见sdk使用总介绍
1、20个接口介绍
这20个接口包含了腾讯微博四部分api
1.1、时间线中的除statuses/ht_timeline_ext(话题时间线)以外的15个api
1.2、私信相关中的收件箱、发件箱两个api
1.3、数据收藏中的收藏的微博列表和获取已订阅话题列表两个api
1.4、微博相关中的获取单条微博的转发或点评列表api
对应函数图如下(其中getTimeLineCommon为公用函数):
2、示例代码
由于这20个接口类似,仅以主页时间线(getHomeTL)为例,对于特殊接口再加以补充
2.1 函数形式
这20个接口同样都有三种返回结果即字符串、List<QqTStatus>、QqTResponse,可根据需要调用。
以主页时间线为例
public String getHomeTLStr(QqTTimelinePara qqTTimelinePara); public List<QqTStatus> getHomeTL(QqTTimelinePara qqTTimelinePara); public QqTResponse getHomeTLRes(QqTTimelinePara qqTTimelinePara);
getHomeTLStr返回整个结果的字符串,可以通过qqTTimelinePara.setFormat定义以xml还是json形式返回
getHomeTL将返回的json结果串中微博列表转换为QqTStatus list
getHomeTLRes返回QqTResponse,QqTResponse是先得到json串的结果,然后转换为QqTResponse对象
其中包含返回结果中各个字段含义。data字段为getHomeTL返回的微博list。
其他时间线api类似,参考腾讯微博api wiki对应api的参数,设置qqTTimelinePara即可
2.2 参数意义
对于各参数意义同腾讯微博时间线api参数,通过QqTTimelinePara传入,QqTTimelinePara各参数意义如下
2.3、不同返回结果调用示例
2.3.1 字符串形式返回
public void testGetHomeTLStr() { QqTTimelinePara qqTTimelinePara = new QqTTimelinePara(); /** 设置返回结果格式 **/ qqTTimelinePara.setFormat(QqTConstant.VALUE_FORMAT_XML); /** 设置分页标识 **/ 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_ORIGINAL); /** 可以设置微博内容类型,可取值QqTConstant中VALUE_CONTENT_TYPE_TL…,这里取音乐 **/ qqTTimelinePara.setContentType(QqTConstant.VALUE_CONTENT_TYPE_TL_MUSIC); String homeStr = qqTSdkService.getHomeTLStr(qqTTimelinePara); assertTrue(homeStr != null); }
2.3.2 List<QqTStatus>形式返回
public void testGetHomeTL() { 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); }
2.3.3 QqTResponse形式返回
public void testGetHomeTLRes() { 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); QqTResponse qqTResponse = qqTSdkService.getHomeTLRes(qqTTimelinePara); assertTrue(qqTResponse != null); }
2.4 翻页
需要setPageFlag、setPageTime以及setLastId,代码如下:
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); /** 第二页 **/ if (qqTStatusList.size() >= qqTTimelinePara.getPageReqNum() && qqTStatusList.get(qqTStatusList.size() - 1) != null) { qqTTimelinePara.setPageFlag(QqTConstant.VALUE_NEXT_PAGE); qqTTimelinePara.setPageTime(qqTStatusList.get(qqTStatusList.size() - 1).getTime()); qqTTimelinePara.setLastId(qqTStatusList.get(qqTStatusList.size() - 1).getStatusId()); List<QqTStatus> nextPageQqTStatusList = qqTSdkService.getHomeTL(qqTTimelinePara); }
对于getHomeTLRes返回的结果QqTResponse,只需要取出其中的data转换为QqTListData类型,再得到info,从中得到上次最后一条微博信息传入即可
其他时间线api翻页可能需要传入不同的参数,具体参考腾讯微博api wiki对应api的参数,设置qqTTimelinePara即可
3、特例
关于获取单条微博的转发或点评列表的api为getStatusCommentsCommon,该api被三个函数调用,如下:
分别表示得到某条微博的评论、评论和转发、转发信息。以获得某条微博的评论列表(getStatusComments)为例,调用如下:
public void testGetStatusComments() { QqTStatusInfoPara status = new QqTStatusInfoPara(); status.setStatusContent("发表一条微博用来查看评论列表啦"); QqTResponse qqTResponse = qqTSdkService.addStatusRes(status); /** 先评论新增的微博,再获得评论列表 **/ if (qqTResponse.getIsOk() && qqTResponse.getData() != null) { int commentCount = 2; for (int i = 1; i <= commentCount; i++) { /** 设置评论的微博id **/ status.setSourceId(((QqTIdAndTime)qqTResponse.getData()).getId()); status.setStatusContent("评论列表评论微博啦" + i); qqTSdkService.comment(status); } /** 获得评论列表 **/ QqTTimelinePara qqTTimelinePara = new QqTTimelinePara(); qqTTimelinePara.setPageFlag(0); qqTTimelinePara.setPageTime(0); qqTTimelinePara.setPageReqNum(QqTConstant.VALUE_PAGE_REQ_NUM); qqTTimelinePara.setTwitterId(0); /** 设置微博id,表示获得该微博的评论列表 **/ qqTTimelinePara.setRootId(((QqTIdAndTime)qqTResponse.getData()).getId()); List<QqTStatus> qqTStatusList = qqTSdkService.getStatusComments(qqTTimelinePara); assertTrue(qqTStatusList.size() == commentCount); } else { assertTrue(false); } }
上述代码主要完成发表一条微博,然后对其进行评论,最后获得评论列表
其中qqTSdkService.getStatusComments(qqTTimelinePara);为关键代码
发表评论
-
Android 开源库获取途径整理
2014-08-20 02:14 3474最新内容请见原文: http://www.trinea.c ... -
滚动到底部加载更多及下拉刷新listview的使用
2013-06-24 21:11 5710最新内容建议直接访问原文:滚动到底部加载更多及下拉刷新li ... -
Android系统下载管理DownloadManager功能介绍及使用示例
2013-05-23 13:03 11006建议直接访问原文:Android系统下载管理Downloa ... -
Sqlite插入或更新
2013-05-15 09:20 1565在数据库中我们经常会有这种需求,插入时,某条记录不存在则插入, ... -
android.os.BadParcelableException: ClassNotFoundException when unmarshalling
2013-05-08 12:55 2431应用打开,home键到后台,一段时间打开,偶现fc andro ... -
viewpager实现画廊(一屏多个Fragment)效果
2013-04-08 09:15 4413最新内容建议直接访问原文:viewpager实现画廊(一屏 ... -
Android性能调优工具TraceView介绍
2013-04-01 08:56 2111本文主要介绍Android性能调优工具TraceView的使 ... -
Android应用如何开机自启动、自启动失败原因
2013-03-26 09:15 2447Android应用如何实现开机自启动? 开机自启动 ... -
测试Title
2013-03-23 10:47 9测试内容,包百度, -
Android APK反编译查看源码及资源文件
2013-03-20 09:09 2302想学习下其他Apk的源码吗? 想看看其他Apk的图片资源 ... -
Android性能调优
2013-03-11 21:26 1531本文主要分享自己在appstore项目中的性能调优点. ... -
添加android-support-v4 错误 java.lang.ClassNotFoundException: android.support.v4.vie
2012-11-16 19:04 4307在使用ViewPager添加android-support-v ... -
Android 直接查看Sqlite数据库数据
2012-11-16 19:03 1630本文主要介绍Android开发中如何直接查看sqlite数据库 ... -
Android 自定义View并添加属性
2012-11-14 20:09 1208本文主要介绍如何为自定义的View添加属性以及属性的类型。 ... -
Android开发中调用Google Map或Baidu Map
2012-11-14 19:27 1645本文主要介绍如何在Android中引入地图及并对地图进行相应的 ... -
Google Map API运行提示Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
2012-11-14 19:26 1704Google Map API运行提示Installation ... -
Android 开发利用wifi调试
2012-11-14 19:25 1695本文主要介绍在Android开发中如何利用wifi进行应用调试 ... -
Android Service介绍
2012-11-14 18:51 1137本文主要介绍Service的概念及作用、使用(包括长时间运 ... -
Android AIDL应用间交互
2012-11-12 18:52 1219本文主要介绍使用Service进行应用间的交互。 ... -
Android BroadcastReceiver介绍
2012-11-12 18:51 1268本文主要介绍BroadcastReceiver的概念、使用 ...
相关推荐
2. 数据获取与展示:微博内容的获取主要依赖于腾讯微博API,如获取用户的时间线、热门微博等。使用Android的RecyclerView组件展示列表,结合Gson库解析JSON数据,实现动态加载和下拉刷新功能。 3. 图片加载:微博中...
5. **网络编程**:使用HttpURLConnection或OkHttp库进行网络请求,获取腾讯微博API的数据,如用户信息、时间线动态等。需要注意处理异步任务,防止阻塞主线程。 6. **JSON解析**:接收到的微博数据通常是JSON格式,...
2. **腾讯微博API**:源码中可能包含了对腾讯微博开放平台API的调用,如登录验证、发布微博、获取时间线、评论互动等功能。 3. **社交网络集成**:如何在Android应用中整合社交功能,实现用户登录、数据同步、分享...
这些接口涵盖了用户登录认证、发布微博、查看时间线、评论、转发等核心功能。通过OAuth2.0授权协议,用户可以安全地授权应用访问自己的微博数据。开发者需要处理好请求的签名、参数构造以及错误处理等细节,确保应用...
3. **API接口调用**:开发者需要理解和使用各个微博平台提供的API,如发布微博、获取时间线、评论、点赞等操作。 4. **UI设计**:Android应用的界面设计遵循Material Design指南,提供一致且友好的用户体验。 5. *...
1. 技术框架:本项目采用Java语言开发,利用Android SDK构建应用,结合腾讯微博提供的API服务,实现与微博服务器的交互。 2. 需求分析:主要包括用户登录、好友微博浏览、个人微博发布、私信通信、用户信息查看等...