AndroidAnnotations学习笔记(一)

[size=large][color=red][b]@EActivity[/b][/color][/size]
原来在没用(AndroidAnnotations)之前,我们写代码是这样写:


public class TestActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}
}


不过有了AndroidAnnotations之后,我们可以这样写,使用@EActivity注解

@EActivity(R.layout.activity_test)
public class TestActivity extends Activity {

// @Override
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_test);
// }

}


当然,上面的注释就不用写了 :D

不过@EActivity注解,你还有修改“AndroidManifest.xml”,在TestActivity类名后,加个“_”

<activity
android:name=".TestActivity_"
android:label="@string/title_activity_test" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>



[size=large][color=red][b]@EApplication[/b][/color][/size]

@EApplication
public class MyApplication extends Application {

public void onCreate() {
super.onCreate();
}
}


当然了“AndroidManifest.xml”这个文件还是要修改的,同样也是要加“_”

<application
android:name=".MyApplication_" >
</application>


[size=large][color=red][b]@App[/b][/color][/size]
没有这个注解我们要这么写代码:

@EActivity(R.layout.activity_test)
public class TestActivity extends Activity {

private MyApplication_ app;

TextView tvTest = null;

@AfterViews
void afterView(){
tvTest = (TextView)this.findViewById(R.id.tv_test);
app = (MyApplication_) getApplication();
tvTest.setText(app.getValue());
}
}


用了@App这个注解后,我们可以这样写:

@EActivity(R.layout.activity_test)
public class TestActivity extends Activity {

TextView tvTest = null;

@App
MyApplication app;

@AfterViews
void afterView(){
tvTest = (TextView)this.findViewById(R.id.tv_test);
tvTest.setText(app.getValue());
}
}



[size=large][color=red][b]@ViewById[/b][/color][/size]
这个注解可能是我们用到的最常用一个了,每次我们写的最多的代码都是this.findViewById,这个注解可以帮助我们省去不少的工作。
如前一个例子

public class TestActivity extends Activity {

TextView tvTest = null;

@App
MyApplication app;

@AfterViews
void afterView(){
tvTest = (TextView)this.findViewById(R.id.tv_test);
tvTest.setText(app.getValue());
}
}

现在我们的代码也可以这么写:

@EActivity(R.layout.activity_test)
public class TestActivity extends Activity {

@App
MyApplication app;

@ViewById(R.id.tv_test)
TextView tvTest;
@AfterViews
void afterView(){
tvTest.setText(app.getValue());
}

}

当然了如果你的变量名与R.id.tv_test的名称一致,你也可以这下写,这样我们又省去了不少的代码量:

@ViewById(R.id.tv_test)
TextView tvTest;

@ViewById
TextView tv_test;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值