Android hace eso de manera automática, si tu llevas activado el wifi y los datos, cuando estes en el rango de una red wifi que tengas memorizada se conecta solo, y deja de usar los datos y cuando sales de la cobertura de la red vuelve a usar los datos.