Android高效率编码-findViewById()的蜕变-注解,泛型,反射

本文深入探讨了Android开发中findViewById()方法的优化途径,包括泛型、注解和反射技术的应用,旨在提高开发效率与代码可读性。通过实例演示如何利用这些高级特性简化控件查找过程,同时介绍了AndroidAnnotations框架,以及如何通过插件实现findViewById()的自动化生成。

Android高效率编码-findViewById()的蜕变-注解,泛型,反射


Android的老朋友findViewById()篇!

先看看他每天是在干什么

    //好吧,很多重复的,只不过想表达项目里确实有很多控件
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.laft_drawer);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.laft_drawer);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.laft_drawer);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.laft_drawer);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.laft_drawer);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

1.泛型

//自己定义一个方法
public <T> T $(int viewID) {
    return (T) findViewById(viewID);
}
然后使用的时候是这个样子的,其实就是简化了一个findViewById()罢了
    mDrawerLayout = $(R.id.drawer_layout);
    mDrawerList = $(R.id.laft_drawer);
    mDrawerLayout = $(R.id.drawer_layout);
    mDrawerList = $(R.id.laft_drawer);
    mDrawerLayout = $(R.id.drawer_layout);
    mDrawerList = $(R.id.laft_drawer); 

2.注解

注解的方法现在很流行,而且很多开源框架已经支持注解了,我就以Android Annotations框架为例,当然他不光只是能注解控件,还能做更多的事情,比如事件绑定,异步线程与UI线程的交互等…

这里提供一个架包的下载地址:http://download.csdn.net/detail/qq_26787115/9362755

初始化控件
    //初始化控件
    @ViewById(R.id.button1)
    private Button button1;

    @ViewById(R.id.button1)
    private Button button2;

    @ViewById(R.id.editText1)
    private EditText editText1;

3.反射

其实Android studio 上插件是可以一键生成findViewById的,详情可以看我的博文:http://blog.csdn.net/qq_26787115/article/details/50242501

反射、注解总会降低效率, 在Android Studio开发环境下,只需输入一个f 就会智能提示出findviewbyid了,十分方便,而且用插件一键生成,也省事!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘某人程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值