Главная » Разработка для Android » Знакомство с классом Application в Android

0

Создание собственной реализации класса Application дает возможность:

контролировать состояние приложения;

передавать объекты между программными компонентами;

поддерживать и контролировать ресурсы, которые используются в не- скольких  компонентах  одного приложения.

Вместе с процессом программы создается экземпляр класса Application, который вы описали и зарегистрировали в манифесте. Исходя из этого ваш класс Application по природе синглтон (singleton) и должен регистрироваться соответствующим образом, предоставляя доступ к методам и свойствам.

Наследование и использование класса Application

В листинге 3.7 показан каркас для наследования класса Application и ре- ализации его в качестве синглтона.

Листинг 3.7. Каркас для класса Application

import android.app.Application;

import android.content.res.Configuration;

public class MyApplication extends Application {

private static MyApplication singleton;

// Возвращает экземпляр данного класса

public static MyApplication getInstance() {

return singleton;

}

@Override

public final void onCreate() {

super.onCreate();

singleton = this;

}

}

Создав  новый класс Application,  нужно зарегистрировать его внутри тега <application> в манифесте:

<application android:icon="@drawable/icon"

android:name="MyApplication">

[… Вложенные в манифест теги …]

</application>

При запуске приложения создается экземпляр вашей реализации класса Application.  Добавляйте новые свойства  для хранения  программного со- стояния и глобальных ресурсов, чтобы иметь возможность получить к ним доступ из компонентов  приложения:

MyObject value = MyApplication.getInstance().getGlobalStateValue(); MyApplication.getInstance().setGlobalStateValue(myObjectValue);

Такой подход особенно эффективен при передаче объектов между сла- босвязанными частями вашей программы, а также для контроля за общими ресурсами и состоянием  приложения.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии