`
hista
  • 浏览: 17678 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

AndroidAnnotations学习笔记(一)

阅读更多
@EActivity
原来在没用(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);
//	}

}


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

不过@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>



@EApplication
@EApplication
public class MyApplication extends Application {

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


当然了“AndroidManifest.xml”这个文件还是要修改的,同样也是要加“_”
<application
        android:name=".MyApplication_" >
</application>


@App
没有这个注解我们要这么写代码:
@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());
	}
}



@ViewById
这个注解可能是我们用到的最常用一个了,每次我们写的最多的代码都是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;


分享到:
评论

相关推荐

    第一行代码 android学习笔记 完整版

    本笔记对应的学习资源《第一行代码》是Android开发者的入门必读书籍,书中系统地介绍了Android的基本概念和开发技术。 一、Android系统架构 Android系统架构是Android开发的基础,系统架构包括Linux Kernel、...

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    Friends学习笔记全集上

    《Friends学习笔记全集上》是一份非常珍贵的资源,专为那些希望通过观看经典美剧《Friends》(老友记)来提升英语水平的学习者所准备。这份笔记集合了第一部分的内容,涵盖了每一集的详细解读,包括剧本、字幕翻译...

    maven学习笔记maven学习笔记

    maven学习笔记maven学习笔记maven学习笔记

    CSS学习笔记CSS学习笔记

    CSS学习笔记CSS学习笔记CSS学习笔记CSS学习笔记

    希沃白板学习笔记.pdf

    希沃白板学习笔记.pdf希沃白板学习笔记.pdf希沃白板学习笔记.pdf希沃白板学习笔记.pdf希沃白板学习笔记.pdf希沃白板学习笔记.pdf希沃白板学习笔记.pdf希沃白板学习笔记.pdf希沃白板学习笔记.pdf

    Springcloud学习笔记.md

    Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...

    CCNA学习笔记 CCNA学习笔记

    CCNA学习笔记 CCNA学习笔记 CCNA学习笔记

    人工智能学习笔记,人工智能学习笔记

    人工智能学习笔记,人工智能学习笔记,人工智能学习笔记人工智能学习笔记,人工智能学习笔记,人工智能学习笔记人工智能学习笔记,人工智能学习笔记,人工智能学习笔记人工智能学习笔记,人工智能学习笔记,人工智能...

    一个java基础项目(学习笔记).zip

    一个java基础项目(学习笔记).zip一个java基础项目(学习笔记).zip一个java基础项目(学习笔记).zip一个java基础项目(学习笔记).zip一个java基础项目(学习笔记).zip一个java基础项目(学习笔记).zip一个java基础项目...

    云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-基于ssm的云的学习笔记系统-ssm-java代码

    云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...

    云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-基于Web的云的学习笔记系统设计与实现-java代码

    云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...

    contiki 学习笔记

    Contiki学习笔记:启动一个进程process_start Contiki学习笔记:系统进程etimer_process Contiki学习笔记:深入理解process_run函数 Contiki 进阶学习: Contiki学习笔记:新事件产生及事件处理 Contiki学习笔记:...

    nginx学习笔记(软件+学习笔记)

    nginx学习笔记(软件+学习笔记) 仅供学习交流! 后续会持续分享相关资源,记得关注哦! nginx学习笔记(软件+学习笔记) 仅供学习交流! 后续会持续分享相关资源,记得关注哦! nginx学习笔记(软件+学习笔记) ...

Global site tag (gtag.js) - Google Analytics