分享到新浪微博,折腾了大半个月,现在终于弄出来了,心里的那个爽呀,太痛快了,哈哈!!

废话少说,首先是认证,

1.进入新浪微博提供的开放平台注册新浪账号。

2.点击’我是开发者‘,创建一个应用,得到CONSUMER_KEY和CONSUMER_SECRET,保存这两个值。

3.找到相关的API接口文档,下载android版的SDK weibo4android-1.2.0.zip 。

4.解压后倒入到eclipse中。

------下面是关键步骤

5.在自己的项目中创建一个lib文件夹,分别添加weiboandroid项目中的这三个包commons-codec.jar,commons-httpclient-3.1.jar,commons-logging-1.1.jar 。

注意:这里千万不要添加weibo4android-1.2.0.jar这个包。

然后再将这三个包引用到到项目中。 //这里这样做的好处是当你项目完成后拷贝的别处的时候,不会造成.jar包的丢失……

6.分别添加这四个包的自己的项目 中,weibo4android,weibo4android.http,weibo4android.org.json,weibo4android.util。 //此时如果引入weibo4android-1.2.0.jar这个包是会报错,提示什么版本问题,查询提供的都是从1.6版本复制项目到2.2版本的 方案。 本人觉得这个包跟现在倒入的四个包造成命名空间的冲突造成的。

7.参考examples-weibo4android.androidexamples下的三个文件。OAuthConstant.java直接 拷贝到项目中,AndroidExample.java认证所需要的相关配置,OAuthActivity.java认证成功后得到 AccessToken的key和Secret,可以复制其代码。 //详细代码设置后面会给出,不要着急………………

8.AndroidExample和OAuthActivity代码所对应的java文件都需要在AndroidManifest.xml中注册。 注册方式不说,基础入门必修课。

注意对OAuthActivity对应文件参数的设置:

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="cn.edu.cou.mobile" android:host="ShareSinaSendActivity" /> //这里scheme host 在AndroidExample对应文件跳转时会用到
</intent-filter>

9.最重要的一点,在复制到项目中的weibo4android包下找到Weibo.java文件,修改CONSUMER_KEY和CONSUMER_SECRET的值,与第二点是提到的值对应。

10.代码部分:

AndroidExample对应文件中必须有:

System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); 然后: Weibo weibo = OAuthConstant.getInstance().getWeibo();
RequestToken requestToken;
try {
requestToken =weibo.getOAuthRequestToken("weibo4android://OAuthActivity"); // 分别取第八点提到的scheme host ---host必须为在新浪成功后所需要调回的页面名称
Uri uri = Uri.parse(requestToken.getAuthenticationURL()+ "&from=xweibo"); // 即OAuthActivity的对应文件。 scheme建议为项目名称或是项目总的命名空间
OAuthConstant.getInstance().setRequestToken(requestToken);
startActivity(new Intent(Intent.ACTION_VIEW, uri));
} catch (WeiboException e) {
e.printStackTrace(); }

OAuthActivity对应文件:

Uri uri=this.getIntent().getData();
try {
RequestToken requestToken = OAuthConstant.getInstance()
.getRequestToken();
accessToken = requestToken.getAccessToken(uri
.getQueryParameter("oauth_verifier"));
OAuthConstant.getInstance().setAccessToken(accessToken);
textView.setText("得到AccessToken的key和Secret,可以使用这两个参数进行授权登录了.\n Access token:\n"
+ accessToken.getToken()
+ "\n Access token secret:\n"
+ accessToken.getTokenSecret());
} catch (WeiboException e) {
e.printStackTrace();
} /////----------------以下为我在OAuthActivity对应文件中Button的OnClick事件中处理发表一条新微博的功能。 Weibo weibo = new Weibo();
Status status = null;
try {
weibo.setToken(accessToken.getToken(),accessToken.getTokenSecret());
status = weibo.updateStatus("测试android上发新浪微博消息!!!!"); //关键是这里,能否成功调用updateStatus发表微博,有兴趣的可以仔细研究一下。
} catch (WeiboException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(status.getId() + " : " + status.getText() + " "
+ status.getCreatedAt()); //如果程序能执行到这里,证明已经发表成功,下面是执行成功后跳转到另外一个页面。 Intent intent = new Intent();
intent.setClass(ShareSinaSendActivity.this, ShareListActivity.class);
ShareSinaSendActivity.this.startActivity(intent);

到这里,功能基本上就完了,如果想要其他的功能,只需要根据SDK上提供的那个Demo进行对应的操作即可。

总结:分享到新浪微博,调用新浪的API,除了登陆界面是新浪提供外,其余貌似都需要些xml布局文件。 本人乃初学,以上为记录这次成功后的分享,希望也能帮到很多需要做新浪微博分享功能的人。 对于android的知识点,每个人提供多提供一点心得,既是对自己的一种提升,同时又能帮到更多的人,真的很好!!!!

android 分享到新浪微博的更多相关文章

  1. android分享到新浪微博,认证+发送微博,

    分享到新浪微博,折腾了大半个月,现在终于弄出来了,心里的那个爽呀,太痛快了,哈哈!! 废话少说,首先是认证, 1.进入新浪微博提供的开放平台http://open.weibo.com/ 注册新浪账号. ...

  2. [deviceone开发]-QQ分享、微信分享和新浪微博分享

    一.简介 该demo主要实现QQ分享.微信分享和新浪微博分享.(调试包请到论坛扫描对应二维码下载) 二.效果图 三.相关讨论 http://bbs.deviceone.net/forum.php?mo ...

  3. 使用 Android Studio 跑新浪微博SDK Demo遇到的问题及解决

    概述 这是新浪微博官方 Android SDK Demo 使用 Android Studio 导入.编译并运行通过的版本. 源码:WeiboSdkDemo 官方项目请点击: weibo_android ...

  4. android App使用新浪微博sdk的使用总结

    问题1:注册app的key 问题2:在微博开放平台,我的应用中心中,设置应用的基本信息的时候其中有一项,是设置你的应用的签名,签名是需要在安卓设备上安装一个生成签名的app(这个app界面很丑,这点我 ...

  5. js页面文字选中后分享到新浪微博实现

    demo您可以狠狠地点击这里:js文字选中分享到新浪微博demo 方法与代码 选中即分享的功能看上去比较高级,其实实现是相当简单的.其中的会让人头大,一般人也不感兴趣的原理这里就直接跳过.这个js文字 ...

  6. Android第三方授权(新浪微博篇)

    Android第三方认证新浪微博,相对微信,也比较简单,并且sina给了一个sdk和sdkdemo,这个demo封装了许多,但是自己不准备记录这个demo,而是直接使用sdk 同样去sina官方下载s ...

  7. 一键分享到新浪微博、腾讯微博、搜狐微博、人人网、开心网、百度收藏等js代码大全

    下面给大家一些分享的js代码,只要把代码插入自己的网页中稍微修改一下图片路径就可以用了,好了,废话少说,上代码:  document.writeln("<b>喜欢本文,那就分享到 ...

  8. Android - 分享内容 - 接收其他APP的内容

    就象程序可以发送数据给其他程序,所以也可以接收其他程序的数据.想一下用户如何和程序交互,以及想从其他程序接收什么样类型的数据.例如,一个社交程序可能对接收其他程序的文字(比如有趣的网址)感兴趣.Goo ...

  9. Android - 分享内容 - 给其他APP发送内容

    创建一个intent时,必须要指定intent将要触发的操作.Android定义了很多操作,包括ACTION_SEND,就象可以猜到的一样,表示intent是把数据从一个activity发送给另一个, ...

随机推荐

  1. bootstrap 导航布局

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  2. qt model/view 架构基础介绍之QTreeWidget

    # -*- coding: utf-8 -*- # python:2.x #说明:QTreeWidget用于展示树型结构,也就是层次结构同前面说的 QListWidget 类似,这个类需要同另外一个辅 ...

  3. 1. Git 克隆代码

    1. Git 克隆代码 git clone git://github.com/facebook/hiphop-php.git 2. Git更新分支 查看服务器上的所有分支 [huzg@slave3 h ...

  4. 为github帐号添加SSH keys

    为github帐号添加SSH keys 2012-05-26 00:05 34279人阅读 评论(6) 收藏 举报 ssh文本编辑gitvim工具up 使用git clone命令从github上同步g ...

  5. 使用DataReader读取数据

    List<User> allUsers = new List<User>(); SqlConnection conn = new SqlConnection(连接字符串); S ...

  6. js静态方法

    1.ajax() 方法是属于“函数”本身的,和返回的对象没有关系 2.bark药调用,必须药new Hashiqi()得到对象,且由返回对象才能调用 3.ajax()方法药调用,不需要new对象,直接 ...

  7. OC中限制UITextView的最大字数的实现

    一.属性 //自定义的textview @property (weak, nonatomic) IBOutlet UITextView *textview; //添加一个bool类型的属性 @prop ...

  8. AFNetWorking 关于manager.requestSerializer.timeoutInterval 不起作用的问题

    之前一直遇到关于AFNetWorking请求时间设置了但是不起作用的情况,现用如下方式设置AF的超市时间即可. [manager.requestSerializer willChangeValueFo ...

  9. C#索引器:在集合或数组中取出某一个元素 举例 _【转】

    Garmmar: [访问修饰符] 数据类型 this[参数列表] { get { 获取索引器的内容 } set { 设置索引器的内容 } } Eg: <span style="font ...

  10. [ofbiz]service中OUT的定义

    在service中返回的任何一个结果,比如map1,map2,然后这两个map又封装在另一个map中,则service的定义中,要将map1和map2定义为OUT类型 LOFTER:我们的故事   h ...