Как правильно объявить общий массив для всего приложения?
Сильно не бейте, только начал изучать.
В приложении на Андроид нужен объект для хранения данных, которые должны быть доступны всем активностям. Хранить в БД нет смысла, данные не нужно хранить между запусками.
Правильно ли будет запихать свои данные в класс Singleton, создать свой класс от Application, и в нем вызвать инициализировать Singleton?
Или есть идеологически более правильные варианты?
Ничто не гарантирует сохранность Ваших данных в процессе работы приложения. Процесс может быть убит, вместе со всеми переменными класса Application (или любого другого синглтона). Ваш подход имеет место исключительно в том случае, если данные возможно получить в методе OnCreate подкласса Application.
Лично я бы все данные сохранял в базе, т.к. это нормальная практика в RESTful приложениях (для того же кеширования или офф-лайн работы).