热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

AndroidShareSDK快速实现分享功能

这篇文章主要介绍了AndroidShareSDK快速实现分享功能的相关资料,需要的朋友可以参考下

第一步 :获取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配置注册信息


 

  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:

 

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

 

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

 

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

第五步:添加代码

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

ShareSDK.initSDK(this);

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

ShareSDK.initSDK(this,”androidv1101″);

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

  效果图:


推荐阅读
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 如何在WPS Office for Mac中调整Word文档的文字排列方向
    本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
author-avatar
mobiledu2502915303
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有