LatinIME学习-Latin

        Latin是android输入法框架一个InputMethodService实现类,类整体还是很简单的,执行过程已经android封装的接口限定好了。

        之前移植输入法到电视上面,核心修改就是修改onKeyDown()和onLongPress()。android框架决定,所有键值都会先分发到输入法中,所以就可以通过记录界面的当前状态,结合键值,做出

        一个假焦点的效果,达到移植的目的。


 

模板方法&&工具类

      private final TreeSet<Long> mCurrentlyPressedHardwareKeys = CollectionUtils.newTreeSet();

public static <E> TreeSet<E> newTreeSet() {
        return new TreeSet<E>();
    }

 

    工具类CollectionUtils中对newTreeSet()的实现

        很简单,使代码看上去很优雅。不会见到很长的new xxx();

        对于模板地使用,还有很多,接着又有一处

        public class StaticInnerHandlerWrapper<T> extends Handler

        public static final class UIHandler extends StaticInnerHandlerWrapper<LatinIME>   

        有很多地方都用到了handle这个结构,这里通过类模板,使整体看上去很规范。

        模板,顾名思义就是可以定义一个类型,这个类型有很多共性,这个共性看起来就是代码结构差不多。比如加法、减法、乘法,都是两个数做运算就可以使用模板

        来定义,除法有点不一样,需要对除数做非零验证。

转载于:https://www.cnblogs.com/mltx/articles/5388062.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值