Data Binding Formatter 的更新

写完第一版的 Data Binding Formatter 后,闲置了快一年,突然我又拾起来更新了下.

使用 IDEA 源码版本查看 Plugin SDK 源码

作为 Java 开发者,看源码是习惯性动作.然而默认情况下,只能看到混淆后的代码.可以按照 JetBrans 的指导将 IDEA 源码附加在 Plugin SDK 上.
值得注意的是,Plugin SDK 依旧需要使用 IDEA 可执行版本,而不能选择源码版本,不然你会得到一片 import 失败的壮观景象(不要问我是怎么知道的)

PSI 相关

PSI 是什么呢?全称是 Program Structure Interface,IDEA 都使用 PSI 表现代码.通过对 PSI 的操作,可以直接修改对应的代码.
有个很好的工具,Tools 下的 PSI viewer,可以查看当前文件的 PSI 组织.不过需要加载至少一个 plugin module 才会显示.可以按照 JetBrans 的指导 强制开启.
Data Binding Formatter 中的 WriterUtil 使用了 增加一整个方法,增加方法的 Annotation,向一个方法内部增加一行语句,增加一个变量等操作.
而且,FieldUtils提供了寻找变量 getter 与 setter 的方法.

Data Binding Formatter

目前 Data Binding Formatter 已经具备了列出所有变量,寻找其 getter 与 setter 判断是否含有 Data Binding 部分.能够自动向现有的 getter 与 setter 增加 Data Binding 部分代码的所有功能.后续可能允许自定义 notifyChange 方法的命名,因为这个明明可能会引发歧义,与其他模板类似的明明冲突.
不过截至目前,Data Binding Formatter 已经比较完善了,可以在各种需要 Data Binding 的地方进行使用www.

Read More

一个挺不错的短链服务

缘起

SSR 支持服务器列表订阅了,Gist 的链接比较长,就想找一个短链服务来用

rebrandly

rebrandly

支持使用 custom domain

在 Domains 页面选择 “New Domain”,然后选择页面最下方的 setup DNS 即可.

后缀支持编辑

如果你提供了自己的域名,那么后缀就可以随你编辑了,只要不和旧的短链重叠即可.
不提供域名也可以编辑,只不过可能你选的短链已经被别人用了.
短链发布后还可以随意编辑和删除

后缀支持emoji

可以使用 your.domain/😘 这样的链接

Read More

为什么我们当初没有选择 Kotlin

今年的 Google I/O 终于钦定了 Kotlin 作为 Android 第二个官方的开发语言. 一年前,我还是实习生的时候,我司就在尝试 Kotlin 了,并运用在了 家校通,赛诚PAD 上.
但是为什么后续的应用没有使用 Kotlin 开发呢?

Read More