It's recommend to use the method from Jave, but your way is also possible.
Create for every language element in /res/values/strings.xml. You can set and select the chosen language with shared preferences. The file to select the chosen language is something like this:
TextView tv = (TextView) getViewById(R.id.textviewid);
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean language = getPrefs.getString("language", "en");
if(language == "en") tv.setText(this.getString(R.string.en));
if(language == "nl") tv.setText(this.getString(R.string.nl));
if(language == "de") tv.setText(this.getString(R.string.de));
You have to make a layout for the page to choose a language by yourself. The java to set the language preference is something like this. I've used a textview to keep it simple, but it's recommend to change it to a dropdown menu orso. And you have to put this on a place where it checks it after clicking a button orso.
EditText lang = (EditText) findViewById(R.id.etId);
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Editor editor = someData.edit();
editor.putString("language", lang.getText().toString());
editor.commit();
I haven't tested anything, so it can contain errors. If it does show errors and you don't know how to fix it I would like to help you.
I'm sorry for my bad English
//EDIT:
The strings.xml should look like this:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources>
<string name="en">Hello! This is the text!</string>
<string name="nl">Hallo! Dit is de tekst!</string>
....
</resources>