Can I globally set all Android apps to prefer WiFi for data?
Android does this by default. If you have a connection to the internet via WiFi this will be used by all apps. Android Lollipop added the ability for it to revert to cellular data if the Wireless network you are connected to does not have a connection to the internet. This is signified by an exclamation mark (!) on the WiFi icon in the top right. More information on this can be found here