Android开发技术周报 Issue#5
文章
- 
Material Design是Android 5.0系统的重头戏,并在以后App中将成为一种设计标准,而且随着已支持Android 5.0 Lollipop的Nexus 6的开售,Google希望开发者更快的支持Material Design,连续发了3篇文章,来帮助开发者如何在自己的App 中实现Material Design。并表示:expect Winter 2014 to be a big quarter for design on Android. 
- 
子View有一个期望的尺寸大小,父容器有尺寸大小约束,这两方面的约束协调,用来计算View的大小状态。根据父容器的尺寸状态,以及子View的LayoutParams,可以确定子View的大小和状态:MeasureSpec,并要求子View确定自身大小。调用子View的measure()方法,子View的onMeasure()方法也会被执行。子View在onMeasure()方法中,根据父容器给出的尺寸大小和约束,根据自身情况,确定最终的大小。父容器根据子View的确定的大小,最终确定自身大小。 
- 
ScheduledThreadPoolExecutor实现原理 自jdk1.5开始,Java开始提供ScheduledThreadPoolExecutor类来支持周期性任务的调度,在这之前,这些工作需要依靠Timer/TimerTask或者其它第三方工具来完成。但Timer有着不少缺陷,如Timer是单线程模式,调度多个周期性任务时,如果某个任务耗时较久就会影响其它任务的调度;如果某个任务出现异常而没有被catch则可能导致唯一的线程死掉而所有任务都不会再被调度。ScheduledThreadPoolExecutor解决了很多Timer存在的缺陷。 
- 
文章介绍了蘑菇街开源的IM项目Android客户端的整体架构和消息流程。 
- 
Android 命名规范(提高代码可以读性) 
 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的审查和修改过程中就会浪费不少不必要的时间。如果就是我一个人开发,一个人维护的话还好,可是如果一个项目是团队分工合作,这样让你的同事去看你的代码就更加吃力了,因为大家之间的编程方式不一样,所以,在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法,这样对于日后的工作会轻松很多。
代码&开源库
- 
android-GridViewWithHeaderAndFooter 在HeaderGridView的基础上做了更改,可以addHeaderView()和addFooterView()的GridView来了。用法和ListView一样. 
- 
一组自定义的天气图标View库。 
- 
一个漂亮的自定义View。工作原理类似于Seeker。支持API level 11+. 
- 
一个可以加速Android开发的工具库。 
- 
蘑菇街开源的 IM 项目 TeamTalk,包括 Android、iOS、Win、Mac 客户端以及 Server端、管理后台、环境自动部署,大赞!支持文字、音频、图片、表情、文件传输、屏幕振动、分组等,做聊天的同学可以看看. 
- 
Android版的SweetAlert,清新文艺,快意灵动的甜心弹框。 ![image]() 
- 
可以将2个子View之间的可用空间按照指定比例分割的自定义Layout。 
视频
- 
Android DevBytes and Google IO视频 Youtube上的Google IO、跟Android相关的DevBytes、Android Design In Action和跟Android相关的DesignBytes视频,全部是720P的mp4. 包含英文字幕。 
工具
- 
Android Studio 0.9.0 released to the canary channel! 这次发布添加了新版本的Android Gradle plugin 0.14.0,此外,修复了一些bug等。 
- 
一个可以将iOS格式的切图转换为Android格式切图的Python脚本工具。 
设计
工具&资源
- 
21款扩展插件,特别适合网页设计师。这些神器可以让平时复杂繁琐的操作变得更加简单。 
 
                    
                     
                    
                 
                    
                 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号