5天学会Android-03-04新浪微博项目
5天学会Android-03-04新浪微博项目
1
新浪微博Android客户端项目
北京亚嵌教育研究中心 ©2011 AKAE北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
2 Android 工程师
源码开发------------------- 手机定制系统
系统开发------------------ 驱动、系统软件 应用开发– 单机– 联网
– 游戏– 应用
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
3 项目目标和功能需求 目标– 实现Android新浪微博基本功能
需求– 框架搭建 – 处理网络状态 – 主UI – 动态 扩展列表 – 局部TextView
– 发表微博
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
4 开放API
开放API– 盛大– 腾迅 – 开心
– 豆瓣音乐– Twitter – Google Maps API
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
5 新浪微博
新浪微博是一个由新浪网推出, 提供微型博客服务的类Twitter网 站。用户可以通过网页、WAP页 面、手机短信/彩信发布消息或上 传图片。新浪可以把微博理解为 “微型博客”或者“一句话博 客”。您可以将您看到的、听到 的、想到的事情写成一句话,或 发一张图片,通过电脑或者手机 随时随地分享给朋友。您的朋友 可以第一时间看到你发表的信息, 随时和您一起分享、讨论。您还 可以关注您的朋友,即时看到朋 友们发布的信息。 北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
6
2009年8月14日开始 内测,截至2010年 10月底,新浪微博用 户数已达5000万,新 浪微博用户平均每天 发布超过2500万条微 博内容北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
7总体架构设计:
手机
Internate Http 新浪云服务器
Weibo服务器 Web DB
PC
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
8 验证方式新浪微博给开发者提供了两种登录方式(其余开发微博基本相同), 即OAuth验证和HTTP普通验证两种方式。 oAuth 第三方通过consumer_key换取request_token 用户授权request_token并返回verifier_code 第三方用授权的request_token换取access_token 第三方用access_token访问受限资源。 具体操作步骤: 1> 在weibo4j.examples.OAuthUpdate 访问认证的URL,得到pin 2> 在weibo4j.examples.OAuthUpdate 3> 访问用户的微博. Basic Authentication 一种通过HTTP头传递用户身份的授权方式。在非HTTPS方式下使用存在密码被窃 听风险。 采用普通鉴权(Basic Authentication)时app_key(consumer key)通过 请求参数直接传递,参数名为 source=consumer key。 输入pin,然后得到AccessToken
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
9 Java版新浪微博
新浪开发者注册 创建应用 获取key Key App Key: 1348648919 App Secret: 000b3e085fb4ca4dd6dc60fb6350a3f1 下载java SDK
北京 亚嵌教育-中国嵌入式技术的黄埔军
校
5天学会Android-03-04新浪微博项目
10
测试– 登陆– 发布一篇微博
验证方式:Base oAuth
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
11 功能接口weibo.getPublicTimeline(); weibo.getHomeTimeline(new Paging(1,5)); =weibo.getUserTimeline();
//所有收藏weibo.getFavorites();//测试获取所有关注人weibo.getFriendsStatuses(); //所有粉丝List<User> list= weibo.getFollowersStatuses(); //@我 提到我的statuses=weibo.getMentions(); //测试发送私信 weibo.sendDirectMessage("userid", "nihao"); //测试获取所有私信weibo.getDirectMessages(); //关注 weibo.createFriendship(""+lastuid); //取消关注 weibo.destroyFriendship(""+lastuid); //测试发布微博 Status status = weibo.updateStatus("静坐常思己过..."); // 测试发布带有地理位置的 status = weibo.updateStatus("我在昌平", 116,40.13); //添加评论 long sid = status.getId(); Comment cmt = weibo.updateComment("评论1 " + new java.util.Date(), String.valueOf(sid), null); //获取收到的评论 //获取收到和发送的 int n= weibo.getComments(String.valueOf(sid)).size(); weibo.getCommentsTimeline() //获取发送的 weibo.getCommentsByMe() //weibo.updateComment("评论2 " + new java.util.Date(), String.valueOf(sid), null); } catch (WeiboException e) {
Log.d("log error",""+e.getStatusCode());
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
12 修改和增加方法//转发方法修改 加入了转发的参数 public Status retweetStatus(long statusId,String strmsg) throws WeiboException {
PostParameter[] para=new PostParameter[]{new PostParameter("status",strmsg) }; return new Status(http.post(getBaseURL() + "statuses/retweet/" + statusId + ".json", para, true)); } //个人增加的方法。获取热门用户 public List<User> getHotUser(String category) throws WeiboException { System.out.println("getBaseURL=="+getBaseURL()); Response res = http.httpRequest(getBaseURL() + "/users/hot.json?source="+CONSUMER_KEY+"&category="+category,null, true,"GET"); User.constructUsers(res); return User.constructUsers(res); }
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
13
public String getAuthorizationURL(String uid,String pass) { return httpClient.getAuthorizationURL() + "?oauth_token=" + getToken()+"&userId="+uid+"&passwd="+pass+"&oauth_callback=json"; }
Configuration.javadefaultProperty.setProperty("weibo4j.oauth.consumerKey","2878322676"); defaultProperty.setProperty("weibo4j.oauth.consumerSecret","a9aea622b70b1b4152157701 6de7b56c");
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
14 Oauth方式登录验证
第一次登录– 用户输入用户名和密码 登录验证 验证通过获取AccessToken
– 保存到手机文件
第二次以后– 读取保存到手机上的accessToken
北京 亚嵌教育-中国嵌入式技术的黄埔军校
5天学会Android-03-04新浪微博项目
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




