У меня есть класс, который расширяет приложение в приложении Android tabHost. В классе App я размещаю методы и переменные, которые в противном случае мне нужно было бы заново создавать в каждом классе. Один метод читает из БД и сохраняет результаты в ArrayList (например, имя, фамилия). Вместо того, чтобы перечитывать эту базу данных и заново создавать код для каждой вкладки, для которой нужна информация, я поместил метод и ArrayList в класс, расширяющий Application (myAppClass). Таким образом, установив mAC = (myAppClass) getApplicationContext()
из любого представления вкладок в onCreate (), я могу ссылаться на все методы get .. () и set .. () в myAppClass.
Мой первоначальный план состоял в том, чтобы использовать общий класс со статическими методами и переменными, но я прочитал много потоков "не делай этого", поэтому решил пойти по пути приложения. Теперь я столкнулся с ситуацией, когда я пытаюсь использовать myAppClass в библиотеке проектов, но получаю ошибки о android.app.Application cannot be cast to...
Если я изменю myAppClass обратно на статические методы / переменные (и не расширяю приложение), все работает, но это должен быть большим нет-нет. Есть ли другой способ сделать это? Не уверен, что Android передает все по ссылке, но лучше ли мне заново реализовать все приложение, передавая огромные (тысячи объектов / членов) списки ArrayLists назад и вперед между методами / классами?