View的三次measure,两次layout和一次draw

 我在《Android视图结构》这篇文章中已经描述了Activity,WindowView在视图架构方面的关系。前天,我突然想到为什么在setContentView中能够调用findViewById函数?View那时不是还没有被加载,测量,布局和绘制啊。然后就搜索了相关的条目,发现findViewById只需要在inflate结束之后就可以。于是,我整理了Activity生命周期和View的生命周期的关系,并再次做一下总结。

 为了节约你的时间,本篇文章的主要内容为:

  • Activity的生命周期和它包含的View的生命周期的关系
  • Activity初始化时View为什么会三次measure,两次layout但只一次draw?
Read More
Share

重要的是商业,不是应用(Building a bussiness, not an app)

本文是翻译文章,原文地址如下:地址。转载请表明原文作者地址。

 导读:两个例子:Unread是很流行的RSS app,开发者每个月赚1750刀,还不如去找份工作;Pleco是给老外学汉语的app,界面不算精致,但赚的盆满钵满

 过去几周来独立开发者对应用商店的焦虑之潮再次袭来,并且比以往来的更加猛烈。导致这次焦虑之潮的主要原因有:手游金卡戴珊:好莱坞今年收入将要达到两亿美元;与之相反的是Brent Simmos在博文中表示现在似乎并没有多少独立iOS开发者(我认为这篇博文开始了这次讨论;Simmos的博客也包括了随之而来的参与这次讨论的博文的摘要)
 焦虑之潮在Jared Sinclair公布他开发的RSS阅读器Unread的销售数据时达到了最高点:

Read More
Share

Android 图像处理(一) : Shader

 之前一段时间,我都在研究Android自定义View的相关知识,随着逐渐的深入,渐渐了解到了一些Android图像处理的知识,主要是Bitmap,Canvas,Shader,Matric,ColorFilterXfermode的使用。所以准备写一系列文章介绍一下这些方面的知识。

图像处理相关概念介绍

 要想了解Shader的概念,首先要了解Android图像处理中几个比较重要的概念:bitmap,canvas,drawing primitive,paint。需要注意的是,上述四个词并不指android中的类,而是四个概念。
 bitmap指画布。画家画图时都需要一块画布,然后才会在画布上绘制各种形状和颜色,Android中的Bitmap就有画布的功能。比如下面这段代码。


    static Bitmap makeSrc(int w,int h) {

Read More
Share

Android Span 进阶

 在上篇文章《Android Span 架构介绍》,我们讲述了Android Span的基本概念和用法,这篇文章我们就来扩展一下我们对Android Span的了解,这一定会使你感到惊奇的,惊叹Android Span竟然还能完成这些的效果,让你在Android自定义View和动画方面有更加深刻的理解,可能会帮助你你想出更加简洁的实现方式。
 本篇文章主要讲述一下两个方面的内容:

  • 自定义Android Span
  • 使用Android Span实现动画

Read More
Share

Android Span 架构介绍

 前几天在微博上看到一个人评论Android Span机制相当强大,有必要细心研究一下,于是就google了一下,发现了一篇很好的文章Spans, a Powerful Concept.,然后以这篇文章为基础研究了一下Android Span的用法。于是决定写几篇文章来总结一下。

Android Span 介绍

 对于Span,大家首先想起的应用场景就是同一个TextView中显示不同颜色的字体。对于这种需求,我们会用到ForegroundColorSpan

ForegroundColorSpan span = new ForegroundColorSpan(Color.RED);
SpannableString spannableString = new SpannableString(CONTENT);

Read More
Share

自定义Switch过程详解

作者: remcarpediem
联系方式:segmentfaultcsdn简书

本文转载请注明作者、文章来源,链接,版权归作者所有。

 前段时间,我看到了一篇关于Android动画的文章Android View 仿iOS SwitchButton Material Design,十分喜欢文章作者的笔风,可惜每个人的笔风都不同,不过我倒是实现了一个类似的Switch组件,项目地址为https://github.com/ztelur/FunSwitch,就用这篇文章来讲述一下实现过程和机制吧。

Read More
Share

Python文件系统相关API总结

 前段时间毕业,然后希望在上研究生之前实习两个月赚点生活费,可是被公司拒掉了,所以只得回家继续苦练内功。我准备利用暑假的时间学习一下python,主要方便以后写一些自动化脚本。
 首先,我就开始用python进行文件系统的相关操作,比如文件和文件夹的新添,移动,删除,遍历。在这里总结一下,便于以后查阅。

 为了节约你的时间,本文内容如下所示:

  • os模块与文件相关的API
  • shutil模块的相关API
Read More
Share

TCP/IP协议详解(二):建立和关闭连接

作者: remcarpediem
联系方式:segmentfaultcsdn简书

本文转载请注明作者、文章来源,链接,版权归作者所有。

 看了酷壳网站上的《TCP 的那些事儿》系列文章,有一点很受启发:锻炼一下自己是否使用较少的篇幅将TCP协议讲解清楚。一般的同学写博文,可能像摊大饼一样,篇幅较多并且罗嗦。我以前写文章时也是这个习惯,所以希望在以后的博文写作过程中,尽量使用比较短的篇幅来讲完想要讲的内容。
 为了节约你的时间,本片文章主要讲解一下内容:

Read More
Share

TCP/IP详解阅读笔记(一):TCP协议

作者: remcarpediem
联系方式:segmentfaultcsdn简书

本文转载请注明作者、文章来源,链接,版权归作者所有。

 前段时间提交了本科毕业论文,这段时间特别空闲,于是希望研究一些基础性的技术,比如网络和编译原理。于是就找来《TCP/IP协议详解》来看,并做一些笔记,记录一下感悟或在重点。
 为了节约你的时间,本文主要内容为:

Read More
Share

Python中的plisttext和HTTP的Content-Type

 这段时间本人在学习Android Service相关的内容,临时需要一个可以提供文件上传和下载功能的服务器,于是上网查找了一个简单服务器的python实现代码,本着温顾一下HTTP协议的想法,于是深入研究了一下其中的代码,发现大家对SimpleHTTPRequestsHandler中的self.headers.plisttext.split("=")[1]语句的含义不是很理解,于是自己查阅了一下python源码定义和相关HTTP协议文档,理解了这段代码的含义。

源码定义

 我们先来看一下关于plisttext的源码定义。

#https://svn.python.org/projects/python/branches/alpha100/Lib/mimetools.py
class Message(rfc822.Message):

Read More
Share