我的 2015

很久就计划要写一篇总结 2015 年的文章,一直到现在,还有几个小时就到 2016 年了,才开始写,可见拖延症越来越严重了。这样的图每年都会出现,确实也戳中了很多人,也包括我。

当我静下来想写一些东西的时候,竟然想不起我这一年干了些啥。

今年的工作比较稳定,工作上的事情还算顺利。

很早就计划用博客来记录技术学习,用微博来记录小知识点。博客只有这一年坚持了下来,一共写了 80 多篇,平均每周一到两篇,也收到不少的关注或者点击,我自己在这件事情中受益很大,很多时候会翻阅自己以前的文章来解决或者帮助别人解决问题。微博的关注者从几百到现在九千多,也是一个奇迹。

今年,开始在 GitHub 上发布开源项目,FlyRefreshZhiHuDaily-React-Native 都接近了 2k 的 star,开始几天竟然冲到了 Trending 总榜第一。能得到很多人的认同,也有不少未曾谋面的朋友发来邮件交流和指出问题。倍感荣幸的同时,也逐渐意识到需要写好每一行代码。

因为比较宅,接触新朋友的机会比较少,今年却非常开心的事情认识了一群很有趣的朋友。因为“教父”大头鬼的带路,进入了一个活跃的技术圈子,秋百万组织两次线下活动,认识了很多大神,他们自信、风趣、聪明、热情、勤奋,都是我努力的方向。

参加北京 GDG DevFest 2015,第一次作为讲师在公开场合做分享。活动中的,感受到了大家对技术的尊敬和热情,志趣相投的朋友在一起沟通起来就是非常自然和愉快。但是在准备阶段几次几乎要放弃,在老婆的鼓励下,给她试讲很多遍,完全不懂技术的她,后来竟然能够顺利讲下来。非常感谢你的陪伴。

今年也有不少遗憾。感觉一直在忙,每天都很累,身体也明显感觉差了不少,经常是累到回家后话都不想说。和家人联系也少了很多,承诺一年一次旅行也没有成行。

明年的计划:

  • 一次远途的旅行 (5 月中旬美国 Google I/O,端午节木兰围场草原)
  • 读完 20 本书 (《简约之美-软件设计之道》、《人类简史》、《Kotlin for android Developers》、《七周七语言》、《算法(第四版)》、《DOOM启世录》、《Effective Java 英文版》(在读)、《一个人的朝圣》)
  • 健身
  • 认真写博客

Read more

Android 上的低功耗蓝牙实践

这是我在 Droidcon Beijing 2016 和 GDG Devfest 2016 上做的分享,以下是正文: Slide 01 我今天分享的主题是 Android 上低功耗蓝牙的实践。这个主题比较小众。我在过去的一年多的时间里,主要是在做低功耗蓝牙相关的开发。接触过程中发现,BLE 的开发和通常的 Android APP 的开发有点不一样,这里需要访问硬件资源,而且涉及到一些协议相关的内容,而且这方面的资料也比较少。今天我从 Android 开发者的角度,来分享一下低功耗蓝牙开发实践。 Slide 02 今天分享的内容,主要包含如下几个部分:首先对蓝牙和低功耗蓝牙做一个简单的介绍;然后介绍 Android 上对低功耗蓝牙的支持;再介绍一下在 Android 平台上可以开发哪些低功耗蓝牙应用;然后是,开发过程中,可以帮助我们调试的工具;最后,总结一下所谓的 “最佳实践”,低功耗蓝牙开发的一些小经验。 Slide

By Race604

React Native 触摸事件处理详解

触控是移动设备的核心功能,也移动应用交互的基础,Android 和 iOS 各自都有完善的触摸事件处理机制。React Native(以下简称 RN)提供了一套统一的处理方式,能够方便的处理界面中组件的触摸事件、用户手势等。本文尝试介绍 RN 中触摸事件处理。 1. RN 基本触摸组件 RN 的组件除了 Text,其他组件默认是不支持点击事件,也不能响应基本触摸事件,所以 RN 中提供了几个直接处理响应事件的组件,基本上能够满大部分的点击处理需求TouchableHighlight, TouchableNativeFeedback, TouchableOpacity 和 TouchableWithoutFeedback。因为这几个组件的功能和使用方法基本类似,只是 Touch 的反馈效果不一样,所以一般我们用 Touchable** 代替。Touchable** 有如下几个回调方法: * onPressIn:点击开始; * onPressOut:点击结束或者离开; * onPress:单击事件回调; * onLongPress:长按事件回调。 它们的基本使用方法如下,

By Race604

React Native 中 ScrollView 性能探究

1 基本使用 ScrollView 是 React Native(后面简称:RN) 中最常见的组件之一。理解 ScrollView 的原理,有利于写出高性能的 RN 应用。 ScrollView 的基本使用也非常简单,如下: <ScrollView> <Child1 /> <Child2 /> ... </ScrollView> 它和 View 组件一样,可以包含一个或者多个子组件。对子组件的布局可以是垂直或者水平的,通过属性 horizontal=true/false 来控制。甚至还默认支持“下拉”刷新操作。另外还有一个特别赞的特性,超出屏幕的 View 会自动被移除,从而节省资源和提高绘制效率。我们来看如下一个例子: class

By Race604

30 天入门 Android 开发, Google 与你一起圆梦

经常会有朋友让我推荐 Android 开发入门的教程或者视频,我一直是推荐看官方的教程。大部分人或者觉得比较迷茫,或者觉得坚持不下去。这次推荐这个《30 天入门 Android 开发》是 Google 亲自发起的免费教学,以学习小组方式,大家可以一起学习和交流。一个好的开始,是成功的一半。让 Google 工程师带领你一起进入多彩的 Android 开发大门。点击这里 报名。 Android 设备已经随处可见,你想尝试一下在 Android 设备上的开发和创新吗?快来跟随 Google 的步伐,一起学习 Android 入门课吧! Google Study Jams 活动介绍 Study Jams 是一个学习 Google 在线课程的活动。该活动由学员自主发起课程学习小组,带领小组成员入门 Android 开发,最终将

By Race604