为Android应用程序添加社会化分享功能

 
   
missong    
missong 当前离线
阅读权限
20
注册时间
2011-11-21
最后登录
2011-12-19
积分
153
精华
0
帖子
139
主题
139
UID
13
查看详细资料 窥视卡 雷达卡
为Android应用程序添加社会化分享功能_第1张图片

139

主题

0

好友

153

积分

注册会员

Rank: 2

注册会员, 积分 153, 距离下一级还需 47 积分
  • 发消息
电梯直达 跳转到指定楼层
楼主
发表于 2011-12-9 12:08 | 只看该作者 | 倒序浏览
分享到: 0
 
正在做个android的小应用,有点想尝试一下社会化分享,比如分享到新浪微博啥的。看一下新浪,人人网的API,说实话功能很全很强大,但虽说有相对的SDK,但是总觉得不方便。
因为正在使用友盟的统计SDK,无意间发还有个SNS的SDK,看了一下文档,感觉不错哈。
总共需要3个包,Umeng-Android-SDK-SnsService.jar,httpmime-4.1.1.jar和commons-httpclient-3.1.jar。大小分别为63K,27K,298K。感觉有点点大,但是比较一下新浪,人人,腾讯微薄提供的API,其实大小没差好多,等下我们还可以压缩一下的嘛。
新建一个文件夹libs,将3个包导入其中,只有3个哈,其他两个是我这个程序其他功能要使用的。
为Android应用程序添加社会化分享功能_第2张图片
2011-12-9 12:08 上传
下载附件 (28.55 KB)
 
在开发工具--SNS分享中 设置相关的Api key和Api Secret,没有就去申请一个。
为Android应用程序添加社会化分享功能_第3张图片
2011-12-9 12:08 上传
下载附件 (54.51 KB)
 
然后在Android的配置文件中添加两个Activity。
  1. <activity android:name="com.umeng.api.activity.OauthActivity"
  2. android:configchanges="orientation|keyboardHidden">


  3. <activity android:name="com.umeng.api.activity.UpdateStatusActivity" android:theme="@style/Theme.IOSched"
  4.     android:configchanges="orientation|keyboardHidden">
  5.      
  6.          
  7.          
  8.          
  9.          
  10.      
复制代码
官方文档的位置还要多一点点...但是我觉得那些看实际情况了。
那个scheme那里主要是为了区分,应用KEY就是你在友盟注册的KEY,因为我有用它的统计SDK,所以有KEY,没有的话去申请一个。
然后添加3个权限,访问网络的权限肯定是必须的,还有判断网络情况,友盟还要求一个读取终端IMEI的权限,一共三个。


复制代码
然后是资源文件,下载的SDK有,全部复制到项目里面。
目前友盟的SDK支持3家:新浪微博,腾讯微博,人人网。如果你只想用其中的两家或者一家可以在umeng_share_strings.xml
中修改
  1. open
  2. open
  3. close
复制代码
不用的写成Close就可以了。不过我觉得没有很大的问题还是3家都要吧,如果只是用1个布局文件有点小瑕疵..看着不顺眼。
调用的时候也很简单
[backcolor=rgb(255, 255, 255) !important]
[backcolor=initial !important]?
[backcolor=initial !important]

[backcolor=initial !important]
[backcolor=initial !important][backcolor=rgb(248, 248, 248) !important][backcolor=initial !important] UMSnsService.share([backcolor=initial !important] this[backcolor=initial !important] , “这是内容”);
[backcolor=initial !important][backcolor=rgb(248, 248, 248) !important][backcolor=initial !important][backcolor=initial !important][backcolor=initial !important]







如果使用模板的话就传一个Hashmap就去就可以了,具体可以看文档。
我觉得友盟做的最好的就是提供其他的API,可以更灵活的使用相关功能了。
比如
1.获取用户授权
  1. UMSnsService.CallbackListener listener = new UMSnsService.CallbackListener()
  2. @Override
  3. public void onComplete(Bundle value) {
  4. String uid = value.getString("uid"); //这是授权完成的uid,使用其他授权服务的凭证
  5. }
  6. @Override
  7. public void onError(UMSNSException e) {
  8. }
  9. };
  10. UMSnsService.oauthSina(this, listener);
复制代码
2.直接分享到特定的SNS提供商
UMSnsService.update(this, UMSnsService.SHARE_TO.SINA, “这是内容”);
3.检查用户是否已经授权
UMSnsService.isAuthorized(this, UMSnsService.SHARE_TO.SINA);
更多的内容还是参考文档。
还有一个统计数据可以查看:
为Android应用程序添加社会化分享功能_第4张图片
2011-12-9 12:08 上传
下载附件 (35 KB)

你可能感兴趣的:(为Android应用程序添加社会化分享功能)