Нативная разработка мобильных приложений



Download 3,69 Mb.
Pdf ko'rish
bet117/228
Sana21.07.2022
Hajmi3,69 Mb.
#834838
1   ...   113   114   115   116   117   118   119   120   ...   228
Bog'liq
Нативная разработка мобильных приложений

Принять
и 
Отменить
, чтобы пользователь мог принять или отменить 
предложенную операцию:


Android 

175
Java
new AlertDialog.Builder(context).setMessage(R.string.my_message)
.setTitle(R.string.my_title)
.setPositiveButton(R.string.my_accept_string, 
(d, id) -> Log.d("MyTag", "Accepted!"))
.setNegativeButton(R.string.my_cancel_string, 
(d, id) -> Log.d("MyTag", "Cancelled!"))
.create().show();
Kotlin
AlertDialog.Builder(context).setMessage(R.string.my_message)
.setTitle(R.string.my_title)
.setPositiveButton(R.string.my_accept_string, 
{ d, id -> Log.d("MyTag", "Accepted!") })
.setNegativeButton(R.string.my_cancel_string, 
{ d, id -> Log.d("MyTag", "Cancelled!") })
.create().show()
За дополнительной информацией о диалогах обращайтесь к документации 
для разработчиков (
https://oreil.ly/­VXCz
).
Изменение строки состояния
В Android строка состояния (status bar) – это самая верхняя область экрана, где 
находится информация о системе, такая как время, уровень заряда батареи, 
состояние сети и т. д. Системная информация обычно отображается в правой 
половине в этой верхней панели, а слева обычно выводится информация уров
-
ня приложения, чаще в форме маленьких значков. Эти значки известны как 
значки «уведомлений» и обычно соответствуют экземплярам 
Notification

представляющим пользовательский интерфейс, который существует за преде
-
лами приложения, и, как правило, состоят из коротких сообщений, но также 
могут включать в себя интерактивные элементы. Например, завершив загруз
-
ку, приложение может создать уведомление 
Notification
c сообщением для 
пользователя и значком в строке состояния, чтобы пользователь мог открыть 
это сообщение позже. К сообщению также можно приложить некоторые дей
-
ствия, такие как открытие в интерфейсе приложения загруженного элемента 
или списка загрузок. Класс 
Notification
обладает полным набором функций, но, 
пожалуй, не настолько интуитивным, как некоторые из инструментов, обсуж
-
давшихся выше.
Также обратите внимание, что 
Notification
несколько раз кардинально ме
-
нялся в процессе развития AOSP. Основные изменения были внесены в ОС An
-
droid версии 5, а также в версии 8. В этой главе рассматриваются только самые 
основы, а за информацией об остальных возможностях, как обычно, обращай
-
тесь к документации для разработчиков (
https://oreil.ly/wGqyn
).
Следующий пример иллюстрирует использование 
Notification
посред
-
ством библиотеки 
compat
(не забудьте добавить зависимость от 
com.android.
support:supportcompat:xx.xx.xx
):


176

Обратная связь с пользователем
Java
private static final int CHANNEL_ID = 1;
private static final int NOTIFICATION_ID = 1;
...
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(R.drawable.my_notification_icon)
.setContentTitle("Title")
.setContentText("Message body.")
.setPriority(NotificationCompat.PRIORITY_DEFAULT);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(NOTIFICATION_ID, builder.build());
Kotlin
const val CHANNEL_ID = 1
const val NOTIFICATION_ID = 1
...
val builder = NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(R.drawable.my_notification_icon)
.setContentTitle("Title")
.setContentText("Message body.")
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
val notificationManager = NotificationManagerCompat.from(this)
notificationManager.notify(NOTIFICATION_ID, builder.build())
Чтобы запустить 
Ac ti vi ty
, когда пользователь коснется уведомления, ис
-
пользуйте класс 
PendingIntent
:
Java
Intent intent = new Intent(this, DownloadsAc ti vi ty.class);
PendingIntent pendingIntent = PendingIntent.getAc ti vi ty(context, 0, intent, 0);
Kotlin
val intent = Intent(this, DownloadsAc ti vi ty::class)
val pendingIntent = PendingIntent.getAc ti vi ty(context, 0, intent, 0)
Добавьте его в построитель перед вызовом 
build
:
Java
builder.setContentIntent(pendingIntent);
Kotlin
builder.contentIntent = pendingIntent
За дополнительной информацией обращайтесь к документации (
https://
oreil
.ly/rcuYz
).
Эти встроенные механизмы обратной связи с пользователями могут способство
-
вать повышению удобства использования приложений. Например, встроенная 
диа логовая система с кнопками 

Download 3,69 Mb.

Do'stlaringiz bilan baham:
1   ...   113   114   115   116   117   118   119   120   ...   228




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