ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

安卓Java接口方法数过多

2021-06-05 19:59:28  阅读:193  来源: 互联网

标签:eatfoodCallback Java void public drinkCallback 数过 Human Override 安卓


最近使用SDK的接口很烦恼,接口方法数量达30之多,眼花缭乱找都找不到需要的方法,总不能每次都去查文档

开始思考如何对接口分类管理

目前处理方式自定义一个管理类,默认实现所有接口方法,自身再声明几个管理的接口对其方法进行分类,只要在同名方法内调用自己声明的接口方法即可

以下为别人写死的SDK和Callback

public class HumanSDK{

...

setCallback(HumanCallback humanCallback);

removeCallback(HumanCallback humCallback);

...

}

pulic interface HumanCallback{

void eatfood1();

void eatfood2();

void eatfood3();

void drink1();

void drink2();

void drink3();

}

接口管理类

public class Human implements HumanCallback{

public static Human human;

public EatfoodCallback eatfoodCallback;

public DrinkCallback drinkCallback;

public Human setEatfoodCallback(EatfoodCallback eatfoodCallback){

this.eatfoodCallback=eatfoodCallback;

return this;

}

public Human setDrinkCallback(DrinkCallback drinkCallback){

this.drinkCallback=drinkCallback;

return this;

}

private Human(){};

public static Human getInstance(){

if(human==null){

human=new Human();

}

this.drinkCallback=null;

this.eatfoodCallback=null;

return human;

}

public interface EatfoodCallback{

void eatfood1();

void eatfood2();

void eatfood3();

}

public interface DrinkCallback{

void drink1();

void drink2();

void drink3();

}

@Override

public void eatfood1(){

if(eatfoodCallback!=null){

eatfoodCallback.eatfood1();

}

}

@Override

public void eatfood2(){

if(eatfoodCallback!=null){

eatfoodCallback.eatfood2();

}

}

@Override

public void eatfood3(){

if(eatfoodCallback!=null){

eatfoodCallback.eatfood3();

}

}

@Override

public void drink1(){

if(drinkCallback!=null){

drinkCallback.drink1();

}

}

@Override

public void drink2(){

if(drinkCallback!=null){

drinkCallback.drink2();

}

}

@Override

public void drink3(){

if(drinkCallback!=null){

drinkCallback.drink3();

}

}

}

 

原接口调用

HumanSDK.setCallback(new HumanCallback(){

@Override

public void eatfood1();

@Override

public void eatfood2();

@Override

public void eatfood3();

@Override

public void drink1();

@Override

public void drink2();

@Override

public void drink3();

});

修改后

HumanSDK.setCallback(Human.getInstance().setEatfoodCallback(new Human.EatfoodCallback(){

@Override

public void eatfood1();

@Override

public void eatfood2();

@Override

public void eatfood3();

})

.setDrinkCallback(new Human.DrinkCallback(){

@Override

public void drink1();

@Override

public void drink2();

@Override

public void drink3();

})

);

主要通过自己的接口去实现他写死的接口来进行管理

标签:eatfoodCallback,Java,void,public,drinkCallback,数过,Human,Override,安卓
来源: https://blog.csdn.net/FaXingBuNengLuan/article/details/117603871

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有