當前位置:名人名言大全網 - 勵志說說 - 如何在android studio 中使用自定義註解處理器

如何在android studio 中使用自定義註解處理器

在android studio 中使用自定義註解處理器的方法是利用第三方gradle插件android-apt來實現的。

說明:Android Studio原本是不支持註解處理器的,這個插件可以自動的幫程序員為生成的代碼創建目錄, 讓生成的代碼編譯到APK裏面去, 而且它還可以讓最終編譯出來的APK裏面不包含註解處理器本身的代碼, 因為這部分代碼只是編譯的時候需要用來生成代碼, 最終運行的時候是不需要的。

1、使用這個插件很簡單, 首先在項目頂層的build.gradle文件中添加依賴項, 如下:

buildscript {

repositories {

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:1.5.0'

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

}

}

2、然後在app的build.gradle裏面添加插件的引用以及需要依賴哪些庫, 如下:

apply plugin: 'com.android.application'

apply plugin: 'com.neenbedankt.android-apt'

...

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

testCompile 'junit:junit:4.12'

compile 'com.android.support:appcompat-v7:22.2.1'

compile 'la.dahuo:command:1.0.0'

apt 'la.dahuo:command-codegen:1.0.0'

}

註意上面的apt ‘la.dahuo:command-codegen:1.0.0’, 這裏表示引用壹個註解處理器的庫, 這個庫的代碼最終不會進入編譯出來的APK裏面。

3、使用註解生成代碼, 上面出現的庫la.dahuo:command。la.dahuo:command-codegen就是我根據命令設計模式(Command Design Pattern)寫的壹個註解庫, 它用來讓我們方便的生成代碼, 看下用法:

定義Command

@CommandDef("commandName")

public class MyCommand extends Command {

@Param

String paramStr;

@Param("paramIntName")

int paramInt;

@Override

public void execute() {

// do something with params

}

}