android之ShareSDK实现分享功能

现在随着科技的发达,人们交友的方式也越来越广泛,用到的app也越来越多,那么每当我们发现了好玩的好吃的好看的文章之类的,想分享到朋友圈.QQ空间.微博等如何做呢?由于这个需求越来越被需要,所以ShareSDK,友盟分享啊之类的分享的第三方出现了,省了开发者的开发时间,只需要集成第三方的库之类的就可以直接使用,简单又方便。


好了,废话说完了,那么具体该怎么操作呢?这里介绍使用ShareSDK实现分享功能

1.首先去ShareSDK的官网:http://www.mob.com/#/   下载对应的SDK,下载后解压会发现有两个文件夹:【1】ShareSDK for Android;【2】ShareSDK for Android Services。

ShareSDK for Android目录中的“Libs”包含了“MainLibs”文件夹和“OnekeyShare”文件夹,这两个是我们分享所需的;ShareSDK for Android Services包含了发布的插件服务,比如评论,点赞等,而我们不需要,因为我们只进行分享功能。


2.在官方网站注册获取ShareSDK的appkey。


3.在你需要分享的平台注册获取key(比如微信平台,腾讯平台,新浪微博)


4.配置项目:

a.在需要的project中新建2个Library module : ShareSDK和OneKeyShare分别对应“MainLibs”文件夹(核心库)和“OnekeyShare”文件夹(快捷分享库); 
b.删掉2个module中src/main目录里面的所有文件(包括删掉java、res、AndroidManifest.xml)
c.复制第三方库的AndroidMainfest.xml、res、src文件(夹)到对应的新建的module库目录的src/main目录中(记得将”MainLibs“下libs文件夹中的所以jar包复制到它对应的module(ShareSDK )的libs中)
d.app这个module依赖OneKeyShare;OneKeyShare依赖ShareSDK


5.在project的本module下新建一个assets文件夹,非新建的module(一般是“app”),然后将ShareSDK for Android / Res目录下的ShareSDK.xml文件复制到新建的assets文件夹下


6.配置分享平台:

 
    
        RedirectUrl="http://www.sharesdk.cn"
        ShareByAppClient="true"
        Enable="true" /> 


代码中是分享至新浪微博,其他平台道理同上。


7.配置权限:

    
    
    
    
    
    
    
    
    

8.在application节点下注册下面的Activity,将下面绿色的改为在腾讯开放平台申请到的AppId

        
            
                1104646053" />
                
                
                
            
        

9.在首启动的Activity的onCreate方法中初始化ShareSDK: 即ShareSDK.initSDK( this);在结束的Activity的onDestroy方法中注销:即ShareSDK.stopSDK (this);


10.使用代码进行分享:

OnekeyShare oks = new OnekeyShare();
        oks.disableSSOWhenAuthorize();
        oks.setTitle("我是分享title");
        oks.setTitleUrl("http://xxxxxxxxxxxxxxxxxxxxxxx");
        oks.setText("永不止步");
        oks.setUrl("http://xxxxxxxxxxxxxxxxxxxx");
        oks.setComment("评论");
        oks.setSiteUrl("http://xxxxxxxxxxxxxxxxxxxxxxx");
        // 启动分享
        oks.show(this);
        oks.setCallback(new PlatformActionListener() {
            @Override
            public void onComplete(Platform platform, int i, HashMap hashMap) {
                IApplication.showToast("成功" + platform.getName());
            }

            @Override
            public void onError(Platform platform, int i, Throwable throwable) {
                IApplication.showToast("错误" + platform.getName());
            }

            @Override
            public void onCancel(Platform platform, int i) {
                IApplication.showToast("取消" + platform.getName());
            }
        });

分享的整个流程就这样了,还是很简单的

你可能感兴趣的:(android-其他)