Методические указания по выполнению лабораторных работ по дисциплине «программирование мобильных устройств»


Использование уведомлений Toast в рабочих потоках



Pdf көрінісі
бет10/30
Дата20.10.2023
өлшемі3,51 Mb.
#186972
түріМетодические указания
1   ...   6   7   8   9   10   11   12   13   ...   30
Байланысты:
15.-Metod LR Programmirovanie-mobil nyh-ustroistv 09.03.02 2021
1-Зертхана, Linux3lab (1)
Использование уведомлений Toast в рабочих потоках 
Как элемент графического интерфейса Toast должен быть вызван в потоке 
GUI, иначе существует риск выброса межпотокового исключения. 
private void mainProcessing() { 
Thread thread = new Thread(null, doBackgroundThreadProcessing, "Background"); 
thread.start(); 

private Runnable doBackgroundThreadProcessing = new Runnable() { public void run() { 
backgroundThreadProcessing(); 

}; 
private void backgroundThreadProcessing() { handler.post(doUpdateGUI); 

65 


//
Объект Runnable, который вызывает метод из потока GUI private 
Runnable doUpdateGUI = new Runnable() { public void run() { 
Context context = getApplicationContext(); String msg = "To open mobile development!"; int 
duration = Toast.LENGTH_SHORT; Toast.makeText(context, msg,duration).show(); 

}; 
В листинге объект Handler используется для гарантии того, чтоуведомление 
Toast было вызвано в потоке GUI. 
Вопросы: 
1. 
Перечислите варианты при разработке приложения под ОС
Android, в 
которых использование уведомлений Toast оправдано. 
2.
Можно ли сделать отображение Toast уведомления на базе собственной 
разметки? Каким классом этообеспечивается?
3.
Каким параметром регулируется время отображения уведомления
наэкране? 
Лабораторная работа 7. Уведомления / pushnotification 
Уведомление – это сообщение, которое выводится поверх любого от- крытого 
приложения. Изначально часть уведомления появляется в отдельном контейнере 
сверху экрана либо в виде ярлыка в области уведомлений. Чтобы посмотреть 
полную информацию об обновлении, пользователю необходимо открыть панель 
уведомлений. Данные уведомления имеют больший приоритет важности в 
сравнении с всплывающими уведомлениями, поэтому будут зафиксированы в 
панели уведомлений до тех пор, пока пользователь не предпримет решения, что 
делать с уведомлением. 
Стилизация уведомления описывается в объекте NotificationCompat.Builder. 
Чтобы создать уведомление, необходимо вызвать NotificationCompat.Builder.build(), 
который вернет объект Notification, содержащий описанные нами спецификации. 
Для отображения уведомления объект Notification передается в систему путем 
вызова метода NotificationManager.notify(), куда первым параметром необходимо 
66 


передать уникальный ID, вторым параметром – созданное уведомление. 
Объект Notification должен содержать три элемента: 

небольшая иконка, задается с помощью методаsetSmallIcon();



заголовок уведомления, задается с помощью метода setContentTitle();



текст уведомления, задается с помощью методаsetContentText().

Создадим простое уведомление, которое имеет в качестве иконки иконку 
приложения, особый текст и заголовок (рис. 7.1). 
NotificationCompat.Builder mBuilder = (NotificationCompat.Builder) 
new NotificationCompat.Builder(this) 
.setSmallIcon(R.mipmap.
ic_launcher

.setContentTitle("Title notification") 
.setContentText("Text
notification");
NotificationManager
mNotificationManager 
=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
mNotificationManager.notify(NOTIFY_ID, mBuilder.build()); 
Рис. 7.1. 
Отображение простого
 
Push-уведомления на панели уведомлений 


Достарыңызбен бөлісу:
1   ...   6   7   8   9   10   11   12   13   ...   30




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет