http://blog.csdn.net/top_code/article/details/10198247 http://blog.csdn.net/xiaanming/article/details/12684155