咕咚

2016 - Here I Am

博客更新日志随想

今天终于有时间可以更新一下博客了。 之前,一次偶然的机会,在网上看到黄玄的博客,也就是现在自己博客的风格,第一眼便喜欢上了这种风格,不论是大背景的 Header 还是侧边栏的设计,都是自己非常喜欢的设计,但是苦于自己前端能力薄弱,自从去年选择了一个 Jekyll 的主题后,能做的也只是一些简单的修建,如果要按照自己的想法去设计一些个性化的 feature 还是太难了。直到遇到这个博客风格,...

ButterKnife 使用介绍

首先说点关于这篇文章的题外话。 公司项目重构,我建议老大使用 ButterKnife,因为自己使用了很久,而且自己跟周边的同事演示了一下 ButterKnife 的功能,都觉得很赞,所以就想自己要不彻底调研一次 ButterKnife,包括用法以及源码。 最终我给组长的结果是 这东西可用,也没有什么太大的性能问题,但是最终还是被老大给 kill 掉了,后来也没有理论过老大,好吧,那就继续...

使用 RxJava 重构一段判断逻辑

这么晚了我还在给咕咚翻译加在线发音功能!!还好有音乐作陪… 其实实现发音很简单,金山的 API 支持单词发音。访问 http://dict-co.iciba.com/api/dictionary.php?type=json&w=nice&key=3BE8E8ACA43FDA088E52EC05FA8FA203 即可在返回单词解释的同时,返回单词的发音 URL,如下所示,自...

使用 CheckStyle 检查代码

前言 最近在看廖祜秋的下拉刷新项目 android-Ultra-Pull-To-Refresh,就在今天做了一些精简操作后,准备加入项目准备使用时,发现 lib 根目录下有一个 checkstyle.xml 文件,很好奇它是干什么的,后来 Google 后,原来这东西可以用来检查代码,随即查询了一些资料,把它用了起来,下面简单记录下。 用途 先不说如何配置,先说它有什么用。 Andr...

Handler 之 ThreadLocal 相关

在上一篇文章Handler 之 源码解析中介绍 Handler 与 Looper 的关系时,半路出现了 ThreadLocal 这个类,他是什么呢,本想在 Handler 源码解析一文一起阐述了, 但是觉得这样篇幅太长,不好,况且他又是一个相对独立的概念,这里就把它单独拿出来,结合任玉刚的Android的消息机制之ThreadLocal的工作原理博文,为自己总结归纳下 ThreadLocal...

Handler 之 源码解析

上一篇博客Handler 之 初识及简单应用中介绍了 Handler 的作用,以及 Handler 的基本用法,同时也详细介绍了为什么子线程不能更新 UI 的原因,但是因为篇幅原因,所以对 Handler 的内部机制并没有展开叙述。这篇文章就从 Handler 开始解析与之相关的源码,从而更好的理解 Handler 以及 Looper MessageQueue。 Handler 机制 写...

Handler 之 初识及简单应用

这篇文章主要讲解和记录自己对 Handler 的理解。因为一开始接触 Android 就接触到了 Handler,所以对 handler 的了解应该比较多,加上项目中在消息传递以及异步控制方面都要用到 Handler。自己也不止一遍的看过 Handler 源码,不过每次看的时候都能明白,但是时间久了,就很容易忘记。所以这次就有了这个 Handler 系列。从 Handler 的使用场景,到具...

关于咕咚翻译

咕咚翻译是自己最近开发的一个实现『划词翻译』功能的 Android 应用 ,可能是目前 Android 市场上翻译效率最高的一款应用。 示意图 项目地址 目前咕咚翻译已经开源到了 Github ,咕咚翻译,欢迎 star ,如果有 bug 或者更好的意见可以提 issue. 下载 如果想第一时间体验,可点击下载链接 缘起 自己经常在手机上会阅读一些英文的技术 blog 或者文档,...

跨进程数据共享问题及解决方案

最近在开发咕咚翻译时,在偏好设置的过程中,出现了一个莫名其妙的 bug,在 A 进程中设置偏好设置后,B 进程不能及时访问到 A 进程中设置的数据,今晚终于得到解决,随即做一次简单的记录。 咕咚翻译 这里先简单介绍下咕咚翻译这个 App,如名字所言,它主要的功能是翻译,不过相比其他的翻译软件,他的翻译效率更高。 因为它实现了手机端的”划词翻译”,只要你在手机上复制了任何英文内容,他都会监...

关于个人项目

作品展示画廊,有图有真相。链接 关于个人项目 从一开始工作,自己就是个比较爱动手的开发者,喜欢将自己的想法变(编)成(程)具体可以看见的东西,做东西的过程也是一个学习的过程。 因为自己的作品可以随意加入各种最新的知识点,所以这也是一个很好的体验新技术的方法. 并且自己做的东西,还可能帮助到别人,给别人带来便利,何乐而不为。 尽管我知道,做一个好用的东西,其实还是挺不容易的,因为好...