You'll have to set up an API on your server which will tell your app if new updates are available. This API has to be checked periodically. If there is a new update, then this can be downloaded and installed and the original one uninstalled.
Another way is to use Google Cloud Messaging. You can set it up such that your app will get notification from your server when an update is available and then you can do as earlier.
Have a look at this thread to see how to uninstall and install packages:
install / uninstall APKs programmatically (PackageManager vs Intents)
If you don't wanna uninstall/install manually, then you can use this excellent package from CommonsWare:
https://github.com/commonsguy/cwac-updater
If you wanna use a framework then there are many options:
http://hockeykit.net/index.html
http://launchpadapp.com/
http://www.appaloosa-store.com/
http://www.apphance.com/