文档章节

利用插件化技术调用ShareSDK减小应用体积

梁大帅
 梁大帅
发布于 2015/03/30 17:12
字数 856
阅读 409
收藏 30

 

一 引言:

    ShareSDK是非常棒的移动社会化分享和评论工具,相信我们在开发应用过程中都离不开它。但是当我们集成ShareSDK时候同样会遇到一些问题。

1. ShareSDK包比较大,组合国内多家分享平台以后其SDK包的大小应该在1M以上,这对应用来说还是不小的负荷。

2. 集成ShareSDK过程中我们不可避免的需要将它的资源文件复制到应用的res资源目录下,这对我们应用后期维护造成不小的干扰。

基于以上的两大情况,我想通过ApkPlug框架将ShareSDK整体做成组件,在用户需要的时候才动态的从服务端加载到本地,这样做很方便的就解决了以上两个问题。

项目源码可从这里下载

二 项目所使用到的开发库

Apkplugv2.7.5版本  (必须是v2.7.5以上版本,否则无法运行)

Apkplug插件托管服务 v1.8.0版本以上

ShareSDKv2.10.7 (使用的最新版本DEMO)

三 项目目录结构

ShareSDKMain           ---主应用演示DEMO

ShareSDKPlug           ---ShareSDK 组件的具体实现

PlugShareSDK1.0.0.jar  --组件调用库

四 使用步骤

  1. 将apkplug框架主库Bunde2.7.5.jar【200k】加入到主应用libs目录下
  2. 将apkplug插件托管服务SDK【200k】加入主应用libs目录下
  3. 将ShareSDK组件调用库PlugShareSDK1.0.0.jar【20k】加入到宿主libs目录下
  4. 配置apkplug和ShareSDK所需要权限和activity【可直接从源码的ShareSDKMain项目配置文档中提取】

五 调用ShareSDK组件

以上步骤配置完成以后即可使用ShareSDK组件了,使用方式非常简单,以分享功能为例

1.首先初始化ShareSdkAgent (在PlugShareSDK1.0.0.jar包中定义)

ShareSdkAgent agent=new ShareSdkAgent(this,frame.getSystemBundleContext());


 

2.创建分享数据Bean PlugShareInfo (在PlugShareSDK1.0.0.jar包中定义)

final PlugShareInfo oks=new PlugShareInfo();
oks.setAddress("北京市");
oks.setTitle("apkplug下sharesdk分享组件功能");
oks.setTitleUrl("http://www.apkplug.com");
oks.setText("apkplug是android下的模块化框架,ShareSDK是一个非常棒的社会化分享组件,本着不重复造轮子的思想,我们将ShareSDK做成插件。详情见官网http://www.apkplug.com");
//oks.setImagePath(testImage);
oks.setImageUrl("http://img.appgo.cn/imgs/sharesdk/content/2013/07/25/1374723172663.jpg");
oks.setUrl("http://www.apkplug.com");
//oks.setFilePath(testImage);
oks.setComment("推荐使用apkplug框架减小应用体积,提供开发效率。");
oks.setSite(getString(R.string.app_name));
oks.setSiteUrl("http://mob.com");
oks.setVenueName("apkplug");
oks.setVenueDescription("apkplug是android下的模块化框架!");
oks.setLatitude(23.056081f);
oks.setLongitude(113.385708f);
oks.setDisableSSOWhenAuthorize(false);


 

3.调用ShareSDK组件进行分享

agent.StatShareSDK(
new CheckInitCallBack(){
@Override
public void onSuccess(PlugShareSDK sharesdk) {
            //ShareSDK组件已安装并启动完成
            //执行分享功能
			sharesdk.showShare(oks);
		}
		@Override
		public void onFailure(int errorNo, String strMsg) {
									
		}
});


运行DEMO:

© 著作权归作者所有

共有 人打赏支持
梁大帅
粉丝 50
博文 45
码字总数 27883
作品 1
丰台
程序员
加载中

评论(2)

Maxium_R
Maxium_R
很不错
梁大帅
梁大帅
4
ShareSDK微信、QQ登录,直接代码可用

ShareSDK都封装好第三方登录的方法了,非常方便调用,直接拷贝下面的方法,即可实现第三方登录。 1、微信登录方法 - (void)clickedWxLogin { if ([ShareSDK hasAuthorized:SSDKPlatformTypeW...

远航Yang
2017/10/25
0
0
Unity3D接入ShareSDK的微信分享功能

因为项目中需要加一个分享的功能,所以使用了ShareSDK(吐槽下,官网下载速度太慢了)。当然,shareSDK提供的功能要比这个要多很多,比如短信验证码,第三方登录等等。官网链接地址:https:/...

tel17610887670
04/11
0
0
ShareSDK [iOS常见问题] 关于使用QQ做第三方登录的问题!

注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现! 第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于...

SoulJa
2015/07/27
0
0
ShareSDK自定义分享弹出视图

ShareSDK自带视图弹出框感觉没有那么美观,但是ShareSDK也预留了自定义视图调用分享的方法,可以根据自己的需求定义比较美观的视图,然后调用相对应的方法就可以了,一起来看看,挺简单的。 ...

远航Yang
2017/10/25
0
0
Android进阶之使用第三方平台ShareSDK实现新浪微博的一键分享功能

在公司最近的一个项目中,需要实现一键分享功能,在这里我使用的是第三方平台ShareSDK,将使用经验与大家分享 先看效果图 主界面 分享界面 由于第一次使用,所以需要先进行新浪授权,授权界面...

墨梅
2014/05/08
0
12

没有更多内容

加载失败,请刷新页面

加载更多

控件WebView显示网页

一、代码编写 (一)方法一:通过打开app直接打开指定网站 1.打开Android Stutio,新建一个工程,名为Sdca。注意,名称开头必须为大写。 2.添加WebView控件 打开app esactivity_main.xml添加...

lanyu96
42分钟前
2
0
WinRAR 去除弹窗广告

想要去除它,需要用到另外一个工具resource hacker,百度一下,下载它,工具很小,安装也简单。安装过后,找到winrar安装目录下的WinRAR.exe文件,右击选择 open useing resource hacker打开...

YunOu
56分钟前
2
0
Bash工作管理详解

Bash工作管理 Bash的工作是对具体任务的一个抽象表述,更确切的说是对管道的应用上的表述。Bash中的工作在形式上表现为一组相关进程或单个进程。工作进程组分为前台和后台,前台进程会对键盘...

小陶小陶
今天
2
0
Qt那些事0.0.1

LIBS += -L$$PWD/lib/ -lStv1QMAKE_POST_LINK += $$QMAKE_COPY $$replace(PWD,"/","\\")\lib\Stv1.dll $$replace(OUT_PWD,"/","\\")\debug\Stv1.dll pro文件里,写起来按理说应该是轻松地......

Ev4n
今天
2
0
如何正确的使用动态VPS(Linux)自动更换IP

背景 现在越来越多的人开始玩网赚项目,蚂蚁再小也是肉,薅羊毛的羊毛党越来越多,一些网赚项目也越来越受欢迎,但是一般的网赚项目都是要求真实用户的,所以要想获得大量的真实ip,一种动态...

bengozhong
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部