稀有猿诉

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

从手机丢失看数据安全

手机在现代生活中扮演重要角色,里面有大量的隐私和数据,手机银行,支付宝等都能操作个人的财产,所以手机的安全也越来越重要,一旦手机丢失,造成的不仅仅是一部手机的损失,还可能造成隐私的泄露,重要数据的丢失以及财产的损失。

手机丢失后应该做的事情

2015年1月28日下班,晚上七点左右在挤公交车,可能上车时,手机(红米Note)被偷,由于平日里都是骑自行车上下班,只是偶尔遇到不好的天气才会坐公交,刚好那天是2015年的第一场雪,下了一天多没停,不方便骑车,所以就坐公交,正值下班时人又多又挤,估计是上车时被小偷钻了空子。

先是打了个电话,确认手机的状态,因为也有可能是忘在公司了。电话关机,可以确认被偷。然后马上采取安全补救措施:

训服你的Mac

天下武功唯快不破,提升效率是提升战斗力的唯一途径,而一个舒适且高效的开发环境是保证效率的重要方面,对于习惯了Windows和Linux的人来说,习惯使用Mac还是需要一定的时间的,这是就总结一些,如何配置并习惯Mac。

Introduction to Swift

Swift是水果平台新引进的一个开发语言,可以用它来取代Objective-C来开发Mac OS X以及iOS上面的应用程序。这门语言引入了大量的具有时代气息的新型编程语言特性,具有动态语言的简洁方便,是未来的发展方向。这是一门新的语言,今年六月才问世,所以如果今天开始学习Swift,三五年后,孤将是“有着五年经验的Swift砖家”了,错过了C,C++,Java,Python等,这回可以跟所有人站在同一起跑线上了。

下载并编译CyanogenMod源代码

CyanogenMod是除了Android官方源码之外的最受欢迎的Android的一个分支,它是干净,几乎接近原生Android,且方便为设备进行定制,在编译和制作ROM上面较原生有很大改进,是开发者学习源码和自己制作ROM的最佳选择。

官方网站在这里.

repo在这里.

环境说明,本次所有操作都是在Ubuntu 12.04(Precise)里面进行的。另外需要说明的是,我的环境访问谷歌和谷歌相关的服务都是没有问题的,关于如何访问谷歌可以参考这位牛人写的博客

让Android模拟器飞一会

Android模拟器是公认的慢,而且不是一般的慢,即使在高性能的PC上,跟开发环境没关系,因为它就是慢。但是我们又必须使用模拟器,比如在测试Android不同版本的兼容性时,或者在测试不同屏幕尺寸的UI显示问题时,都是需要的。当然我们还是鼓励使用一个真机来调试和测试,模拟器无法取代真机。但是在测试兼容性时,我们还是要使用模拟器,因为即使是BAT也不可能把各种版本,各种屏幕的Android手机都买一个。

不断更新,保持高效

正所谓学历代表过去,学习力代表未来。柯维大师的七个习惯之中的终极习惯就是要“不断更新”,今天的你再牛B,知道的再,如果不去学习,不去提升,不去更新自己,那么总有一天也会被超越,时代在进步,别人在进步,发逆水行舟,不进则退,你停止了学习,就表明你退步了,因为别人在进步。 那么,为了保持能够高效的进行Android开发,我们就必须不断的学习,不断的充电,这些列出一些,能够提高Android开发的进阶教程,注意是进阶教程,而非入门教程。

适配多屏幕的最佳实践

对于Android应用开发来讲,比较头疼的,也是比较重要的一个工作就是要尽可能多的支持市场上的Android设备,由于Android的开放性,各种奇奇怪怪的设备都有,符合标准的,不符合标准的,行货,水货,山寨货鱼龙混杂,防不胜防。为了让我们的应用能够得到尽可能多的用户,我们就必须能让应用以超强的适应性,以能在混乱的手机里生存。而适配设备,GUI屏幕的适配又是重中之中,如果用户都无法正确的看到你的UI页面,那还用个毛线啊!

之前曾经写过一篇文章,介绍了一下子如何使用dimen资源来适配多屏幕,随着Android版本的演进,有些概念已经过时,需要重新整理一下。

其实对于多屏幕适配,一个核心的原则就是要对布局做好抽象的分离,把可变与不可变分开,把与屏幕相关的尺度dimen写在单独的dimen文件中,然后使用引用。如果不这样做,就会造成更多的代码重复。

如何有效的减少重复的代码

重复的代码一直都是可维护性的大敌,重构的重要任务之一也就是要去除掉重复的代码,有效的减少重复代码,可以大大提高软件的扩展性。

在Android开发中,很容易产生重复的代码。因为Android是组件,模板式开发,每个页面都是独立用Activity或Fragment实现,布局文件都是用XML方式去写,所以很容易造成代码的重复,虽然二个页长的差不多,但毕竟是二个Activity,于是就拷一份出来,改吧改吧就成了。

那么我们如何做才能去掉重复的代码呢?

使用工具来提升Android开发效率

正所谓工欲善其事,必先利其器。学习并应用优秀的轮子,可以让我们跑的更快,走的更远。这里所指的工具是广义的,泛指能帮助我们开发的东西,或者能提高我们效率的东西,包括:开发工具,监测工具,第三方代码库等。

优质的第三方开源类库