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


@Update fun updateCrime(crime: Crime)



Download 21,53 Mb.
Pdf ko'rish
bet204/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   200   201   202   203   204   205   206   207   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner


20sp
3dp
@Update
fun updateCrime(crime: Crime)
@Insert
fun addCrime(crime: Crime)
}
Аннотациям для этих функций не нужно никаких
параметров. Room может сам сгенерировать соответствующую
SQL-команду для этих операций.
В функции 
updateCrime()
используется аннотация
@Update
. Эта функция принимает объект преступления,
используя идентификатор, сохраненный в этом преступлении,
чтобы найти соответствующую строку, а затем обновляет
данные в этой строке, основываясь на новых данных в объекте
преступления.
В функции 
addCrime()
используется аннотация 
@Insert
.
Параметр — это преступ ление, которое вы хотите добавить в
таблицу базы данных.
Теперь добавим в хранилище вызов новых функций вставки
и обновления DAO. Вспомните, что Room автоматически
выполняет запросы к базе данных 
CrimeDao.getCrimes()
и


CrimeDao.getCrime(UUID
в фоновом потоке, потому что эти
функции DAO возвращают 
LiveData
. В этих случаях 
LiveData
обрабатывает пересылку данных и отправляет в ваш основной
поток, чтобы вы могли обновить ваш пользовательский
интерфейс.
Однако Room не будет автоматически запускать
взаимодействие с базой данных для выполнения вставки и
обновления. Вместо этого вам нужно будет явно выполнить
вызовы DAO. Обычный способ сделать это — использовать
исполнителя.
Использование исполнителя
Исполнитель — это объект, который ссылается на поток.
Экземпляр исполнителя имеет функцию, называемую
execute
, которая принимает на выполнение блок кода. Код,
который находится в этом блоке, будет выполняться в любом
потоке, на который ссылается исполнитель.
Мы создадим исполнителя, использующего новый поток,
который всегда будет фоновым. Любой код в блоке будет
выполняться в этом потоке, так что вы сможете безопасно
работать с базой данных в нем.
Вы не можете напрямую реализовать исполнителя в
CrimeDao
, потому что Room генерирует для вас реализацию
функции на основе заданного вами интерфейса. Вместо этого
реализуйте исполнителя в 
CrimeRepository
. Добавьте
свойство исполнителя для хранения ссылки, затем выполните
функции вставки и обновления с помощью исполнителя.

Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   200   201   202   203   204   205   206   207   ...   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