首页 > 代码库 > sdk开发时,对外暴露的接口封装
sdk开发时,对外暴露的接口封装
思考,用同步还是异步?
eg.登陆接口
1.定义接口LoginCallBack,两个函数 请求成功和失败
public interface LoginCallBack{ public void OnSuccess(SDKUser user); //登陆成功的回调,我们的需求是给调用者一个封装好的SDKUser类,一些用户信息的get/set 略 public void OnFailed(String msg); //传给调用者错误信息}
2. 对外暴露的SDK主类中,进行处理具体业务逻辑
public class SDK{ public void login(String username,String password,LoginCallBack callback) { //这里一般都要开线程,或在异步任务里 try{ //执行网咯请求,异步任务里可以用同步请求来解耦 if(网络请求成功){ // 解析json为bean ballback.OnSuccess(bean); }else {//根据失败信息,调用接口失败方法 String str="登陆失败!"; ballback.OnFailed(str); } }catch(Exception e){ String str="登陆失败!"; // ballback.OnFailed(str); } }); }
3.使用者进行调用
SDK.login("admin","123456",new LoginCallBack(){//参数为账号密码 @Override public void OnSuccess(SDKUser user){ //请求成功后,这里调用者就可以拿到login方法里json解析后的bean } @Override public void OnFailed(String msg){ //请求失败后,这里调用者可以拿到我们返回给他的提示信息 }});
由于接口既需要返回我们定义的数据通常为json等,有异常时又需要返回异常信息 所以接口通常都写成异步处理,给调用者回调的方式
sdk开发时,对外暴露的接口封装
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。