做过软件开发的想必都或多或少的接过各种sdk。接一个sdk不难,但是要做到接了十个不同或相同功能的sdk,还要做到代码结构清晰,维护方便,就不是一件简单的事情。
博主在以前在游戏公司有幸参与打造统一第三方SDK接入,现在,博主决定在新的要负责新项目的用户登录,分享等模块,为了让以后不再苦逼,决定打造一个自己专属的统一第三方SDK接入框架。
对于整个框架我们希望到达下面的几个点:
1.相同功能的sdk统一管理(目前暂时有登录,支付,发享模块)
2.各家单独接入,这样有利于各家的维护升级,添加或者去除
3.整个框架不出现与具体业务相关的逻辑
框架的下载链接为:http://download.youkuaiyun.com/detail/phone_0405/9448106
本系列分享包括:
1.整个框架的思路以及实现
2.QQsdk登陆以及分享的接入
3.微博sdk的登陆以及分享的接入
4.微信sdk的登陆以及分享的接入
5.微信支付sdk的接入
6.支付宝支付sdk的接入
1.整个框架的思路以及实现
首先我们先定义的各家sdk接入的组件接口Component以及管理这些组建的Platform
package com.wang.wsdk;
import android.app.Activity;
import android.content.Intent;
public abstract class Component<T> {
private final ComponentType type;
private final String name;
public Component(String name, ComponentType login) {
this.name = name;
this.type = login;
}
public ComponentType getType() {
return type;
}
public String getName() {
return name;
}
protected Activity activity = null;
public final void setup(Activity activity) {
this.activity = activity;
}
protected boolean isRunning = false;
public boolean isRunning() {
return isRunning;
}
protected ThirdListener<T> mListener;
public void sendError(String reason) {
isRunning = false;
mListener.onError(reason);
}
public void sendCancel() {
isRunning = false;
mListener.onCance