一般情况下我们最常用到的三个注解分别是@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