http://blog.csdn.net/zuiwuyuan/article/details/48552701 http://blog.csdn.net/jdsjlzx/article/details/51861460