以前Java基础的时候,写JavaBean类都是有快捷键自动生成的,我们只需要定义好成员变量字段,剩下的构造方法、getXxx()方法,setXxx()方法,都可以自动生成。格式如下:

public class TrackOrderBean {

private boolean success;

private String driverId;

private String licensePlat;

private String dispatchOrderId;

private int interval;

private List> errors;

public boolean isSuccess() {

return success;

}

public void setSuccess(boolean success) {

this.success = success;

}

public String getDriverId() {

return driverId;

}

public void setDriverId(String driverId) {

this.driverId = driverId;

}

public String getLicensePlat() {

return licensePlat;

}

public void setLicensePlat(String licensePlat) {

this.licensePlat = licensePlat;

}

public String getDispatchOrderId() {

return dispatchOrderId;

}

public void setDispatchOrderId(String dispatchOrderId) {

this.dispatchOrderId = dispatchOrderId;

}

public int getInterval() {

return interval;

}

public void setInterval(int interval) {

this.interval = interval;

}

public List> getErrors() {

return errors;

}

public void setErrors(List> errors) {

this.errors = errors;

}

}

但是在Android里面,我们可能会看到一些老程序员会这样写JavaBean类:

public class TrackOrderBean {

public boolean success;

public String driverId;

public String licensePlat;

public String dispatchOrderId;

public int interval;

public List> errors;

}

因为成员变量声明是public,我们可以直接引用它,不需要getXxx()和setXxx()方法。这样做是为了避免方法数量超过限制的问题。因为Android中的方法数量不能超过65535,如果超过了,你可能会遇到一些意想不到的Bug。比如,我就遇到了Build APK失败的问题。

先选择Build APK

5ede99847682?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

图片.png

然后Android Studio就会报错

5ede99847682?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

图片.png

最开始,我以为是代码里有错误所以导致这个问题,但是检查了代码没有发现Bug。之后我又怀疑可能是清单文件或者build.gradle文件里面的配置有误,通通排查了一遍也没有发现问题。

后来终于找到了,因为是项目中所有的方法数量超过65535导致的。解决的方法就是,在build.gradle文件中,添加如下代码:

dexOptions{

jumboMode true

}

解决方法很简单,但是发现这个问题很难,我也是卡了很久才发现的。这样的话,我们用Android studio写JavaBean类也可以用快捷键Alt + Insert来自动生成。不用再担心方法数量超出限制的问题了。

希望能帮到你。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐