http://blog.csdn.net/edifierliu/article/details/5868804 http://blog.csdn.net/superying/article/details/7894005