AndroidStudio集成Lombok

Lombok是一個(gè)編譯時(shí)幫助我們生成類(lèi)的getter、setter、toString等的第三方庫(kù),讓我們不需要給實(shí)體類(lèi)手動(dòng)寫(xiě)getter、setter,代碼更加干凈。

常用注解

Lombok注解.png

步驟

AndroidStudio安裝Lombok插件

File => Settings => Plugins,插件市場(chǎng)搜索Lombok,安裝,重啟工具

開(kāi)啟工具的編譯注解開(kāi)關(guān) AnnotationProcessors

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

添加Lombok依賴

模塊的build.gradle中,添加以下依賴

//1、lombok依賴
implementation 'javax.annotation:javax.annotation-api:1.2'
//依賴lombok的API,內(nèi)部雖然已經(jīng)聲明了注解解釋器,但在AndroidStudio上有Bug(導(dǎo)致編譯報(bào)錯(cuò)找不到生成的方法),需要自己主動(dòng)再聲明一次
implementation 'org.projectlombok:lombok:1.16.6'
//主動(dòng)聲明注解解釋器
annotationProcessor 'org.projectlombok:lombok:1.16.6'

添加Lombok配置文件

在項(xiàng)目根目錄,添加lombok.config文件,填入以下內(nèi)容

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

配置注解處理器

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

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

試驗(yàn)

準(zhǔn)備實(shí)體類(lèi)

  • @Data:生成get、set方法
  • @NoArgsConstructor:生成空參構(gòu)造方法
  • @AllArgsConstructor:生成全參構(gòu)造方法

其他用法,自行搜索哈

//生成get、set方法
@Data
//生成空參構(gòu)造方法
@NoArgsConstructor
//生成全參構(gòu)造方法
@AllArgsConstructor
public class User {
    private String userName;
    private String password;
}

使用

布局添加2個(gè)按鈕,布局就不貼了。
點(diǎn)擊時(shí),調(diào)用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();
                //實(shí)驗(yàn)set方法
                user.setUserName("admin");
                user.setPassword("admin");
                //實(shí)驗(yàn)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");
                //試驗(yàn)toString方法
                String toString = user.toString();
                int hashCode = user.hashCode();
                Toast.makeText(getApplicationContext(),
                        "toString:" + toString + " hashCode:" + hashCode,
                        Toast.LENGTH_SHORT).show();
            }
        });
    }
}

總結(jié)

在AndroidStudio中使用還是比較簡(jiǎn)單的,如果項(xiàng)目還沒(méi)有用Kotlin,還是用Java,使用Lombok簡(jiǎn)化代碼還是不錯(cuò)的。

代碼我上傳到了GitHub,有需要的同學(xué),可以clone

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容