• 前言 在很久以前,出于便捷性,用jekyll搭建了静态博客,并从博客园迁移至此;在使用的这几年中也陆续遇到过一些问题,大部分是由于jekyll版本兼容和依赖库变更,导致编译失败; 因此有了今天的迁移到Docker Docker Docker其实已经火了挺久了,但是一直觉得用不着,所以也就没有过多了解,最近通过Docker的官方介绍,产生了利用Docker环境来解决jekyll的潜在编译问题; 我们的目标是,希望维持Jekyll的简洁性,希望环境问题再也不干扰博客的编写,从目前来看,采用D... 更多

  • 前言 图片在在互联网开发中的重要性已经渗入各个角落,而PNG在移动端的普及更不在话下,无论是Android,iOS还是Web端,虽然也有压缩率更好的webp出现,不过webp不在本文讨论范围; 下面一起从PNG的图片格式开始,一步步了解一张PNG都包含哪些内容,以及如何读取相关信息; PNG格式规范 任何文件都有它的格式规范,根据相关资料在PNG之前他的前身其实一种受专利保护的一种LZW压缩算法,PNG是在此基础之上提出来的一种图片格式,全称是Portable Network Graph... 更多

  • 前言 在处理文本日志的时候,经常会需要对一些字符串做处理,比如分割特定块,路径匹配等等。 查找字符串 在过滤日志,源代码匹配时,经常会需要根据关键词检索目标文件; 比如在所有java代码中,查找“public View getView(int”,并将结果重定向到文件内 find . -name *.java | xargs grep "public View getView(int" >$logFile 切割字符串 当我们得到一个文件全路径后,有时会需要截取其中的路径部分,... 更多

  • 前言 SDK提供了很多有用的工具,比如appt。 aapt appt是andorid平台的资源打包工具,全称是Andorid Assets Package Tool。主要用于打包过程,但是因为工具封装的好,平时一般都用不到。最近经常会遇到要查看一个apk的版本信息,正好用到了appt。 查询版本信息 我们都知道manifest,中有version code和version name,当我们通过自动化工具构建出渠道不同apk后,有时候需要验一下这个包的版本信息对不对,防止工具出错; 解决办法很... 更多

  • 前言 在上一篇文章中,分析了计算器键盘面板的相关源码实现,本文将分析的是和键盘面板紧紧相连的输入显示框的实现; 别样的EditText 正如标题中提到的,通过分析我们可以知道,输入显示框用的是EditText,大致效果如下: 注意观察其中的动画,细心的你可能已经发现两点特殊之处: 输入框没有光标; 点击输入框不会调起键盘,只能通过数字面板输入; 显示的文字大小会随着长度而变化; 这几点不一样的地方,在本文将揭开他们的面纱。 自定义输入显示框 首先看看这个EditTe... 更多