- 浏览: 1515125 次
- 性别:
- 来自: 杭州
-
文章分类
最新评论
-
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 3461最新内容请见原文: http://www.trinea.c ... -
滚动到底部加载更多及下拉刷新listview的使用
2013-06-24 21:11 5700最新内容建议直接访问原文:滚动到底部加载更多及下拉刷新li ... -
Android系统下载管理DownloadManager功能介绍及使用示例
2013-05-23 13:03 10989建议直接访问原文:Android系统下载管理Downloa ... -
Sqlite插入或更新
2013-05-15 09:20 1557在数据库中我们经常会有这种需求,插入时,某条记录不存在则插入, ... -
android.os.BadParcelableException: ClassNotFoundException when unmarshalling
2013-05-08 12:55 2418应用打开,home键到后台,一段时间打开,偶现fc andro ... -
viewpager实现画廊(一屏多个Fragment)效果
2013-04-08 09:15 4401最新内容建议直接访问原文:viewpager实现画廊(一屏 ... -
Android性能调优工具TraceView介绍
2013-04-01 08:56 2101本文主要介绍Android性能调优工具TraceView的使 ... -
Android应用如何开机自启动、自启动失败原因
2013-03-26 09:15 2440Android应用如何实现开机自启动? 开机自启动 ... -
测试Title
2013-03-23 10:47 9测试内容,包百度, -
Android APK反编译查看源码及资源文件
2013-03-20 09:09 2293想学习下其他Apk的源码吗? 想看看其他Apk的图片资源 ... -
Android性能调优
2013-03-11 21:26 1524本文主要分享自己在appstore项目中的性能调优点. ... -
添加android-support-v4 错误 java.lang.ClassNotFoundException: android.support.v4.vie
2012-11-16 19:04 4299在使用ViewPager添加android-support-v ... -
Android 直接查看Sqlite数据库数据
2012-11-16 19:03 1620本文主要介绍Android开发中如何直接查看sqlite数据库 ... -
Android 自定义View并添加属性
2012-11-14 20:09 1201本文主要介绍如何为自定义的View添加属性以及属性的类型。 ... -
Android开发中调用Google Map或Baidu Map
2012-11-14 19:27 1637本文主要介绍如何在Android中引入地图及并对地图进行相应的 ... -
Google Map API运行提示Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
2012-11-14 19:26 1697Google Map API运行提示Installation ... -
Android 开发利用wifi调试
2012-11-14 19:25 1690本文主要介绍在Android开发中如何利用wifi进行应用调试 ... -
Android Service介绍
2012-11-14 18:51 1133本文主要介绍Service的概念及作用、使用(包括长时间运 ... -
Android AIDL应用间交互
2012-11-12 18:52 1211本文主要介绍使用Service进行应用间的交互。 ... -
Android BroadcastReceiver介绍
2012-11-12 18:51 1260本文主要介绍BroadcastReceiver的概念、使用 ...
相关推荐
4. **调用API接口**:通过SDK提供的各种方法,如postStatus()用于发布微博,getUserTimeline()获取用户时间线等。 四、示例代码 以下是一个简单的发布微博的例子: ```java import weibo4j.*; public class ...
WeiBeeQQ.cs - 腾讯微博类,发微博,获取时间线等实现 v. Utility.cs - 公用的基础方法 vi. WebHelper.cs - 更基础的web帮助方法 b. Helpers i. WeiBeeAdd.cs - 发微博(包括图片文字)数据类型 2. DemoWeb目录,...
本篇将详细介绍如何在Android平台上仿造腾讯微博客户端,提供一个功能完备、易于使用的应用程序。 一、项目概述 "Android仿腾讯微博客户端"是一个基于Android平台的项目,其目标是实现与腾讯微博原生客户端类似的...
用户可以通过点击分享按钮,选择相应平台,然后输入文字、添加图片、视频或链接,最后发布到自己的微博时间线。这一过程的背后,涉及到前端开发、后端接口设计以及社交媒体API的使用。 【标签】:“腾讯微博” ...
- 开发者可以利用SDK方便地将内容分享到用户的微博时间线,包括文本、图片、链接等多种形式。V2.4.0版本的更新可能优化了分享流程,使得分享更顺畅,用户体验更好。 3. **登录/注销按钮**: - 自V2.3.0起,SDK...
在Android平台上,腾讯微博是一款非常流行的社交媒体应用,它允许用户发布、阅读和分享微博,与朋友保持联系。这里我们讨论的是“Android腾讯微博源码”,这是一份宝贵的资源,可以帮助开发者深入理解Android应用...
5. **网络编程**:使用HttpURLConnection或OkHttp库进行网络请求,获取腾讯微博API的数据,如用户信息、时间线动态等。需要注意处理异步任务,防止阻塞主线程。 6. **JSON解析**:接收到的微博数据通常是JSON格式,...
这个框架可以帮助开发者构建自己的微型博客平台,提供类似于腾讯微博的用户体验。通过使用PHP,该框架利用了这门语言的灵活性和广泛的应用场景,使得开发者能够快速开发、部署和维护社交网络服务。 在PHP框架中,...
【基于Android的腾讯微博app】项目是一个使用Android Studio开发的移动应用示例,旨在帮助开发者了解如何构建一个功能完备的社交媒体应用,特别是针对腾讯微博的客户端。该项目包含了一个完整的应用程序框架,包括...
开发者可以通过SDK提供的类和方法,轻松实现如获取用户信息、发布微博、获取时间线等操作。例如,可能有一个`WeiboAPI`类,其中包含`getUserInfo()`这样的方法来获取指定用户的基本信息。 3. **微博用户信息**: ...
2. **高德地图API接入**:详细阐述如何在Android应用中引入高德地图SDK,包括添加依赖、获取API密钥、初始化地图等步骤。 3. **地图显示与控制**:讲解如何加载地图,设置地图级别、视角、缩放、平移等操作,以及...
2. **数据访问**:通过SDK,开发者可以获取微博的实时信息流,包括用户的时间线、热门话题、推荐内容等。同时,也可以获取和管理用户的信息,如好友列表、关注列表等。 3. **内容发布**:SDK应该提供接口,使开发者...
在这个模板中,HTML文件可能已经预设了类似于腾讯微博的头部、主体和底部布局,包括导航栏、时间线、发布框、评论区等元素。 接着是CSS(层叠样式表),它是用于描述HTML或XML(包括各种XML方言如SVG、MathML等)...
反观新浪微博,尽管在起跑线上晚于腾讯微博,却通过一系列精准的策略和创新的产品设计,牢牢把握住了市场先机。那么,在这场较量中,究竟是哪些因素导致了腾讯微博未能战胜新浪微博呢? 首先,腾讯微博在业务投入与...
2. 功能全面:除了基本的发微博、浏览时间线,还支持评论、转发、点赞等交互功能,以及图片上传,满足用户多样化的需求。 3. 源码开放:tweetero的源代码公开,为开发者提供了学习和研究的机会,有助于提升Android...
实现微博浏览功能,应用需要能获取用户的微博时间线,这通常通过调用腾讯微博的API接口实现。API返回的数据显示在应用界面上,可以包括文字、图片、视频等各种内容类型。这涉及到数据解析(例如JSON解析)、UI渲染...
当你确认所有信息无误后,点击“分享”按钮,系统会自动帮你将这首歌曲的相关信息和链接发送到你的腾讯微博时间线上。 分享成功后,你会看到一个提示框告诉你分享已经完成。此时,你的粉丝或关注者就能够看到你在...
5. **时间线视图**:以时间线的形式展示各个组件的活动,直观展示性能瓶颈。 在使用Systrace时,开发者通常会结合Android Profiler(在Android Studio中)来分析内存泄漏、CPU使用率、线程状态等,以全方位优化应用...
在实际开发过程中,使用这个SDK,开发者需要熟悉Java编程,理解网络通信的基本原理,同时掌握SDK提供的API接口。通常,SDK会包含详细的开发指南、示例代码和错误处理机制,帮助开发者快速上手。例如,可能有专门的类...
1. **三维几何建模**:Java 3D API提供了一系列类来创建和操作3D几何形状,如点、线、面、多边形和复杂几何对象。这使得开发者能够构建各种各样的3D模型。 2. **场景图**:Java 3D使用一种基于节点的场景图结构,...