The first time I read Android developer docs, there was something that was unclear to me : what resource to put in which XML file.
In this article, I will focus on resources in res/values and give some hints about how to name your XML resource files and what kind of resource to put inside.
...
In my case I had only one or two arrays of strings so it was overwhelming to put them in a separate file just because they were of a different type.
Another problem was accessing constant values from both XML layout and Java code. They are constant strings for internal use only, but in order to avoid duplicate declarations I decided to make them available as XML resources. I wanted those resources to be clearly separated from other, 'user visible', resources like GUI labels.
Another thing adding to the fog was the fact that, in derivate files (e.g. strings-fr.xml is derivated from strings.xml), you only want to find values relevant for the given file.
For instance, if you put all values of type 'string' in the same file but only a part of them should be internationalized, you would have a gap between the original and derivated files not only by the translated values but also by the list of values they declare. When coming back to the project after a long time, you might have a hard time remembering why there is this gap.
...