demo's  source code for my blog: http://blog.csdn.net/housisong