转载文章,Android开发过程中的经验总结。原文链接
遵循以下准则,避免重复发明轮子。若您对开发iOS或Windows Phone 有兴趣,
请看iOS Good PracticesWindows client Good Practices 这两篇文章。

摘要

  • 使用 Gradle 和它推荐的工程结构
  • 把密码和敏感数据放在gradle.properties
  • 不要自己写 HTTP 客户端,使用Volley或OkHttp库
  • 使用Jackson库解析JSON数据
  • 避免使用Guava同时使用一些类库来避免65k method limit(一个Android程序中最多能执行65536个方法)
  • 使用 Fragments来呈现UI视图
  • 使用 Activities 只是为了管理 Fragments
  • Layout 布局是 XMLs代码,组织好它们
  • 在layoutout XMLs布局时,使用styles文件来避免使用重复的属性
  • 使用多个style文件来避免单一的一个大style文件
  • 保持你的colors.xml 简短DRY(不要重复自己),只是定义调色板
  • 总是使用dimens.xml DRY(不要重复自己),定义通用常数
  • 不要做一个深层次的ViewGroup
  • 在使用WebViews时避免在客户端做处理,当心内存泄露
  • 使用Robolectric单元测试,Robotium 做UI测试
  • 使用Genymotion 作为你的模拟器
  • 总是使用ProGuard 和 DexGuard混淆来项目

阅读全文

本博客的所链接的文章不全是原创。很多是写的非常好的博客。所以本博客主要是收集Android开发教程优秀的博客。以下是推荐初学者学习和了解Android开发的的链接

阅读全文

最近一直用android studio 进行开发,在开发和发版的时候,遇到一个多渠道打包的问题,由于公司里是有七个渠道的包进行分发,由于每次去AndroidManifest.xml修改渠道的值,甚是麻烦。。。

最后去google了一番,发现有些方法,是在gradle文件里切换各种不同的AndroidManifest.xml文件,感觉这样也太麻烦些了。。。后面搜索了些,发些大家写得都差不多,发现一个在gradle利用manifestPlaceholders这个属性来替换渠道值的方法,但我按照这个方法,没有成功,我就去扒官方的文档才彻底搞定。下面就讲讲怎么实现的吧。

阅读全文

摘自《边城》沈从文

我只想造希腊小庙。选山地做基础,用坚硬石头堆砌它。精致,结实,匀称,形体虽小而不纤巧,是我的理想的建筑,这庙里供奉的是‘人性’。”

阅读全文

最近再次看了姜戎的《狼图腾》,以下是从书中摘录的笔记精彩的文段。

所有人的祖先都是猎人,猎人是人类在这世界上扮演的第一个角色,也是扮演时间最长的一个角色。


农耕民族可能早已在几十代上百代的时间里,被粮食蔬菜农作物喂养得像绵羊一样怯懦了,早已失去炎黄游牧先祖的血性,不仅猎性无存,反而成为列强猎取的对象。

阅读全文