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



Download 21,53 Mb.
Pdf ko'rish
bet242/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   238   239   240   241   242   243   244   245   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner

data != null -> {
val contactUri: Uri? =
data.data
// Указать, для каких полей ваш
запрос должен возвращать значения.
val queryFields =
arrayOf(ContactsContract.Contacts.DISPLAY_NAME)
// Выполняемый здесь запрос —
contactUri похож на предложение "where"
val cursor =
requireActivity().contentResolver
.query(contactUri,
queryFields, null, null, null)
cursor?.use {
// Verify cursor contains
at least one result
if (it.count == 0) {
return
}
// Первый столбец первой
строки данных —
// это имя вашего
подозреваемого.
it.moveToFirst()
val suspect =
it.getString(0)


crime.suspect = suspect
crimeDetailViewModel.saveCr
ime(crime)
suspectButton.text =
suspect
}
}
}
}
...
}
В листинге 15.13 создается запрос всех отображаемых имен
контактов в возвращенных данных. Затем вы запрашиваете
базу данных контактов и получаете объект 
Cursor
, с которым
мы работаем. После проверки того, что возвращенный курсор
содержит хотя бы одну строку, вы вызываете функцию
Cursor.moveToFirst()
для перемещения курсора в первую
строку. 
Наконец, 
вы 
вызываете 
функцию
Cursor.getString(Int)
для перемещения содержимого
первого столбца в виде строки. Эта строка будет именем
подозреваемого, и вы используете ее для установки
подозреваемого в преступлении и текста для кнопки 
CHOOSE
SUSPECT
.
Вы также сохраняете информацию о преступлении в базу
данных, как только получаете данные о подозреваемом. Это
нужно сделать потому, что при возобновлении 
CrimeFragment
вызывается функция 
onViewCreated(...)
, и вы запросите
преступление 
из 
базы 
данных. 
Но 
функция
onActivityResult(...)
вызывается 
перед
onViewCreated(...)
, так что при получении названия
преступления из базы данных оно запишет в преступление


информацию о подозреваемом. Чтобы не потерять данные о
подозреваемом, вы записываете преступление вместе с
подозреваемым.
Теперь информация будет сохранена в базе данных.
CrimeFragment
все равно сначала получит старую
информацию о преступлении, но 
LiveData
будет сразу
уведомляться о новом преступлении, как только обновление
будет завершено.
Через мгновение мы запустим приложение. Обязательно
запускайте его на устройстве, где есть приложение адресной
книги, — используйте эмулятор, если на вашем Android-
устройстве его нет. Если вы используете эмулятор, добавьте
несколько контактов с помощью своего приложения адресной
книги, прежде чем запускать CriminalIntent. Затем запустите
приложение.
Выберите подозреваемого. Имя подозреваемого, которого
вы выбрали, должно появиться на кнопке 
CHOOSE SUSPECT
.
Затем отправьте отчет о преступлении. Имя подозреваемого
должно появиться в отчете о преступлении (рис. 15.6).

Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   238   239   240   241   242   243   244   245   ...   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