之前我们已经完成了发送微博的界面设计,现在我们来尝试编写发送一条微博。新浪微博发送文字微博的API文档查看地址:http://open.weibo.com/wiki/Statuses/update
这里采用post方法向新浪提交数据。与获取账号信息一样,我们还是采用HttpClient开源项目,来为发送http请求。
先看post方法:
/*
* 新浪微博发送普通微博post方法
*/
public String doPost(String url, List<NameValuePair> pairs)
throws OAuthMessageSignerException,
OAuthExpectationFailedException, OAuthCommunicationException,
ClientProtocolException, IOException {
HttpPost postRequest = new HttpPost(url);
postRequest.setEntity(new UrlEncodedFormEntity(pairs, HTTP.UTF_8));//对传入的参数进行UTF-8编码,然后写入到Entity中
// 关闭Expect:100-Continue握手
// 100-Continue握手需谨慎使用,因为遇到不支持HTTP/1.1协议的服务器或者代理时会引起问题
postRequest.getParams().setBooleanParameter(
CoreProtocolPNames.USE_EXPECT_CONTINUE, false);
consumer.sign(postRequest);//对请求进行OAuth认证签名
System.out.println(postRequest.getRequestLine().getUri());
HttpResponse response = null;
response = new DefaultHttpClient().execute(postRequest);//发送请求
//String result = parseStringFromEntity(response.getEntity());
return result;
}
与获取账号信息一样,我们在外部通过NameValuePair讲参数传入到请求中。
然后我们为发送按钮,添加一个监听器
sendStatus = (ImageButton) findViewById(R.id.send_right);
sendStatus.setOnClickListener(new sendStatusListener());
取得EditText中用户输入的文字
text = (EditText) findViewById(R.id.editStatus);
String statustext = text.getText().toString();
给EditText设置一个监听器,用来监控用户输入的字符数
text.addTextChangedListener(new textWatcher());
/*
* 监控EditText改变情况,记录输入的字符数
*/
class textWatcher implements TextWatcher {
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
textcount.setText("" + text.getText().toString().length());
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
}
看下发送微博监听器中的代码:
/*
* 发送微博按钮的监听
*/
class sendStatusListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
WeiBoClient weibo = new WeiBoClient(SinaConstant.CONSUMER_KEY,
SinaConstant.CONSUMER_SECRET, access_token, access_secret);
List<NameValuePair> params = new ArrayList<NameValuePair>();
BasicNameValuePair sourcepair = new BasicNameValuePair("source", SinaConstant.CONSUMER_SECRET);
BasicNameValuePair statuspair = new BasicNameValuePair("status", status);
params.add(sourcepair);
params.add(statuspair);
weibo.doPost("http://api.t.sina.com.cn/statuses/update.json", params);
}
}
WeiBoClient类参考Android:SNS客户端开发二:获取账号资料中的内容,我们只需要将本文章开始的post方法添加到其中就可以了。
分享到:
相关推荐
Android:SNS客户端开发八:发送带图片的微博 第一种方法
基于此,我们的课题计划开发一款专为Android平台设计的优化版新浪微博客户端。目标是降低准入门槛,提供即时通讯的原创体验,增强互动性,同时避免过多广告干扰。我们将考虑以下几个关键点: 1. **准入门槛低**:...
阿里投资新浪微博:马云的SNS之梦.docx
因此,开发一款专注于用户体验、无广告干扰、界面新颖的基于Android的新浪微博客户端显得尤为必要。 四、微博的特点 1. 低准入门槛:微博以简洁的文字形式允许用户快速发布信息,无需复杂的写作技巧。 2. 即时通讯...
本文档主要介绍了在2012年7月期间,针对Android客户端如何与开心网、腾讯微博、新浪微博、人人网等SNS网站进行集成的一些关键点和注意事项。 #### 二、接入前的准备 1. **获取APPID/API Key/Secret Key**:在接入...
在Android应用开发中,集成新浪微博分享功能是一项常见的需求,它可以让用户方便地将应用内的内容发布到自己的新浪微博账号上,从而提升用户体验并增加用户互动。本文将深入探讨如何实现这一功能,包括所需的库、API...
这份调研报告针对的是基于 Android 的 SNS(Social Networking Service)社交网络客户应用的需求分析,旨在开发一款满足用户需求的、无广告干扰的新浪微博客户端。 一、同类产品分析 1. 微信: 微信是一款集多功能...
路过插件.开源sns必备插件。
现有的Android微博客户端虽功能完备,但广告繁多和界面设计保守导致用户满意度不高,因此开发一款优化用户体验、无广告的微博客户端显得尤为必要。 微博作为一种微型博客,具有准入门槛低、即时通讯和强互动性的...
iPhone和Android智能手机客户端软件技术方案主要针对的是集成了Web2.0技术,并融合了BBS、SNS、博客、微博等多种网络应用的大学生互动网站。方案从整体上讲解了客户端开发的方式、系统支持的运行版本,以及技术方案...
综上所述,为了满足Android用户对于SNS社交应用的需求,开发者需要关注用户体验、功能实用性以及与现有社交网络的融合,打造出一个功能齐全、用户界面友好、交互性强的微博客户端。通过这样的应用,用户不仅可以方便...
本报告主要针对基于 Android 的 SNS(Social Networking Service)社交网络客户应用进行需求调研,旨在开发一款满足用户需求的、无广告干扰的、具有创新界面设计的新浪微博客户端。 一、同类产品分析 1. 微信: ...
电子商务案例分析:SNS平台案例.ppt
《人人都玩开心网:Ext+JS+Android+SSH整合开发Web与移动SNS》这本书主要聚焦于构建社交网络服务(SNS)平台,通过结合多种技术实现Web端和移动端的应用开发。以下是书中涉及的主要知识点: 1. **EXT.JS**: EXT....
- **微博简介**:微博是一种短格式的在线社交服务,允许用户快速发布和分享信息,每条不超过140字。它具有低准入门槛、即时通讯和高度互动性等特点。在没有网络的情况下,通过手机也能更新内容,使得微博成为实时...
《Android社交网络客户端开发详解》 在当今数字化时代,社交网络已经成为了人们日常生活的一部分,而Android作为全球最大的智能手机操作系统,其上的社交网络客户端更是扮演着举足轻重的角色。本项目"sns_SNS_...
在Android平台上,开发一款社交网络应用(SNS)如豆瓣网的移动客户端,涉及到许多关键技术和概念。这个项目"Android---Douban-SNS.zip"很可能是为了教学或实践目的,提供了一个完整的讲解和源代码资源,让我们来深入...
微信、QQ空间、微博等本土化社交平台已经成为日常生活的一部分,为用户提供信息分享、娱乐和商业活动的平台。 其次,报告可能探讨了中国SNS的特点和成功因素。例如,中国SNS往往集成了多元化的功能,如即时通讯、...