Does the app changes to the language of the country downloaded by the
user and without changing by user manually?
Application language is based on User's phone language. If a user has French as default language then your application will look for locale string file in value-fr. Let's say user's default language on phone is Chinese and you don't provide locale file for Chinese then it will fall back to default locale in values folder.
Can we change the language based on any web service? (Back end admin
panel). If the admin choose Spanish the language should change
accordingly.
Yes, you can force a specific locale yourself in the app. (Change language programmatically in Android)
If string localization is only way, How I can change the dynamic
values retrieved from web services?
First you check in the application what is user's default language, then when calling web service that returns dynamic values pass language identifier (like en, fr etc). Now in your service now you can return dynamic values in user's default language.