2016-10-20 4 views
1

Есть ли способ генерировать код при компиляции. Например: я пишу ActivityКак сгенерировать код при компиляции

public class XXActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) { 
     super.onCreate(savedInstanceState, persistentState); 
     doSomething(); 
    } 

    private void doSomething() { 

    } 
} 

Я хочу войти время до и после приема doSomething():

public class XXActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) { 
     super.onCreate(savedInstanceState, persistentState); 
     Log.i("XX", "start:" + System.currentTimeMillis()); // auto generate when compiling 
     doSomething(); 
     Log.i("XX", "finish:" + System.currentTimeMillis()); // auto generate when compiling 
    } 

    private void doSomething() { 

    } 
} 

Как добиться эффекта, как, например выше, любая идея ценится.

+0

https://github.com/square/javapoet –

+0

Вы можете посмотреть инструмент обработки аннотаций Java (apt): http://docs.oracle.com/javase/6/docs/technotes/guides/apt /index.html – krossovochkin

ответ

2

Вы должны создать пользовательскую аннотацию. Для начала взгляните на this учебник.