Android 分享三种实现
当我想做一个智能的记事本的时候,我就在尝试自己写一组分享功能。后来才知道,原来每个社交软件中都有自己的分享接口。
这就大大减少了我们的代码量了。
第一种方法:特点--简单
package com.example.share; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /* 创建菜单 */ public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 0, 0, "分享"); return true; } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case 0: // intent.setType("text/plain"); //纯文本 /* * 图片分享 it.setType("image/png"); //添加图片 File f = new * File(Environment.getExternalStorageDirectory()+"/name.png"); * * Uri uri = Uri.fromFile(f); intent.putExtra(Intent.EXTRA_STREAM, * uri); */ Intent intent=new Intent(Intent.ACTION_SEND); intent.setType("image/*"); intent.putExtra(Intent.EXTRA_SUBJECT, "Share"); intent.putExtra(Intent.EXTRA_TEXT, "I have successfully share my message through my app"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(intent, getTitle())); return true; } return false; } }
private void TencentShare() { Intent share = new Intent(Intent.ACTION_SEND); //分享到qq //ComponentName component = new ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity"); //share.setComponent(component); //Utils utils = new Utils(); //我分享的是文件,参数:文件地址、文件名 File file = new File(FileDirPath, fileName); share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); share.setType("*/*"); context.startActivity(Intent.createChooser(share, "发送")); }
上面第二个分享的是文件,本来业务是想分享到QQ,但后来改了,方法名就还没改动大家将就着看吧。
效果图:
这种方式仅仅是调用了系统中自带的分享功能。如果希望分享功能更加的抢到,涉及到的范围更加的广的话,那不得不说一说ShareSDK包了
shareSDK
ShareSDK是一种社会化分享组件,为iOS、Android、WP8 的APP提供社会化功能,集成了一些常用的类库和接口,缩短开发者的开发时间,还有社会化统计分析管理后台。ShareSDK移动开发者服务平台由广州掌淘网络科技有限公司开发。
支持包括QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博、facebook、twitter、google+等国内外40多家的主流社交平台,帮助开发者轻松实现社会化分享、登录、关注、获得用户资料、获取好友列表等主流的社会化功能,强大的统计分析管理后台,可以实时了解用户、信息流、回流率、传播效率等数据,有效地指导移动APP的日常运营与推广,同时为APP引入更多的社会化流量。
强大功能编辑
-
集成快捷,操作简单40多家主流社交网络,无论开发还是维护,都需要巨大的工作量才能完成,使用分享组件只需要3分钟即可集成完成,即可拥有丰富的功能和人性化的操作。
-
评论和赞功能可以直接通过第三方登录,发表评论和赞
-
插件稳定,安装包小每个开放平台的库包是独立的,开发者可根据需求添加,极大的减小APP体积,分享内容更稳定。
-
适配专用游戏引擎
-
社会化统计分析标准、专业的统计分析后台,实时了解SNS、用户、信息流、转化率、传播效应等基本数据,新增自定义短链、“评论和赞”板块,有效指导日常运营与推广。并于2014年3月,发布了“2013年全年社会化媒体分享行业报告”。
2支持cocos2d游戏引擎
3支持Unity3d游戏引擎
4发展历程
2013年1月16日 ShareSDK for iOS正式发布。
2013年3月18日 ShareSDK for Android版正式发布。
2013年12月19日ShareSDK for cocos2d-x 2.2.0专用组件正式发布
2013年12月27日新增评论和赞模块
2014年2月20日ShareSDK for Unity3d正式发布
2014年3月10日ShareSDK for ANE正式发布
2014年3月22日ShareSDK for Jave Script正式发布
摘自:http://baike.baidu.com/view/9915538.htm?fr=aladdin
关于游戏中使用的ShareSDK分享:http://www.unitymanual.com/thread-12434-1-1.html
第二种方法:特点--全面
在SHARESDK官网中下载 shareSDK for android 功能开发包
http://share.sharesdk.cn/Download
1.到官网上下载最新版本的ShareSDK并解压
2.进入ShareSDK解压目录,打开“Share SDK for Android”目录,可以找到“QuickIntegrater.jar”,这个就是快速集成ShareSDK的工具
像我这样解压出来自动就是压缩包的形式,不能直接打开。所以要通过命令行打开。
3.生成一个Sample的文件夹,将文件夹中的内容复制到项目中去。就ok了。
4.复制到项目中是一定要保证编码的问题。最好是用UTF-8的编码,这样就不会报错了。
效果图:
第三种:自行集成第三方平台分享(腾讯,Google等)
这种就需要自行去查看平台API了
总结:自己去接第三方平台接起来也比较简单,用户的操作链会少一步,但坑,自然也多,没有什么特殊要求的话建议用第一种方式(系统自带Shard分享)
大部分内容栽至:http://www.cnblogs.com/qiuge227/p/3884686.html