V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
3rdFaust
V2EX  ›  Android

用了 ButterKnife 有什么好处呢?

  •  
  •   3rdFaust · 2018-07-18 06:01:20 +08:00 · 3198 次点击
    这是一个创建于 1198 天前的主题,其中的信息可能已经有所发展或是发生改变。
    @BindView @OnClick 这两个我用了用,但是 ButterKnife 的潜力不止这个吧?一般什么情况下 ButterKnife 会比较有用呢?
    12 条回复    2018-07-26 14:52:45 +08:00
    chengyiqun
        1
    chengyiqun   2018-07-18 09:00:00 +08:00
    当然是在控件比较多的时候,减轻工作量的,同时保持代码整洁。要不然,一堆 findViewbyId 比较碍眼。AS 有插件,可以根据 setContentView 里面的 xml 文件生成 ButterKnife 代码。
    kwanzaa
        2
    kwanzaa   2018-07-18 10:01:26 +08:00
    kotlinx 了解一下
    3rdFaust
        3
    3rdFaust   2018-07-18 11:29:47 +08:00
    @yinbowu95 我听说 kotlin 是从俄国人那弄来的失传的秘籍,是真的么?
    3rdFaust
        4
    3rdFaust   2018-07-18 11:30:16 +08:00
    @chengyiqun 我一直想请教一下,什么样的代码算是整洁呀?
    chengyiqun
        5
    chengyiqun   2018-07-18 12:14:57 +08:00   ❤️ 1
    @3rdFaust 命名规范,层次分明,简约但不失可读性。你可以先看看阿里巴巴 java 开发手册 v1.3.0
    kwanzaa
        6
    kwanzaa   2018-07-18 13:49:37 +08:00
    @3rdFaust kotlin 团队在俄罗斯啊
    3rdFaust
        7
    3rdFaust   2018-07-18 14:16:50 +08:00
    @yinbowu95 我听江湖传说,kotlin 是苏联的失传绝技?还不只是俄罗斯团队。
    vjnjc
        8
    vjnjc   2018-07-18 20:03:21 +08:00 via Android
    方便你看 view 引用和 resource id。
    没了。。。
    3rdFaust
        9
    3rdFaust   2018-07-19 02:41:22 +08:00
    @vjnjc 话说 butterknife 的原理是什么呢?
    vjnjc
        10
    vjnjc   2018-07-19 10:26:55 +08:00 via Android
    在编译的过程生产 xxxx 下划线 viewbind 的类,在 runtime 用 bind 方法调用。
    3rdFaust
        11
    3rdFaust   2018-07-20 08:17:30 +08:00
    @vjnjc 话说 java 的 @和 C 的宏很像呀。
    122006
        12
    122006   2018-07-26 14:52:45 +08:00
    本质就是用 aspectjx 帮你写了 findViewbyId。
    @只是个注解,本身不会有任何执行
    黄油刀改过注解名称已经把招牌弄差了
    试试 databinding 你会发现新天地的
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1246 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:14 · PVG 07:14 · LAX 16:14 · JFK 19:14
    ♥ Do have faith in what you're doing.