bir android yazılımcısı olarak sana şunu söyleyeyim android java daki o xml mantığı sayesinde programlarını
mvc yapısına uygun kodluyorsun.tasarım bir yerde kod bir yerde diye özetleyebilirim.bunun yanında XML dosyaları sayesinde çoklu dil desteği gibi bir olayı hiç kodlama bilgisi olmadan yapma şansın oluyor.çünkü bütün değişkenler ve değerleri tek dosyada tutuyorsun.
hard coded bir yazılım yapmak istiyorsan strings.xml dosyasını kullanman gerekmiyor direkt değişkenden sonra yazabilirsin.
ikincisi için cevap vereyim android'in yapısını beğenmeyen birisi bence spring framework'e hiç bulaşmasın derim.kurcaladığım kadarıyla neredeyse herşey xml springframework'te .gelişmek için Socket programlamaya yoğunlaşabilirsin.ya da içerik yönetim sistemleri yazmaya çalışabilirsin.
crud yapacaksan sqlite , mysql işini fazlasıyla görür ha biraz daha gelişmiş birşeyler yapacaksan postgresql baya baya sağlam geliyor.oracle'a bence bulaşma kurması kullanması tooları vs herşeyi ayrı bir dert bir.bırakalım o işi veritabancılar yapsın =)