Я хотел бы расширить приложение в своем приложении для Android. Я сделал это так, что создал расширенный объект приложения под названием MyApplication и добавил его в манифест.Расширение приложения
Теперь я хотел бы добавить некоторые геттеры и сеттеры для хранения информации. Похоже, мне нужно передать приложение Context любым классам, которые не содержат контекста.
Например, скажем, я создаю класс под названием MyObject (в отдельном файле Java):
public class MyObject {
public void doStuff() {
// do stuff
}
}
Как я могу получить доступ к MyApplication из DoStuff()? Похоже, мне нужно передать приложение Context в MyObject. Это типично? Есть ли возможность утечки?
Кроме того, чтобы убедиться, что я свободен, будет ли MyApplication (и переменные внутри) жить на протяжении всего жизненного цикла приложения или нет? В любом случае это хорошо. Я просто хочу убедиться, что я объясню это, если мне нужно.
И, наконец, любые ссылки на источник примера, чтобы показать, какие приложения, расширяющие приложение, полезны, были бы оценены.
Благодарим за отзыв. Я делаю большую часть своей тяжелой работы в IntentService (где у меня есть доступ к Контексту приложения), и большинство других вызовов моих глобальных данных будут изнутри Activities; поэтому я думаю, что все будет в порядке. В других местах (например, в моем примере OP) я могу просто передать данные. – Andrew
Я пытался получить ссылку на мой объект MyApplication в классе, который не был активным, поэтому я не мог использовать типичную (MyApplication) this.getApplication(). Именно здесь ваш совет очень помог, я просто передал контекст и получил ссылку на MyApplication, спасибо TON! – Soham