Какими навыками я должен обладать и какой язык программирования нужно выучить, чтобы создавать приложения для Android?
Создание Android-приложения сводится к знанию Java и XML. Java используется для описания алгоритма работы программы и взаимодействия компонентов программы. XML нужен для создания интерфейса (экранов) приложения (расположение кнопок, текстовых полей и т. д.). Если провести аналогию, то создание приложений под Android чем-то похоже на создание сайта, только вместо HTML используется XML, а вместо PHP и JavaScript используется Java. Кстати, Java и JavaScript — это абсолютно разные языки программирования с разными областями применения.
Если вы знаете HTML,CSS, JavaScript и вам лень учить Java, то вы можете создавать приложения под все платформы (Android, iOS, WindowsPhone, BlackBerry) одновременно с помощью специальных фреймворков таких как PhoneGap или Appcelerator Titanium (сравнение фреймворков можно посмотреть здесь). Любителям C# может подойти Xamarin. Но все же я советую изучать именно Java и XML, т. к. они являются «родными» для Android, а описанные выше решения имеют определенные недостатки (иногда существенные) и значительно уступают по возможностям родному Android SDK фреймворку .
Если вы все же решили начать программировать под Android, советую вам посетить эту страницу.