天下网吧 >> 网吧系统 >> 系统动态 >> 正文

安卓应用开发老司机的18条忠告

2016-11-23不详佚名
在Gradle编译上浪费差不多一个小时。

但是,总有加速的办法。

你可以照着这篇以及这篇文章的做法显著提高编译速度。经过优化之后我的编译时间从4分钟降到了30秒钟。

12. 测试,测试,再测试!

没有什么比测试更重要的了。它应该是你的首要任务。

尽可能全面的测试你的app。花时间写自动化测试用例,创造各种极端的条件,看看你的app是否能经受住考验。

我曾经犯过未经充分测试就发布app的错误。等用户报告bug然后修复。

绝对不要那样做。你可能通过砍掉测试时间而节省了一两天或者一周,但是以后你很可能会花双倍的时间。

做任何事都要不慌不忙,从容应对并长远打算。做一个有远见的人。此时播种,以后总会有收获。

13. 安卓的碎片化是魔鬼

碎片化可能是安卓最大的问题了。而谷歌似乎并不愿意修复它,你必须适应。

安卓设备种类繁多,不同屏幕尺寸,不同硬件配置以及各个厂商的自定义系统。

除此之外,谷歌在不同版本上还莫名其妙的添加或者删除API,进一步加重了你的工作量。

比如,几乎每个开发者都需要使用SharedPreferences API来完成一个app,它是如此常见,但是在Android 2.2版本的Samsung Galaxy S 上还是出问题了。

安卓应用开发老司机的18条忠告

花更多的时间为不同屏幕尺寸的设备创建不同的布局。在不同版本,不同定制,不同OEM厂商的设备上测试。

永远别觉得某个东西看似可行就不去测试了。

14. 从今天开始使用git!

如果你还没有使用Git,从现在开始吧。

当我开始安卓开发的时候,悲剧的我并不知道git是什么东西。我每天都拷贝整个项目,一个备份在硬盘上,一个备份在云盘上。看起来很傻是吗?是的,的确很傻。

Git可以极大的提高你的工作效率。如果叫我说出一个我每天都要使用并且离不开的工具的名字,那就是Git了。

在你使用几天之后,你很可能会爱上它,并好奇Git的内部工作原理。建议你看看这个。

过了一段时间之后,你可能开始了一个大项目,对于如何维护一个分支模型感到困惑,那么可以看看这个。

15. 为黑客制造麻烦

安卓的开源特性让其易受攻击。每个安卓app都可以轻易的被反编译,逆向分析。

你不希望你的app发生这种事对吧?

你需要知道如何安全的存储app中的API keys。如果你要处理用户的敏感数据,你必须知道如何加密,选择何种加密算法(安全且快速)。

你还应该安全的把密钥存储在本地或者服务器上。应该防止app数据被人用ADB备份。如果你在数据库中存储敏感数据,要考虑做适当的伪装。

如果你的app有高级版本,被别人破解免费发布就损失大了。

有几种方法可以避免你的app被人篡改。但并不是100%安全。任何一个技术扎实,决心坚决的黑客只要有正确的资源,工具和耐心都可以破解你的app。

你能做的就是尽量让黑客的破解变得困难,及其困难。

16. 在低端手机上开发

每个人都喜欢使用一个高端安卓手机,我也是。但是记得只作为个人使用,而不是开发的目的。

高端机会隐藏app的许多缺陷。假设你在UI线程上做了导致卡顿的事情,但是因为手机过于强大,可能导致你无法察觉。

安卓应用开发老司机的18条忠告

17. 学习设计模式

这是一项终生受益的投资。

在开发大型app的时候,你会遇到一些已经被比你牛逼的人所解决了的问题。

从今天开始就花点时间去学习设计模式。Here是一个演示了所有已知设计模式的的Github项目。

可以从最常见的开始,比如单例,适配器模式,工厂方法模式,迭代模式,依赖注入模式,事件驱动架构,建造者模式,回调,策略模式,外观模式以及生产消费者模式。

看起来很多是吧?实际上并不多。一旦深入你就会爱上它们的。

18. 回馈

你得承认,我们都曾从别人和互联网那得到许多帮助。

安卓应用开发老司机的18条忠告

每当你遇到问题的时候,你会做的第一件事就是谷歌,发现第一条来自StackOverflow的链接。有时候你很忙,结果直接拷贝粘贴得分最高的答案。

你有没有想过Github上那些开源库其实也是别人花时间创建然后贡献给社区的。

当你被一个难以理解的概念卡住或者遇到一个新的东西时,你发现一篇让你豁然开朗的博客,这个时候记住是某人牺牲了约炮时间而写了这篇文章。

所以也该你回馈了。给予的越多,得到的也就越多。

我们都忙于自己的工作,很难找到时间为别人做什么事情。但是尽量每周找点时间做点贡献让安卓社区更丰富。

我已经分享了自己短暂的安卓生涯中所学到的一些东西。我将继续下去,学更多,分享更多。希望能为别人的生活带来微小的帮助。

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下