根据ShareSDK实现分享功能组件化

原创 2016年05月31日 16:52:34

分享功能组件是以aar文件的形式提供,aar下载地址ShareComponent
本文主要是讲使用步骤

第一步:下载aar文件并导入

这里主要介绍下AndroidStudio中如何导入aar文件。
1、将aar文件放到libs文件下
2、在gradle中配置

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name: 'share_component-debug', ext: 'aar')
}

第二步:在AndroidManifest.xml文件中添加配置

<!--权限申明--!>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.INTERNET"/>


<!--添加Activity信息(tencent后面的appid要保持和您配置的QQ的appid一致)--!>
<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" >

     <intent-filter>
         <data android:scheme="tencent100371282" />
         <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.BROWSABLE" />
         <category android:name="android.intent.category.DEFAULT" />
     </intent-filter>
 </activity>

第三步:在代码中配置相关信息

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button mShareBtn;
    private ShareEntity mShareEntity;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mShareBtn = (Button) findViewById(R.id.btn_share);
        mShareBtn.setOnClickListener(this);
        mShareEntity = new ShareEntity();
        mShareEntity.setShareSdkId("116ac5ad7ee88");
        mShareEntity.setShareUrl("http://www.baidu.com");
        mShareEntity.setShareContent("实现分享功能组件化");
        mShareEntity.setShareTitle("分享组件");
        Map<String,ShareKeyEntity> map = new HashMap<>();
        ShareKeyEntity qq = new ShareKeyEntity();
        qq.setKey("1105235873");
        qq.setSecret("cfdcad41a1745760611995c9b9cd672c");
        map.put(ShareComponent.QQ,qq);
        ShareKeyEntity qzone = new ShareKeyEntity();
        qzone.setKey("1105235873");
        qzone.setSecret("cfdcad41a1745760611995c9b9cd672c");
        map.put(ShareComponent.QZONE,qzone);
        ShareKeyEntity sina = new ShareKeyEntity();
        sina.setKey("1968663125");
        sina.setSecret("cfdcad41a1745760611995c9b9cd672c");
        map.put(ShareComponent.SINA,sina);
        ShareKeyEntity wechat = new ShareKeyEntity();
        wechat.setKey("wxa443e9e5eecd5242");
        wechat.setSecret("1d5276b2506ff35a4db1adbc018c9db7");
        map.put(ShareComponent.WECHAT,wechat);
        ShareKeyEntity wechatcomments = new ShareKeyEntity();
        wechatcomments.setKey("wxa443e9e5eecd5242");
        wechatcomments.setSecret("1d5276b2506ff35a4db1adbc018c9db7");
        map.put(ShareComponent.WECHAT_MOMENTS,wechatcomments);
        mShareEntity.setShareKeyMap(map);

    }

    @Override
    public void onClick(View view) {

        int id = view.getId();
        switch (id) {
            case R.id.btn_share:
                ShareComponent.getInstance().share(MainActivity.this,mShareBtn,mShareEntity);
                break;
            default:
                break;
        }

    }
}

相关文章推荐

android实现分享功能

当我从没做过QQ的分享功能时,自我有些害怕,当用心开始做时发现不是很难,因为QQ的分享功能官方有提供接口和文档哦,下面来介绍我的学习的总结: 根据网址: http://op.open.qq.com...

新浪短链接API接口示例

/* * 生成新浪的短链接或还原新浪短链接 */ class SinaUrl{ //新浪APPKEY const APPKEY='31641035'; //CURL ...

长URL链接转短链接算法(JAVA)

最近看到微博的短链接真是很火啊,新浪、腾讯、搜狐等微博网站都加入了短链接的功能。之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少。短链接的主要职责...

好文章分享--《组件化与业务拆分那些事》

原文地址:http://www.jianshu.com/p/60c1b9ddd8ab 前言最近事情比较多,2个月没写文章了。看笔者圣诞节还在写技术文章,就知道程序猿的生活有多惨淡。上几篇单元测试的文章...

android分享数据到不同平台组件化

快两个月没写博客了,真是惭愧,一个好习惯想要一直坚持下去真的不是一件容易的事情,赶快回到正轨,把自己的一点点经验总结出来,继续写下去。 最近项目要用到分享的功能,这几乎是每一个app都有的功能,分享一...

使用Dijit实现界面组件化开发

对于组件化的软件工程设计,很多开发人员都比较熟悉。组件化的设计适合于复杂的软件系统和团队协作开发。把软件系统划分成若干个组件,组件之间通过预先定义好的接口和协议进行通讯和协作,共同完成整个软件系统的职...

浅谈如何实现JSP上传图片无组件化

浅谈如何实现JSP上传图片无组件化 2009-07-07 15:07 329087553 51CTO论坛 我要评论(3) 字号:T | T 用户通过网页像提交参数一样向服务器上传...
  • ku1989
  • ku1989
  • 2012年06月07日 00:06
  • 418

利用webpack和vue实现组件化

在vue中实现组件化用到了vue特有的文件格式.vue,在每一个.vue文件就是一个组件,在组件中我们将html,css,js全部写入,然后在webpack中配置vue-loader就可以了。 ...
  • NotBad_
  • NotBad_
  • 2017年01月08日 23:26
  • 305

【超强干货分享】蘑菇街App的组件化之路

本文为『移动前线』群在3月10日的分享总结整理而成,转载请注明来自『移动开发前线』公众号。 嘉宾介绍 蘑菇街李忠(花名银时,网名 limboy),多年客户端开发经验,目前主要负责移动端...

简单的JavaScript组件化实现

作为一名前端菜鸟,最近看react例子,根据理解自己也简单实现了一下组件的继承和事件机制。 代码在这里 原始的组件写法 (function($) { $.pluginName =...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:根据ShareSDK实现分享功能组件化
举报原因:
原因补充:

(最多只允许输入30个字)