学习开发新浪微博android客户端的一些事儿---刷新微博与加载更多微博
来源:互联网 发布:综合源码集合系 编辑:程序博客网 时间:2024/06/06 01:03
直入正题:
前一阵,我看了Ivan(http://t.qq.com/ivanhxy)的新浪微博客户端教程后,也自己动手按照他的思路来一步一步地写出这个客户端来了(这还不如叫抄出来的客户端了)。当写到“刷新微博”这个视频时,对里面如何刷新微博的做法感到很不好,而且比较耗流量(它是重新生成一个adapter,然后再去加载微博数据!---记忆中应该是这样。)。当然,这就显得有点“什么”了。
一、刷新微博
后来,我查了一下新浪微博开放平台里:http://open.weibo.com/wiki/2/statuses/friends_timeline
请求参数
其中请求参数:since_id 就是用来请求最新微博的东东了。
1.取出你之前请求的微博数据链表中的第一条数据的since_id。----->像这样 since_id = status.getId(); //status就是第一条微博数据
2.新建一个 Paging refreshPaging = new Paging();,再refreshPaging.setSinceId(since_id);
3.之后再把refreshPaging作为一个任务参数传给Service,在Service中调用weibo.getFriendsTimeline(refreshPaging);
4.再之后,新建一个Task.REFRESH_FRIEND_TIMELINE_WEIBO来标识刷新微博任务。然后。。。(太多然后的话则不好解释了)
下面是一些code:-----刷新微博的方法
- private long since_id =0;
- private Paging refreshPaging = new Paging();
- /**刷新weibo数据,使用since_id参数*/
- private void RefreshWeibo() {
- //since_id false int64 若指定此参数,则返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0。
- Log.i(TAG, "HomeActivity-->RefreshWeibo()");
- //得到当前列表的第一个微博数据,并取出它的ID
- btnRefreshWeibo.setEnabled(false);
- Status s = (Status) adaWeiboStatus.getItem(0);//得到微博数据列表中的第一个数据
- since_id = s.getId();//取得 since_id 也就是微博ID
- refreshPaging.setSinceId(since_id);
- HashMap<String, Object> params = new HashMap<String, Object>(1);
- params.put("refresh", refreshPaging);
- addTaskInWeiBoService(this,
- Task.REFRESH_FRIEND_TIMELINE_WEIBO,params);
- }
二、加载更多微博
然而加载更多微博的方法也与刷新微博的方法类似。其中使用的请求参数是:
max_idfalseint64若指定此参数,则返回ID小于或等于max_id的微博,默认为0。具体的方法很简单,也就是取出之前已经加载的微博数据链表的最后一个数据的max_id, 再使得Paging morePaging.setMaxId(max_id);,再然后就传给Service中去执行。它的实现方法与刷新微博的方法类似。
下面是一此code:-----加载更多微博
- //TODO loadMoreWeibo
- private long max_id =0;
- /**morePaging 加载更多weibo数据的Paging*/
- private Paging morePaging = new Paging(1, 5);
- /**加载更多weibo列表*/
- private void LoadMoreWeibo() {
- // max_id false int64 若指定此参数,则返回ID小于或等于max_id的微博,默认为0。
- Log.i(TAG, "HomeActivity-->LoadMoreWeibo()");
- max_id = Long.parseLong(status.get(status.size()-1).getMid())-1;
- morePaging.setMaxId(max_id);
- HashMap<String, Object> params = new HashMap<String, Object>(1);
- params.put("more", morePaging);
- addTaskInWeiBoService(this,
- Task.LOAD_MORE_FRIEND_TIMELINE_WEIBO,params);
- }
上面两份code只是微博客户端中的一部分,但说出了题目重点。(该文章写得有点草。。。)
下面三张图是我动手写(照抄的?)出来的客户端截图:----界面真不好看
-------------还未完成这个东东的功能啊,其实我没有完全仿制官方微博客户端来开发的,只想来点新鲜东东。本人今年大三,下学期大四了,该准备找个适合的工作了
还有求关注我的微博 http://weibo.com/yangqinjiang
20120531
THE END
版权声明:本文为博主原创文章,未经博主允许不得转载。
- 学习开发新浪微博android客户端的一些事儿---刷新微博与加载更多微博
- 学习开发新浪微博android客户端的一些事儿---刷新微博与加载更多微博
- 开发新浪微博android客户端
- 新浪微博Android客户端开发
- 新浪微博、慕课网、美团的、类似qq好友列表黏性下拉刷新风格。多种下拉刷新效果、上拉加载更多、可配置自定义头部广告位
- 新浪微博开放平台开发-android客户端(1)
- 新浪微博开放平台开发-android客户端(2)
- 新浪微博开放平台开发-android客户端(3)
- 新浪微博Android客户端开发之OAuth认证篇
- 【备忘】新浪微博Android客户端开发完整视频 下载
- 新浪微博android应用开发学习
- Android新浪微博下拉刷新
- android仿新浪微博刷新列表
- Android新浪微博下拉刷新
- 新浪微博AIR客户端开发---登陆
- 新浪微博ios客户端 开发流程
- Android实现微博下拉刷新上拉加载更多功能
- (Touch Android) 新浪微博Android客户端开发第一篇:Logo 页面的实现
- 使用js函数对select中的option排序后输出
- sql中group by 语句的使用
- Java编写一个简单死锁例子
- GRE写作必备句型
- HTML5拖放
- 学习开发新浪微博android客户端的一些事儿---刷新微博与加载更多微博
- Cocos Studio 查看plist文件
- 换行过长文字 固定表格的长度
- c语言基于Linux下用libpcap实现抓包程序
- tomcat自动切割日志(Windows)
- UVa 170 - Clock Patience
- 嵌入式linux之自己写bootload之编写第1阶段
- # 2.1 linux文件系统dup/dup2重定向应用实例
- 高效抽取loading,再多的加载页面也不怕