I would like to create a multilingual android application.
Is there a way to detect what language the user prefers?
Is there a recommended way to manage multiple languages on Android or should I reinvent the wheel?
Yes, there is a recommended way to manage multiple languages
Multilanguage support is easy done for android. Create a new values directory for the language with the suffix of the language code. For german: values-de or french: values-fr than copy your string.xml into that and translate each entry. Thats all you need.
Providing you follow the recommendations, detecting which language the user prefers is automatic.
Have a read of this:
http://developer.android.com/guide/topics/resources/localization.html