社会化分享

可以看到的是,现在的app,几乎没有不带分享这个功能的。这里就来总结一下自己前前后后用过的实现分享的方法。

一、ShareSDk
第一步

申请appkey———-登录官网http://www.mob.com/,设置应用名即可,结果如下:
这里写图片描述

第二步、下载sdk
解压后,目录如下:
这里写图片描述

第三步、在studio中配置
将ShareSDK for Android\Libs\MainLibs目录下的libs中 和 res中的内容直接拷贝到studio中对应的目录下,同样的,ShareSDK for Android\Libs\OneKeyShare目录下的src 和 res需要拷贝到studio中。当然了,还需要的是将ShareSDK for Android\Res下的ShareSDK.xml拷贝到studio的assets目录下

第五步、需要在各个平台申请appkey(有些平台的appkey直接使用sharesdk中提供的可以实现分享,但是为了保险起见,避免在某些情况下出错,还是要替换成自己实际申请到的appkey)
这里写图片描述

第六步、使用
在代码中调用showShare()方法:

private void showShare() {
        OnekeyShare oks = new OnekeyShare();
        //关闭sso授权
        oks.disableSSOWhenAuthorize();
        // title标题,印象笔记、邮箱、信息、微信、人人网、QQ和QQ空间使用
        oks.setTitle("标题");
        // titleUrl是标题的网络链接,仅在Linked-in,QQ和QQ空间使用
        oks.setTitleUrl("http://sharesdk.cn");
        // text是分享文本,所有平台都需要这个字段
        oks.setText("我是分享文本");
        //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博
        oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
        // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
        //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
        // url仅在微信(包括好友和朋友圈)中使用
        oks.setUrl("http://sharesdk.cn");
        // comment是我对这条分享的评论,仅在人人网和QQ空间使用
        oks.setComment("我是测试评论文本");
        // site是分享此内容的网站名称,仅在QQ空间使用
        oks.setSite("ShareSDK");
        // siteUrl是分享此内容的网站地址,仅在QQ空间使用
        oks.setSiteUrl("http://sharesdk.cn");

// 启动分享GUI
        oks.show(this);
    }

OK,ShareSDK的使用就是这样了。

二、友盟

第一步、申请UMENG_APPKEY
第二步、下载sdk,可以选择需要的分享平台
第三步、去各个分享平台申请appkey
第四步、参考官方提供的as项目:social_sdk_example_as。将各个平台对应的appkey配置到代码中

//各个平台的配置,建议放在全局Application或者程序入口
    {
        PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0");
        //豆瓣RENREN平台目前只能在服务器端配置
        PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");
        PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf");
        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
        PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO");
        PlatformConfig.setAlipay("2015111700822536");
        PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e");
        PlatformConfig.setPinterest("1439206");
        PlatformConfig.setKakao("e4f60e065048eb031e235c806b31c70f");
        PlatformConfig.setDing("dingoalmlnohc0wggfedpk");
        PlatformConfig.setVKontakte("5764965","5My6SNliAaLxEm3Lyd9J");
        PlatformConfig.setDropbox("oz8v5apet3arcdy","h7p2pjbzkkxt02a");

    }

第五步、具体使用,参考上面的as项目即可。

OK,使用友盟分享就是这样了。

三、非集成化的分享方法

这种方法就是使用各个平台自己的api来实现分享,适合分享平台较少的情况。
上一段代码你就明白是怎么回事了

    /**
     * Tencent类的shareToQQ函数可直接调用,不用用户授权(使用手机QQ当前的登录态)。调用将打开分享的界面,用户选择好友、群或讨论组之后,点击确定即可完成分享,并进入与该好友进行对话的窗口。
     */

    /**
     * @param isToQQ true QQ
     *               false QZONE
     */
    private void shareToTencent(boolean isToQQ) {
//         title对应的是QQShare.SHARE_TO_QQ_TITLE,这是QQ官方提供的,其他的参数类似
        Bundle bundle = new Bundle();
        bundle.putString("targetUrl", mShareURL);
        bundle.putString("title", mShareTitle);
        bundle.putString("summary", mShareContent);
        if (isToQQ) {
            bundle.putString("imageUrl", mShareImageUrl);
            mTencent.shareToQQ(this, bundle, mTencentCallback);
            // 刚开始老是缩略图显示不了,原来QQ分享有本地图片和在线图片之分,一定要只选其一
        } else {
            ArrayList<String> imageList = new ArrayList<>(1);
            imageList.add(mShareImageUrl);
            bundle.putStringArrayList("imageUrl", imageList);
            mTencent.shareToQzone(this, bundle, mTencentCallback);
            // 刚开始点击分享老是没反应,后来才发现Qzone分享必须设置缩略图才行
        }
    }

上面这个就是通过腾讯官方api实现的分享到qq 和 qq空间的逻辑代码。类似的,可以去实现分享到各个平台的功能。但是如果平台太多的话,代码量就大了,所以如果分享平台多的话,还是使用集成化的分享方法比较方便,就是前面两种方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值