应用SDK与对外接口的封装、混淆与打包

本文介绍了Android开发中如何对SDK进行封装,以隐藏技术细节,例如IP地址、参数和算法。通过创建Model并使用MVP模式进行封装,然后详细说明了混淆步骤,确保关键接口不受混淆。最后,演示了如何打包成jar文件并在主项目中使用。
摘要由CSDN通过智能技术生成

从事Android开发久了不可避免的会接触对外接口的封装,下面本人就以自己写过的一个例子系统讲讲怎样对应用sdk的开发。


1.封装

我们在与其他公司合作的时候,往往会有技术方面的协作,但我们又不想过多的暴露我们某些技术方面的细节,比如:ip地址、技术参数、核心算法。

于是我们会对这部分代码进行封装,这部分需要精通Java的设计模式。
下面上传我的项目:

这里写图片描述

新建一个Android工程,添加一个Model:musicdot。

musicdot是本人自己解析百度音乐的歌曲搜索请求实现的在线搜歌功能包。所以我将要对这部分代码进行封装打包,以达到隐藏具体搜索请求的目的。(由于本项目中用到的百度音乐搜索接口涉及侵权,暂不暴露)

下面贴代码:

public class PlayMusicPresenter {
   
    private PlayMusicModle uModel;
    public void getMusic(Context context, String content, final UUView uView) {
        uModel = new PlayMusicModle();
        uModel.getResult(context, content, new UCallBack() {
            @Override
            public void onSuccess(String content, int code) {
                uView.showContent(content, code);
            }

            @Override
            public void onFail(String error) {
                uView.showError(error);
            }

        });
    }
}
public class PlayMusicModle {
    private UCallBack callBack;

    public void getResult(Context context, String content, UCallBack uCallBack) {
        callBack = uCallBack;
        searchSong(content);
    }

    private void searchSong(final String musicName) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    OkHttpClient client = new OkHttpClient();
                    Request request = new Request.Builder()
                            .addHeader("User-Agent", makeUA())
                            .url("搜索url" + musicName)
                            .build();
                    Response response
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值