Only those who have the patience to do simple things perfectly ever acquire the skill to do difficult things easily. 只有那些有耐心将小事做好的人才能掌握轻而易举完成难事的技巧。 ——Friedrich Schiller
上一节实现了Timeline, 点击某条记录,进入新的Activity,观看更详细的信息,实现的功能有:
- 加载中等大小的图片
- 显示地理位置信息
- 加载评论
- 转发、评论、收藏
预览图如下:
上面是微博信息,跟Timeline的差不多,layout布局稍作调整,其中图片显示为中等大小的图片,根据地理位置经纬度参数,插入Google地图。
中间位置是评论信息,放在ListView里,那么就遇到了滚动问题,本博客有篇小文 千万不要把Listview放在ScrollView里 描述了这种情况,那么这里也使用MergeAdapter,把不同的view合在一块。
最下边的位置,提供快速回复,方便输入。
那么转发、评论、收藏放在ActionBar即可,因为不是常用的功能。
完成了这些,到这里先打住,定时的回头自己给自己做 code review,删除没用的代码,要下狠心清理掉垃圾代码,对代码有洁癖感。顺便提一提实际开发过程中需要注意的,这些是初学开发者累犯的错误,有的甚至是有经验的工程师,平时对自己要求不严,就容易犯下这样的错误。
调试Log信息
插入调试信息,输入 aaaaaaaaa, bbbbbbbbbbbbbbbbb, —————— 1111111111111111111 222222222222222 这样没有规范的调试log。千万不要偷懒,再这样下去,别人看到你的代码,显得不够专业,是业余水平。而且不要烂使用 System.out.println 函数,统一使用 Android 提供的Log 方法,无论是哪个手机操作系统或者其他大型的系统,都有自己封装的Log函数,一致的使用只有好处没有坏处。这里问题又来了,有的使用一律使用Log.e 插入调试信息,问ta为什么?ta说醒目啊,一看都是红色的,令人哭笑不得。
语言国际化及文件编码
有的图省事在代码直接写入赤裸裸的中文,后期老板要求发个英文版的,才搞得很抓狂,狂修改,又引入新的bug,情绪很低落,真是恨铁不成钢啊。Windows 程序员习惯了gbk,压根儿没考虑到自己的代码会放在Linux/Mac 上,别的同事一看,擦,都是乱码!提醒下在eclipse把文件编码改为UTF-8,一个团队各有在Windows,Linux, Mac环境下工作很正常。
严谨,切记
讲个真实的故事,我们团队一工程师平时在代码注释里喜欢写shit, fuck之类的言语,程序员发泄嘛,可以理解。有次上线的版本,已经传到了国内各大电子市场,测试才发现打开应用有shit字样,老板暴跳如雷。赶紧fix掉,发布新版本,强制升级。这个字样在svn最新代码库里已经没有了,编译时没有及时更新代码到最新版本,导致悲剧发生。