http://blog.csdn.net/yanzi1225627/article/details/20577059 http://blog.csdn.net/ztp800201/article/details/7322110