本文为菜鸟窝作者刘婷的连载。
菜鸟窝-程序员的黄埔军校
紧接着上篇文章《商城项目实战 | 19.1 Html5 实现商品详情》中实现了商品详情页面,而在本文中要使用第三方插件 ShareSDK 来实现商品的分享。
ShareSDK 是什么
在使用一款插件或者组件的之前,都需要了解和认识它究竟是啥。
1. ShareSDK 的定义
ShareSDK 简单来说,就是 Mob 公司提供的第三方社会化分享插件,目前 ShareSDK 遍布各种类型的 App,以集成简单、功能强大、稳定等优势深得广大移动开发者们的喜爱,目前越来越多的应用、游戏等都在使用 ShareSDK,通过 ShareSDK 可以及时的了解用户、信息流、回流率、传播效应等数据,有效的指导日常经营与推广,帮助 App 引入更多的社会化流量。
2. ShareSDK 的优势
(1)SDK 体积小,开放平台独立库包模式,开发者可根据需求添加或删除,极大的减少 App 的体积。
(2)支持目前几乎所有的全球主流的社交平台,比如微信、腾讯、Google+、Facebook等。
(3)深度支持游戏,好友关系运用——分享好友、求助、发起挑战等。
(4)免费性插件。
(5)开源的插件,可以自定义 UI。
(6)一键分享,操作简单。
(7)数据全面,可以统计分析社会化分享的用户行为。
这算是给 ShareSDK 打了个广告啊,哈哈~
实现商品分享
实现商品的分享功能,这次是要借助于第三方分享 SDK 工具,也就是上文介绍的 ShareSDK,那我们首先要到 Mob 官网注册一个账号,并且下载所需的 SDK,如下图。
这里可以根据实际需求进行选择需要分享到哪些平台下,下载完成后,解压压缩包,得到所需的文件。
1. 新建 module
新建 module 命名为 ShareSDK,用来放置一键分享的功能文件和资源文件。
新建好 module,设置好包名。
2. 解压 QuickIntegrater.jar
QuickIntegrater.jar 相当于一个压缩包,里面包含了一键分享的功能文件和资源文件,但是又与压缩包不同的是,它是 jar 文件,双击后效果如下。
自己可以填写自己的项目名称和包名。
这些解压后得到的文件,我们直接放到之前新建的 module 中就好。
3. 依赖于 ShareSDK
在 build。gradle 文件中添加对 ShareSDK 的依赖。
compile project(':sharesdk')
这里是自己新建了一个专门的 module,所以直接依赖于 ShareSDK 的 module library 就可以了。
4. 添加权限
ShareSDK 本身要实现一键分享的功能,需要一些权限,如下。
这些权限都需要添加好,另外在 Android 6.0 之后对于权限的授予要求变得更为的严格,在使用分享时需要请求权限授权。
5. 添加 activity 信息
要在 AndroidManifest 文件中添加 MobUIShell 的声明。
另外这里使用到了微信的分享,所以要添加微信分享的回调 Activity。
如果您集成了易信,支付宝,还需要添加易信、支付宝所对应的回调activity处理。
7. 添加分享代码
首先在 Activity 中初始化 ShareSDK。
ShareSDK.initSDK(this);
下面直接调用分享。
OnekeyShare oks = new OnekeyShare();
//关闭sso授权
oks.disableSSOWhenAuthorize();
// 分享时Notification的图标和文字 2.5.9以后的版本不调用此方法
//oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
oks.setTitle(getString(R.string.share));
// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
oks.setTitleUrl("http://www.cniao5.com");
// text是分享文本,所有平台都需要这个字段
oks.setText(waresInfo.getName());
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
// oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
oks.setImageUrl(waresInfo.getImgUrl());
// url仅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://www.cniao5.com");
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
oks.setComment(waresInfo.getName());
// site是分享此内容的网站名称,仅在QQ空间使用
oks.setSite(getString(R.string.app_name));
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
oks.setSiteUrl("http://www.cniao5.com");
// 启动分享GUI
oks.show(this);
到这里,所有的配置都完成了。
效果图
运行代码,获取效果图。
更多的了解可以参考 Mob 官网 。
免费学习RxJava2,Dagger2,Retrofit2 ,OkHttp3 等热门课程
关注公众号免费领取"140套优秀开源项目源码"
菜鸟窝-程序猿的黄埔军校。 如需转载,请注明出处(菜鸟窝 , 原文链接: http://www.cniao5.com/forum/thread/114e622439fc11e7b4ce00163e0230fa )