Giter Club home page Giter Club logo

easyshare's Introduction

EasyShare

只集成QQ、微信、新浪微博平台,可以用来授权、分享、登录的轻量级库,简单易用,易于维护 鉴于当前某些第三方分享功能实在是难用,并且项目中也需要一个易于自己维护的分享Library(需要随时升级某个第三方平台,QQ、微信、新浪的sdk),然后就写出这个Libaray来

目前呢这个Library只支持微信、微博和QQ平台的登录鉴权以及分享功能,后续可能会加一些其他平台或其他功能.

##添加依赖 compile 'cn.joy.libs:platform:1.0.6'

##使用方法 1.在主package下添加微信必要的回调Activity,需继承自cn.joy.libs.platform.wechat.WXEntryActivity

若不使用微信授权和分享可跳过此步骤

2.在AndroidManifest.xml中添加QQ和微信配置

若不使用微信、QQ授权和分享可跳过此步骤

    <!-- 微信以及QQ平台activity -->
    <!-- 微信以及QQ平台activity -->
    <activity
        android:name=".wxapi.WXEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"/>

    <activity
        android:name="com.tencent.tauth.AuthActivity"
        android:launchMode="singleTask"
        android:noHistory="true"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>

            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>

            <data android:scheme="tencent${QQ_KEY}"/>
        </intent-filter>
    </activity>

3.在Application onCreate()中添加Library初始化

PlatformManager.init(this)
  .register(PlatformFactory.createWechat("你的微信 key", "你的微信 secret key"))
  .register(PlatformFactory.createQQ("你的QQ key", "你的QQ secret key"))
  .register(PlatformFactory.createSina("你的微博 key", "你的微博 secret key", "你的微博跳转 target url"));

4.授权登录

PlatformActionListener<WechatAuthInfo> listener = new PlatformActionListener<WechatAuthInfo>() {
    /**
     * 授权成功
     * @param wechatAuthInfo 微信授权用户信息
     */
    @Override
    public void onComplete(WechatAuthInfo wechatAuthInfo) {

    }

    /**
     * 授权出错
     * @param errorCode 错误码{@link cn.joy.libs.platform.ErrorCode}
     */
    @Override
    public void onError(int errorCode) {

    }

    /**
     * 用户取消
     */
    @Override
    public void onCancel() {

    }
};
	
new AuthBuilder().authTo(Auth.Target.Wechat).listener(listener).auth();

5.分享

private PlatformActionListener listener = new PlatformActionListener() {
    /**
	 * 分享成功
	 * @param wechatAuthInfo 微信授权用户信息
	 */
	@Override
	public void onComplete(Object o) {

	}

    /**
	 * 分享失败
	 * @param errorCode 错误码{@link cn.joy.libs.platform.ErrorCode}
	 */
	@Override
	public void onError(int errorCode) {
		
	}
	
	/**
	 * 用户取消
	 */
	@Override
	public void onCancel() {
		
	}
};

new ShareBuilder()
        // activity
        .from(this)
        // 是否需要安装目标平台客户端
        .byClient(true)
        // 监听
        .listener(this)
        // 分享的标题
        .title("")
        // 分享的内容
        .content("")
        // 分享的跳转链接
        .targetUrl("")
        // 分享的图片。有三种格式,url、file、bitmap
        .image(new ShareParams.ShareImage(""))
        // 分享的类型。目前实现了纯文本和图文混合
        .type(ShareParams.ShareType.TextAndImage)
        // 分享的目标平台
        .shareTo(Share.Target.QQ)
        .share();

##更新日志 ###1.0.7 2016-12-2 1.修复几个小bug

###1.0.6 2016-12-6 1.修复微博分享不成功的bug 2.添加网页类型分享

###1.0.4 2016-12-1 1.修复微信返回不能回调onCancel bug 2.优化大图分享

###1.0.3 2016-11-29 1.修复java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sina.weibo.sdk.demo/com.sina.weibo.sdk.component.WeiboSdkBrowser}: java.lang.IllegalArgumentException: Empty file name bug

###1.0.2 2016-11-8 1.删除无用的依赖

###1.0.1 2016-11-7 1.首版功能完善

easyshare's People

Contributors

joy-whale avatar

Watchers

James Cloos avatar yuangu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.