美文网首页Android
AndroidStudio集成Lombok

AndroidStudio集成Lombok

作者: h2coder | 来源:发表于2020-09-26 09:43 被阅读0次

    Lombok是一个编译时帮助我们生成类的getter、setter、toString等的第三方库,让我们不需要给实体类手动写getter、setter,代码更加干净。

    常用注解

    Lombok注解.png

    步骤

    AndroidStudio安装Lombok插件

    File => Settings => Plugins,插件市场搜索Lombok,安装,重启工具

    开启工具的编译注解开关 AnnotationProcessors

    File => Settings => 搜索Annotation Processors => 把Enable annotation processing

    添加Lombok依赖

    模块的build.gradle中,添加以下依赖

    //1、lombok依赖
    implementation 'javax.annotation:javax.annotation-api:1.2'
    //依赖lombok的API,内部虽然已经声明了注解解释器,但在AndroidStudio上有Bug(导致编译报错找不到生成的方法),需要自己主动再声明一次
    implementation 'org.projectlombok:lombok:1.16.6'
    //主动声明注解解释器
    annotationProcessor 'org.projectlombok:lombok:1.16.6'
    

    添加Lombok配置文件

    在项目根目录,添加lombok.config文件,填入以下内容

    lombok.anyConstructor.suppressConstructorProperties=true
    config.stopBubbling=true
    lombok.equalsAndHashCode.callSuper=call
    

    配置注解处理器

    模块的build.gradle文件,找到defaultConfig,加入以下配置,同步一下即可

    defaultConfig {
        //3.配置注解处理器
        javaCompileOptions {
            annotationProcessorOptions {
                includeCompileClasspath = true
            }
        }
    }
    

    试验

    准备实体类

    • @Data:生成get、set方法
    • @NoArgsConstructor:生成空参构造方法
    • @AllArgsConstructor:生成全参构造方法

    其他用法,自行搜索哈

    //生成get、set方法
    @Data
    //生成空参构造方法
    @NoArgsConstructor
    //生成全参构造方法
    @AllArgsConstructor
    public class User {
        private String userName;
        private String password;
    }
    

    使用

    布局添加2个按钮,布局就不贴了。
    点击时,调用set、get方法,toString等方法,能Toast输出即可

    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button button = findViewById(R.id.btn);
            Button button1 = findViewById(R.id.btn2);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    User user = new User();
                    //实验set方法
                    user.setUserName("admin");
                    user.setPassword("admin");
                    //实验get方法
                    String userName = user.getUserName();
                    String password = user.getPassword();
                    Toast.makeText(getApplicationContext(),
                            "用户名:" + userName + " 密码:" + password,
                            Toast.LENGTH_SHORT).show();
                }
            });
            button1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    User user = new User("root", "root");
                    //试验toString方法
                    String toString = user.toString();
                    int hashCode = user.hashCode();
                    Toast.makeText(getApplicationContext(),
                            "toString:" + toString + " hashCode:" + hashCode,
                            Toast.LENGTH_SHORT).show();
                }
            });
        }
    }
    

    总结

    在AndroidStudio中使用还是比较简单的,如果项目还没有用Kotlin,还是用Java,使用Lombok简化代码还是不错的。

    代码我上传到了GitHub,有需要的同学,可以clone

    相关文章

      网友评论

        本文标题:AndroidStudio集成Lombok

        本文链接:https://www.haomeiwen.com/subject/cnhcuktx.html