Android. Программирование для профессионалов. 4-е издание


null fun initialize(context: Context) {



Download 21,53 Mb.
Pdf ko'rish
bet178/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   174   175   176   177   178   179   180   181   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner

null


fun initialize(context: Context) {
if (INSTANCE == null) {
INSTANCE =
CrimeRepository(context)
}
}
fun get(): CrimeRepository {
return INSTANCE ?:
 
 
 
 
 
 
 
 
 
 
 
 
throw
IllegalStateException("CrimeRepository must be
initialized")
}
}
}
CrimeRepository
— это одноэлементный класс (синглтон).
Это означает, что в вашем процессе приложения
единовременно существует только один его экземпляр.
Синглтон существует до тех пор, пока приложение
находится в памяти, поэтому хранение в нем любых свойств
позволяет получить к ним доступ в течение жизненного цикла
вашей activity и фрагмента. Будьте осторожны с синглтонами,
так как они уничтожаются, когда Android удаляет приложение
из памяти.
Синглтон 
CrimeRepository
не 
подходит 
для
долговременного хранения данных. Вместо этого он выдает
данные о преступлении и дает возможность легко передавать
эти данные между классами контроллера.
Чтобы класс 
CrimeRepository
стал синглтоном, нужно
добавить две функции в сопутствующий объект. Одна из них


будет инициализировать новый экземпляр в репозиторий, а
другая обеспечивать к нему доступ. Вы также можете пометить
конструктор как приватный, чтобы убедиться в отсутствии
компонентов, которые могут пойти против системы и создать
собственный экземпляр.
Функция запроса будет работать не очень хорошо, если не
вызвать перед ней функцию 
Initialize()
. Она выбросит
исключение 
IllegalState 
Exception
, так что вам нужно
обязательно инициализировать репозиторий при запуске
приложения.
Чтобы выполнить работу, как только приложение будет
готово, вы можете создать подкласс 
Application
. Он позволит
вам получить информацию о жизненном цикле самого
приложения. Создайте класс 
CriminalIntentApplication
,
который расширяет 
Application
и переопределяет функцию
Application.onCreate()
для инициализации репозитория.

Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   174   175   176   177   178   179   180   181   ...   485




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish