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新浪微博项目
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




