http://blog.csdn.net/sd4422739/article/details/49865281 http://blog.csdn.net/walle167/article/details/51281199