稀有猿诉

十年磨一剑,历炼出锋芒,说话千百句,不如码二行。

Android View 事件派发流程

自从乔帮主横空出世推出了iPhone以来,触控式的操作便成了21世纪智能设备的标准输入方式。对于同是智能操作系统的Android来说,也不例外。事件,特别是触控事件对于移动应用程序开发来说是一个非常重要的,也是开发人猿必须掌握的事情。这里就要讨论一下Android View中的Event系统,重点探讨一下事件的派发流程。

Android View的渲染过程

对于安卓开发猿来说,每天都会跟布局打交道,那么从我们写的一个布局文件,到运行后可视化的视图页面,这么长的时间内到底 发生了啥呢?今天我们就一起来探询这一旅程。

理解安卓的视图体系结构

当我们想要写一个页面的时候,通过一个Activity,然后调用其setContentView方法,把一个布局文件当作一个参数传递过去,然后一个页面就好了,但是除此之外,我们还需要与一些组件打交道,比如像Window,WindowManager,那么这些东西到底 与我们的页面布局有什么关系,今天就来学习一下,以便对整体窗口有个更清楚的认知。

如何玩转安卓源代码

身为一个安卓开发者,除了学习应用开发以外,安卓本身的源码也是必须要玩一玩的,因为安卓系统的源码中还有相当不错的东西值得去学习的。官方的网站(AOSP)就是专门为安卓源码相关而搭建的,换句话说想玩转安卓的源码,看这个网站就可以了。本篇重点讲一讲,如何玩转安卓源码,从环境搭建,到下载源码,到编译,以及源码的学习和查看。

Python字符串编码答疑

Python 2中的字符串分类

在Python 2中字符串,有两个类型,一个是str,一个是unicode。str可以理解为ASCII的字符列表,说白了,只能存储ASCII字符,如果赋个中文值,会报错;而unicode是支持非ASCII字符的。这个与C语言中的字符非常类似char[]只能存ASCII字符串,而wchar[]才可以存储Unidcode字符串。

Python 2升级到Python 3的指导建议

“Life is short, we must upgrade to Python 3”

Python是一个非常好用的工具语言,哪怕主业中用不到它,到处可见到一些非常实用的小的工具都是用Python来写的,即使再小的工具,也要做到小而美,这是工匠精神的体现。在社区里面Python 2已经停止开发新功能了,仅维护并修复一些bug,未来也将会停止维护,有些平台已经默认用python3了。除非有些无法替换的依赖必须强制使用Python 2以外,建议要升级到Python 3。本篇记录一些朕在升级到Python 3时遇到的一些问题,也即升级的时候的一些指导提示。

年轻人的第一篇OpenGL ES 2.0教程

Before we go

在高性能graphics领域,特别是3D graphics领域,OpenGL无疑是目前的最佳选择,虽然,现在有很多集成度高的三方的库或者SDK,但是学习一下OpenGL仍然是非常有好处的,你可以了解基本的computer graphics的概念,这会让你在使用它们的时候更加的从容。

OpenGL是一个跨平台的高性能3D渲染API,OpenGL ES是它的嵌入式平台版本。

我们即将踏上学习OpenGL ES 2.0之旅,主要针对于Android平台,会有一系列文章来分享学习OpenGL ES的总结。

主要编程语言将使用Kotlin,对于Kotlin还不熟悉的同学可以先看前面的介绍实例来快速的熟悉一下。

Kotlin实战学习:撸一个程序猿老黄历

Talk is cheap, let’s code

前面一篇文章介绍Kotlin的基础知识,但光有知识是不够的,最重要的是要能在实战中使用Kotlin,这才不枉我们学习一回。这里就用纯Kotlin来开发一个简单的Android应用,以展示如何在实际项目中使用Kotlin。

走上Kotlin开发之路

在前面文章的尾部,我们展示了如何创建一个基于Kotlin安卓应用,但是过于简单,因为仅是代码换成了Kotlin,布局还是在用XML,这并没有用到Kotlin的全部。为了更加方便的开发Android应用,发挥Kotlin语言的巨大优势,JetBrains在发布Kotlin的同时,也发布一个专门用于Android开发的配套的库Anko,它最大的优势就是以DSL的方式来创建UI,下面我们来介绍一下Anko。

学习Kotlin,看这一篇就够了

人生苦短,要用Kotlin

这是一种对程序猿更为友好的语言,可以减少开发者的工作量,原本由开发者干的事情,其实很多都可以由编译器实现了,这是一种更为高级的语言。Java虽然严谨,但却过于繁琐,太啰嗦了,一个小事情却要写大量的代码,而且有些代码又是非常机械式的,在实际编码过程中都是用IDE来自动生成。Java,C,C++,Object C这些都是上世纪的编程语言。

现在到了新时代了,编程也发展了很多,像lambda表达式,函数式编程,等等一些新的概念和范式在涌现。所以就有了新时代的编程语言,像水果的Swift,Groovy,Scala,以及Java阵营的Kotlin。Kotlin是新一代的编程语言,与Java完美融合,简洁,方便,可以大大提高程序可读性,特别是对于Android开发者来说。水果推出了Swift以解放水果平台的开发者,而Kotlin就是来解放Android开发者的。