自从迁移至Hexo后,就开始折腾评论系统,现目前有比较多的评论系统,如disqus
、来必力
、gitment
等等, 经过一番比较,选择了老牌的评论系统disqus
,用起来还是非常不错的。但是用了一段时间,由于disqus需要科学上网才能使用,对于国内的用户不太友好,于是乎开始寻找其他的解决方案,找到了一些可以自己搭建的博客系统,发现多多少少不能满足需求,最终还是决定自己来造个轮子,方便自己管理评论系统,又可以保证数据不丢失。于是利用空闲时间,花了些时间折腾出了colina,一款轻量、简单易用、支持Markdown的评论系统。
在Linux下进行开发工作(三)
在Linux下进行开发工作(二)
在Linux下进行开发工作(一)
之前在做嵌入式开发时,经常会使用到Linux,但都是使用的虚拟机来安装Linux,然后在Windows上通过ssh连接,使用的命令行方式,并未使用Linux当桌面。后来做Android开发后,基本是在Windows下进行开发工作的,部分Linux下的命令工具可以通过mingw来使用,但终究还是不如直接在Linux下来得方便。年中的时候,入手了一台新本,开始折腾起来Linux,选择的是Manjaro发行版的Mate Desktop,几个桌面版本尝试后,最终选择了Mate。Manjaro是Arch Linux衍生版,但是简化了安装过程,几乎是一键安装,省去了Arch Linux的繁琐配置,但却拥有Arch Linux同样丰富的软件库。折腾过程中遇到不少问题,都通过各种google解决了,如果没准备好用Linux作为日常开发桌面,千万不要尝试 : )。
从Jekyll迁移到Hexo
自上次更新博客以来已超过2年,其一是工作太忙,其二主要是因为自己太懒,不过这其间学习非常多的新知识。最近新增了几个项目之后,发现已经太久没更新博客,同时感觉jekyll用起来还是不够舒服,经过一番google,找到hexo,hexo原理和jekyll差不多,但是代码块高亮直接使用的markdown的语法,无需像jekyll那样的高亮语法,又找了个简洁的主题hexo-theme-next,于是折腾起hexo来,至于为什么不去折腾hugo,主要是因为找了半天主题没找到满意的,遂放弃了。hexo的使用可以参见官网的步骤,非常的详细,大致记录一下迁移过程。
使用UrlQuerySanitizer来处理url
网上对于UrlQuerySanitizer的资料比较少,这个是Android提供的一个用来处理url的API。由于项目的需要,需要对url的query参数进行排序,因此需要解析url并处理query参数。
使用MediaSessionCompat来实现Media Button的监听
在API21之前,如果想实现线控,则只需要使用:1
AudioManager.reregisterMediaButtonEventReceiver(ComponentName eventReceiver)
即可,但是最近更新SDK之后发现这个API已经废弃掉了,推荐使用MediaSession来代替。
Error: The output jar is empty. Did you specify the proper '-keep' options
最近在写个小工具混淆Android lib包,用到了proguard命令行的方式,结果出现Error: The output jar is empty. Did you specify the proper '-keep' options
的错误。”出现这个错误是因为我这里混淆的lib包里面所有方法都没有调用,所以输入类全被压缩移除,导致没有输出。解决这个问题很简单,只需要加上-dontshrink
就可以了。
Android AppWidget中实现动画效果
最近在写AppWidget的时候,想实现一个淡入的动画效果,由于AppWidget只支持几种view并且没有提供实现动画的方法,折腾了很久发现只有使用LayoutAnimation可以勉强实现动画效果。
Java中计算字符串以及文件的hash值
Android开发中常常会使用到hash值,字符串的hash用的比较多,一般用于字段、存储的key等等,文件的hash一般用于校验文件的正确性,记录下最简单的方式。
Linux c语言一些字符串操作函数的实现
c语言对字符串的操作函数有很多都没有实现,比如java中的trim、indexOf、substring等等,于是就动手实现了几个字符串操作函数,以备以后开发中使用。