http://blog.csdn.net/cuichengjie/article/details/40478491 http://blog.csdn.net/sinat_30162391/article/details/51085651