第一步 :获取ShareSDK

为了集成ShareSDK,您首先需要到ShareSDK官方网站注册并且创建应用,获得ShareSDK的Appkey,然后到SDK的下载页面下载SDK的压缩包,解压以后可以得到如下图的目录结构:

ShareSDK在“ShareSDK for Android”目录下,此目录中的“Libs”包含“MainLibs”和“OnekeyShare” 分别是ShareSDK的核心库和“快捷分享”的源码库,说明文档也在“ShareSDK for Android”目录下,集成ShareSDK前请务必仔细阅读。 “ShareSDK for Android ApiDoc”包含Mainlibs和OnekeyShare的JavaDoc,供开发者开发时查阅。 “ShareSDK for Android Sample”包含ShareSDK的功能演示代码和apk文件,Sample源码的JavaDoc在中。 “ShareSDK for Android Services”包含ShareSDK已经发布的“插件服务”,暂时我们只提供了“评论与赞”服务,压缩包中已经提供了此插件服务的依赖库、示例代码、JavaDoc和apk文件。

第二步:导入ShareSDK

ShareSDK集成方式:

1、直接复制jar包到目标项目libs目录

直接复制jar和资源的方式,可以参考ShareSDK的Sample项目。 使用复制jar的方法,需要除了复制MainLibs/libs中的jar外,还需要复制MainLibs/res中图片和strings,否则会出现授权时找不到资源的问题。 而且如果您的项目也集成了快捷分享,还需要复制OneKeyShare/src中的源码、OneKeyShare/res中的资源,如果你的项目里没有android-support-v4的jar需要把OneKeyShare/libs下的android-support-v4的jar到您的项目中。

2、快速生成项目

由于直接复制jar包和资源的集成方式比较麻烦,ShareSDK提供了快速集成的程序,在Windows下可以直接双击执行,完成以后可以通过复制目标目录中的文件到您项目中覆盖就行了。 极大简化了“直接复制jar和资源”这种集成方式的操作步骤。 对于你的项目是刚开发或者想写一个Demo测试ShareSDK功能,可以使用这种方法快速集成

第三步:添加应用信息

有三种方式

第一种:在ShareSDK的应用管理后台中配置,使用此方法需要调用ShareSDK.initSDK(context,你的应用在sharesdk注册时返回的AppKey)方法进行初始化,如果以后更改了注册信息可以直接从网上更改,而不用重新发布新版本进行更新。(优先级最高)。

第二种:通过代码配置“setPlatformDevInfo(String, HashMap)”方法,使用此方法需要调用ShareSDK.init(context,你的应用在sharesdk注册时返回的AppKey)方法进行初始化。(优先级中)。

第三种:通过“assets/ShareSDK.xml”文件来配置,次方式会以明文存在,但这种方式最为简单。(优先级最低)。

这三种方式开发者可以自行选择,不过这三种设置方式各有区别:第一种方式可以实现“动态配置应用信息”的功能,但是一旦脱离网络,ShareSDK可能无法运作;第三种方式是优先级最低的方式,但是它最为方便、集中;最后使用代码设置的方式是最灵活的方式,第二种方式开发者可以在代码里面写死应用信息,也可以通过私有协议,从自己的服务器上动态获取应用注册信息,其优先级居第一种和第二种之间。 使用ShareSDK.xml配置注册信息

SortId="此平台在您分享列表中的位置,整型,数值越大越靠后"

AppKey="填写您在新浪微博上注册到的AppKey"

AppSecret="填写您在新浪微博上注册到的AppSecret"

Id="自定义字段,整型,用于您项目中对此平台的识别符"

RedirectUrl="填写您在新浪微博上注册的RedirectUrl"

ShareByAppClient="是否使用客户端进行分享"

Enable="布尔值,标记此平台是否有效" />

ShareSDK.xml以XML格式存储数据,每一个平台一个块,除了社交平台外,开发者在ShareSDK注册应用时得到的Appkey需要填写在块“ShareSDK”中,如果此Appkey不是开发者自己的Appkey,则将来在ShareSDK应用后台的统计数据将不正确。ShareSDK的每一个平台都具备SortId、Id、Enable四个字段,除此之外的字段(如新浪微博的AppKey、AppSecret、RedirectUrl、ShareByAppClient等字段)需要到目标平台上注册应用以后得到,请正确填写这些字段的数据,否则ShareSDK无法完成授权,则后续的其它操作也将无法执行。

代码配置注册信息示例(演示初始化新浪微博配置信息) 因为各个分享平台可以设置的配置信息不同,具体分享平台需要设置哪些配置信息请参考sample里的ShareSDK.xml配置文件

ShareSDK.initSDK(Context,"你的应用在Sharesdk注册时返回的AppKey");

HashMap hashMap = new HashMap();

hashMap.put("Id","1");

hashMap.put("SortId","1");

hashMap.put("AppKey","568898243");

hashMap.put("AppSecret","38a4f8204cc784f81f9f0daaf31e02e3");

hashMap.put("RedirectUrl","http://www.sharesdk.cn");

hashMap.put("ShareByAppClient","true");

hashMap.put("Enable","true");

ShareSDK.setPlatformDevInfo(SinaWeibo.NAME,hashMap);

方法需要在Sharesdk.initSDK()方法后调用,如果调用了ShareSDK.stopSDK()需要在ShareSDK.initSDK后重新调用ShareSDK.setPlatformDevInfo()方法。 关于应用信息不同字段的更详细解释,可以参考ShareSDK.xml文件头部的说明。

第四步:配置AndroidManifest.xml

不同的集成度需要在AndroidManifest.xml中添加的内容不一样。但是首先您需要添加下面的权限列表:

这些权限将允许您的项目和ShareSDK判断当前应用是否“前置”、获取连接网络的权限、获取您的设备网络状态的权限、实现https安全连接的权限、读取手机设备状态的权限和保存必要配置的权限。一般来说,即便不集成ShareSDK,大部分的项目也都会注册申请这些权限。

其次,为了授权操作可以顺利完成,需要在application下注册下面的Activity:

android:name="com.mob.tools.MobUIShell"

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges="keyboardHidden|orientation|screenSize"

android:screenOrientation="portrait"

android:windowSoftInputMode="stateHidden|adjustResize" />

如果您的项目集微信或者微信朋友圈,请查看AndroidManifest.xml配置文件里的package路径,需要在package目录下创建wxapi目录再放置WXEntryActivity。 没有此activity在微信分享后回调会检查是否有此activity,没有将会报错。

android:name=".wxapi.WXEntryActivity"

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges="keyboardHidden|orientation|screenSize"

android:exported="true"

android:screenOrientation="portrait" />

而如果您的项目集易信的两个平台,请查看AndroidManifest.xml配置文件里的package路径需要在package目录下创建yxapi目录在放置回调Activity:

android:name=".yxapi.YXEntryActivity"

android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:configChanges="keyboardHidden|orientation|screenSize"

android:exported="true"

android:screenOrientation="portrait" />

客户端的操作回调,因此ShareSDK也无法给予您操作回调。为了避免出错,请使用相对路径的方式,直接复制上面的代码到您的AndroidManifest.xml中即可。

第五步:添加代码

打开您项目的入口Activity,在其onCreate中插入下面的代码: 如果使用ShareSDK.xml方式配置调用

ShareSDK.initSDK(this);

如果使用代码配置应用注册信息或者应用后台配置应用注册信息,调用

ShareSDK.initSDK(this,”androidv1101″);

androidv1101:是你的应用在ShareSDK注册应用信息时返回的AppKey。 代码会初始化ShareSDK,此后对ShareSDK的操作都以此为基础。如果不在所有ShareSDK的操作之前调用这行代码,会抛出空指针异常。

效果图:

android sharesdk分享功能,Android ShareSDK快速实现分享功能相关推荐

  1. iOS开发:如何使用ShareSDK让APP快速拥有分享功能

    ShareSDK集成指南 1.在ShareSDK(http://www.shareSDK.cn)的官方上下载SDK并导入工程 将ShareSDK文件夹到项目文件夹中夹并拖入项目中. 2. 添加依赖框架 ...

  2. Android-Studio 用ShareSDK集成社会化分享,短信验证码,视频录制功能

    ShareSDK主要用于qq.qq空间.微信.微信朋友圈的分享功能以及第三方登录功能 SMSSDK主要用于短信验证码 集成工作:将sharesdk与smssdk同时集成到android-studio项 ...

  3. ShareSDK让你的APP实现社会化分享功能

    2019独角兽企业重金招聘Python工程师标准>>> 如今的app中,几乎都包含了分享这个功能,十分的常用 常见实现方式: 1. 系统自带分享 2. 使用社会化分享组件(如shar ...

  4. Android实现实时视频聊天功能|源码 Demo 分享

    疫情期间,很多线下活动转为线上举行,实时音视频的需求剧增,在视频会议,在线教育,电商购物等众多场景成了"生活新常态". 本文将教你如何通过即构ZEGO 音视频 SDK 在Andro ...

  5. Android快速第三方分享

    第一步:在module的build.gradle添加apply from: '../MobSDK.gradle' 第二步:在根目录的build.gradle添加classpath 'com.mob.s ...

  6. Android开发之手机拍照功能的实现(源代码分享)

    Android系统里调用手机拍照的功能有两种方法一种直接调用手机自带的相机另一种就是使用自己做的拍照应用.比如Camera360 一款于各操作系统都有的的功能强大的手机摄影软件:能拍摄出不同风格,不同 ...

  7. android中设置lmargin简书,超详细React Native实现微信好友/朋友圈分享功能-Android/iOS双平台通用...

    (一)前言 本文主要会涉及到以下内容: 微信开发者应用申请审核 安装配置微信分享库 微信好友/朋友圈功能实现 (二)应用申请审核 首先大家需要去微信开发平台去注册账号并且创建一个移动应用.(地址:ht ...

  8. 快速实现抖音的分享登录(android)

    快速实现抖音分享与第三方登录 准备工作 1.注册抖音的key到抖音开放平台,点击这里查看步骤: 2.集成ShareSDK到Mob官网文档页面查看即可,点击这里查看集成: 业务代码 分享要求: 视频: ...

  9. android控制手机拍照代码,Android开发之手机拍照功能的实现(源代码分享)

    Android系统里调用手机拍照的功能有两种方法一种直接调用手机自带的相机另一种就是使用自己做的拍照应用.比如Camera360 一款于各操作系统都有的的功能强大的手机摄影软件:能拍摄出不同风格,不同 ...

最新文章

  1. 【计算理论】确定性有穷自动机 ( 自动机组成 | 自动机语言 | 自动机等价 )
  2. SharePoint 2013 Disaster Recovery——迁移内容数据库
  3. Python才排第8名!2018增速最快TOP 10编程语言盘点
  4. 临时手机验证码_实用网站(一)短信验证码 临时网盘 临时邮箱
  5. php本地的调试安装,教你本地安装、运行、调试PHP程序
  6. DEBUGGING AND OPTIMIZING MEMORY
  7. python实现的简版iconv
  8. linux如何获取raw中的文件路径,如何使用Linux获得Touchscreen Rawdata的坐标
  9. 瑞友企业私有云显示连接负载服务器错误,荣誉资质 | 瑞友天翼-应用虚拟化|远程接入|桌面虚拟化|国内虚拟化整体解决方案领导者...
  10. 适合人工智能的编程语言有哪些
  11. 百度文库下载助手使用说明
  12. Android影音播放器需求分析,321影音全能影音播放器源码
  13. Mac版网易云音乐打不开
  14. HYSBZ 4198 荷马史诗
  15. [SSL_CHX][2022-02-23]进制转换
  16. Python Turtle 海龟绘图详解官方文档中文版
  17. 晚上改吃水果+牛奶(防止营养不够)
  18. 苹果自研Apple M1芯片对机器学习意味着什么?
  19. JPA设置in参数时报错(Encountered array-valued parameter binding, but was expecting [java.lang.String (n/a)])
  20. 如何将录音转成文字?

热门文章

  1. c语言实战1200例 pdf6,C语言程序设计6.6.2.pdf
  2. matlab hist函数_算法工匠MATLAB专训营:Matlab绘图,小试牛刀
  3. 计算机毕业论文多久,计算机毕业论文
  4. uvalive4840(n*n方阵的最小花费)
  5. Codeforces 671E Organizing a Race (贪心、线段树)
  6. 曲线运动与万有引力公式_高考物理曲线运动万有引力专题讲解
  7. mysql8.0.22 win7_ArcGIS10.8地理信息软件中英文版安装教程
  8. 2021-07-01 和的平方与平方的和
  9. Linux系统(四)LVS集群负载均衡NAT模式
  10. css层叠上下文和层叠顺序