Android 注解的使用与注意事项

时间:2022-11-21 17:24:03

一般情况下我们最常用到的三个注解分别是@EActivity  @ViewById  和@Click

   @EActivity这个注解是用来修饰Activity的,向Activity注入布局,功能相当于setContentView(int layoutId)。

和它类似的还有@EService、@EReceiver、@EProvider、@EApplication、@EApplication、@EFragment。同时也能修饰自定义控件,注解为@EView、@EViewGroup。

   当然我感觉最重要的是我们不用再复写onCreate(Bundle saveInstanceState)方法。因为在系统编译时,会生成一个YouActivity_形式的类继承你的YouActivity。在其中已经自动复写了许多方法,当然也包括onCreate这个关键的方法。

示例:
@EActivity(R.layout.activity_main)
public class MainActivity extends Activity

  @ViewById,顾名思义,就相当于findViewById(int id),但是相比之下简单了很多。

示例:
@ViewById(R.id.myTextView)
TextView textView;


@Click,它就更省事了。如果你的控件的id刚好和你的方法名一样,那么你可以直接这么写:

@Click
void jumpButton(){
    Intent intent=new Intent(this,OtherActivity_.class);
    Log.i("MainActivity","jumpButton。。。。。。");
    startActivity(intent);
}

如果不一样也不要紧,你可以这样写:

@Click(R.id.button)
void myButton() {
    Intent intent=new Intent(this,OtherActivity_.class);
    Log.i("MainActivity","jumpButton。。。。。。");
    startActivity(intent);
}

在menifest中注册Activity的时候,不是直接注册你写的那个类,而是在编译时候系统生成的那个。示例:
<activity android:name="com.myapplication.OtherActivity_"/>

这里有一个AndroidStudio 1.5下的示例工程,大家可以参考一下。
Android Annotations工程实例链接:http://download.csdn.net/detail/songkai320/9552268