Перейти к содержимому

Разработать приложение интерфейс которого представлен на рисунке

  • автор:

Разработка на языке C# приложений с графическим интерфейсом : использование Windows Forms

Алгоритмические языки высокого уровня — это основа и фундамент для разработки сложных информационных комплексов и систем. Эта область знаний имеет как теоретическое направление (процедурный и объектно-ориентированный подход к анализу предметной области), так и практико-ориентированное (синтез информационной системы с помощью инструментов процедурной или объектно-ориентированной разработки). Для усвоения материала учебника необходимы базовые знания и навыки в алгоритмизации и реализации программ на C# на основе объектно-ориентированного подхода. Представленный материал дает как теоретические знания, так и практические навыки по разработке приложений в среде Visual Studio (2005-2017) на языке программирования С#. Предназначен для студентов, обучающихся в бакалавриате по направлениям подготовки 01.03.04 «Прикладная математика», 09.03.02 «Информационные системы и технологии», 09.03.03 «Прикладная информатика».

  • Полная коллекция по информатике и вычислительной технике
  • МИСиС. Информатика
  • Программирование
  • Программирование на C и C++
  • 004: Информационные технологии. Вычислительная техника.
  • 681: Точная механика. Автоматика. Приборостроение
  • ВО — Бакалавриат
  • 01.03.04: Прикладная математика
  • 09.03.01: Информатика и вычислительная техника
  • 09.03.03: Прикладная информатика

Мурадханов, С. Э. Разработка на языке C# приложений с графическим интерфейсом : использование Windows Forms : учебник / С. Э. Мурадханов. — Москва : Изд. Дом НИТУ «МИСиС», 2019. — 396 с. — ISBN 978-5-907061-36-1. — Текст : электронный. — URL: https://znanium.com/catalog/product/1232758 (дата обращения: 30.10.2023). – Режим доступа: по подписке.

Скопировать запись

Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.

Москва 2019 МИНИС ТЕРС ТВО НАУКИ И ВЫСШ ЕГО О Б РА З О ВА Н И Я РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ «МИСиС» ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ Кафедра автоматизированных систем управления С.Э. Мурадханов РАЗРАБОТКА НА ЯЗЫКЕ C# ПРИЛОЖЕНИЙ С ГРАФИЧЕСКИМ ИНТЕРФЕЙСОМ (использование Windows Forms) Учебник Рекомендовано редакционно-издательским советом университета № 2997
УДК 681.3 М91 Р е ц е н з е н т ы : канд. техн. наук, доц. С.В. Никифоров канд. техн. наук, доц. С.В. Громов Мурадханов С.Э. М91 Разработка на языке C# приложений с графическим интерфей- сом (использование Windows Forms): учебник / С.Э. Мурадха- нов. – М. : Изд. Дом НИТУ «МИСиС», 2019. – 396 с. ISBN 978-5-907061-36-1 Алгоритмические языки высокого уровня – это основа и фундамент для разработки сложных информационных комплексов и систем. Эта область знаний имеет как теоретическое направление (процедурный и объектно-ори- ентированный подход к анализу предметной области), так и практико-ориен- тированное (синтез информационной системы с помощью инструментов про- цедурной или объектно-ориентированной разработки). Для усвоения материала учебника необходимы базовые знания и навыки в алгоритмизации и реализации программ на C# на основе объектно-ориенти- рованного подхода. Представленный материал дает как теоретические знания, так и практические навыки по разработке приложений в среде Visual Studio (2005–2017) на языке программирования С#. Предназначен для студентов, обучающихся в бакалавриате по направлени- ям подготовки 01.03.04 «Прикладная математика», 09.03.02 «Информацион- ные системы и технологии», 09.03.03 «Прикладная информатика». УДК 681.3  С.Э. Мурдаханов, 2019 ISBN 978-5-907061-36-1  НИТУ «МИСиС», 2019
Оглавление Предисловие . 7 1. Визуальный интерфейс-приложения Windows Forms . 8 1.1. Описание графического интерфейса . 8 1.1.1.Описание графического интерфейса ОС Windows . 9 1.1.2. Реализация графического интерфейса в .Net. 11 1.1.3. Система координат и единиц измерения. 16 1.1.4. Стандартный тип обработчика события . 17 1.1.5. Взаимодействие пользователя с приложением . 17 1.2. Простое приложение Windows Forms . 19 1.2.1. Структура и состав «пустого» приложения Windows Forms . 20 1.2.3. Приложение, созданное только с помощью кода . 35 1.3. Класс Application ( управление приложением) . 41 1.4. Класс форм Form . 51 1.4.1. Создание и уничтожение формы . 60 1.4.2. Модальные и немодальные формы . 60 1.4.3. Многодокументный интерфейс MDI (Multiple Document Interface) . 61 1.4.4. Стандартные диалоги . 63 2. Основные классы элементов управления . 101 2.1. Кнопки, флажки, переключатели . 101 2.1.1. Класс кнопок Button . 101 2.1.2. Класс флажков CheckBox. 104 2.1.3. Класс переключателей RadioButton . 104 2.2. Метки, индикаторы, ползунки, регуляторы, строки с выбором, окно подсказки. 105 2.2.1. Класс Label (надпись) . 105 2.2.2. Класс LinkLabel (надпись с гиперссылкой) . 106 2.2.3. Класс ProgressBar – индикатор процесса выполнения . 109 2.2.4. Класс TrackBar – ползунок (бегунок) . 110 2.2.5. Классы HScrollBar и VscrollBar – полосы прокрутки . 111 2.2.6. Класс NumericUpDown – числовое поле с выбором . 112 2.2.7. Класс DomainUpDown – текстовое поле с выбором . 113 2.2.8. Класс ToolTip – окно всплывающей подсказки . 114
2.3. Классы текстовых полей TextBox, RichTextBox и MaskedTextBox . 120 2.4. Классы списков ListBox, ComboBox, CheckedListBox . 124 2.5. Классы контейнеров. 131 2.5.1. Класс GroupBox . 132 2.5.2. Класс Panel . 132 2.5.3. Классы FlowLayoutPanel и TableLayoutPanel . 132 2.5.4. Класс SplitContainer . 134 2.5.5. Класс Splitter . 134 2.5.6. Классы страниц с ярлыками TabControl и TabPages . 135 2.5.7. Класс ImageList . 136 2.5.8. Класс PictureBox . 137 2.5.9. Класс PropertyGrid – браузер свойств . 139 2.6. Класс ListView – список с расширенными возможностями . 146 2.7. Класс TreeView – дерево объектов . 184 2.8.1. Класс MonthCalendar – календарь . 207 2.8.2. Класс DateTimePicker – ввод и отображение даты/времени . 208 2.8.3. Класс ErrorProvider – сигнализатор ошибок . 209 2.8.4. Класс HelpProvider – поставщик справочной информации . 212 2.8.5. Класс Notifylcon – извещающая пиктограмма (значок) . 212 2.8.6. Класс Timer – таймер . 213 2.8.7. Класс BackgroundWorker – выполнение действий в потоке . 215 2.9. Меню и инструментальные панели . 226 2.9.1. Класс MenuStrip – компонент для создания меню . 227 2.9.2. Класс ContextMenuStrip – контекстное меню . 230 2.9.3. Класс ToolStrip – панель инструментальных кнопок . 233 2.9.4. Классы StatusStrip, ToolStripManager, ToolStripContainer . 235 2.10. Работа с мышью и клавиатурой . 248 2.10.1. Обработка событий клавиатуры . 248 2.10.2. Обработка событий мыши . 256 3. Использование графики. 292 3.1. Контекст отображения . 293
3.2. Рисование на компоненте управления . 295 3.2.1. Событие Paint для перерисовки клиентской области компонента . 296 3.2.2. Классы описания геометрических объектов – Point, Rectangle, Region . 299 3.3. Классы Graphics и GraphicsPath для работы с графикой . 305 3.4. Инструменты рисования . 321 3.4.1. Класс Сolor – работа с цветом . 321 3.4.2. Класс Pen – работа с перьями . 322 3.4.3. Класс Font – работа со шрифтами . 324 3.5. Класс Brush – работа с кистями . 326 3.5.1. Кисти для сплошной закраски Brush и SolidBrush . 326 3.5.2. Кисть HatchBrush . 326 3.5.3. Кисть TextureBrush. 329 3.5.4. Градиентные кисти LinearGradientBrush и PathGradientBrush . 331 3.6. Методы рисования . 334 3.6.1. Методы DrawLine и DrawLines – рисование линий . 335 3.6.2. Методы DrawRectangle и DrawRectangles – рисование прямоугольников . 338 3.6.3. Метод DrawPolygon – рисование многоугольников . 340 3.6.4. Метод DrawEllipse – рисование эллипсов . 341 3.6.5. Метод DrawArc – рисование сегмента эллипса . 342 3.6.6. Метод DrawPie – рисование замкнутого сегмента эллипса . 343 3.6.7. Методы DrawBezier и DrawBeziers – рисование кривых Безье. 345 3.6.8. Методы DrawCurve, DrawClosedCurve – рисование канонических сплайнов . 346 3.6.9. Методы FillRectangle и FillRectangles – закрашивание прямоугольников . 348 3.6.10. Метод FillPolygon – закрашивание многоугольников . 352 3.6.11. Метод FillEllipse – закрашивание эллипсов . 353 3.6.12. Метод DrawPie – закрашивание сегмента эллипса . 354 3.6.13. Метод FillClosedCurve – закрашивание канонических сплайнов . 356
3.6.14. Метод FillRegion – закрашивание области объекта Region . 358 3.6.15. Метод DrawPath и FillPath – рисование и закрашивание GraphicsPath . 359 3.6.16. Методы работы с растровыми и векторными изображениями . 361 3.6.17. Метод DrawIcon для рисования значков (иконок) . 366 3.6.18. Метод DrawImage для рисования изображений . 367 3.6.19. Методы рисования текста . 379 Библиографический список . 393
ПРЕДИСЛОВИЕ Современное развитие общества предполагает широкое исполь- зование информационных технологий в различных сферах деятель- ности. Знания в области информационных технологий и их умелое использование – сегодня обеспечивают конкурентоспособность спе- циалиста. Учебник предназначен для приобретения компетенций в области алгоритмизации задач и разработки приложений на базе объектно- ориентированного подхода с использованием языка программирова- ния C#, предназначенного для разработки приложений, выполняемых в среде .NET Framework. Приобретаемые при изучении учебника на- выки являются необходимым этапом для дальнейшего изучения воз- можностей платформы Microsoft .NET Framework. Учебник предназначен как для студентов, изучающих программи- рование, так и для желающих самостоятельно освоить язык програм- мирования C#. Книга посвящена основам языка, без знания которых невозможно его практическое применение.
1. ВИЗУ АЛЬНЫЙ ИНТЕРФЕЙС- ПРИЛОЖЕНИЯ WINDOWS FORMS Любое приложение всегда имеет набор средств для взаимодей- ствия с пользователем – интерфейс пользователя. С помощью интер- фейса-приложения пользователь может описать решаемую задачу, выполнить ее решение, сохранить полученные результаты на внеш- нем устройстве. Приложения, использующие графический интерфейс (Graphic User Interface – GUI) называются Windows приложениями (или Windows Forms Application). Для взаимодействия с пользовате- лями они используют класс Form. Так как в платформе .Net все осно- вано на объектно-ориентированном подходе, то графический интер- фейс реализован в виде специальных классов FCL пространства имен System.Windows.Forms. 1.1. Описание графического интерфейса Общая схема приложений, разрабатываемых для операционных систем (ОС) Windows, показана на рис. 1.1. Рис. 1.1. Структура типичного приложения Программа состоит из классов (типов), которые условно разделены на классы, реализующие взаимодействие приложения с пользовате-
лем (интерфейс пользователя), и классы, моделирующие предметную область решаемой задачи. Кроме собственных классов приложение использует классы библиотеки платформы FCL. Результаты работы приложения обычно сохраняются на внешних устройствах, в файлах или базах данных. 1.1.1.Описание графического интерфейса ОС Windows Графический интерфейс пользователя реализует и поддерживает ОС. Основным понятием GUI является «окно» (window), схема кото- рого показана на рис. 1.2. На экране окна представляют собой некото- рые участки (обычно прямоугольные), в которых выполняется ввод и вывод информации и где могут размещаться другие окна (дочерние), с помощью которых выполняется управление программой. Рис. 1.2. Основные элементы окна Созданием и управлением окнами занимается ОС, которая первой получает информацию от всех устройств компьютера (нажатие клави- ши, движение мыши, поступление данных по сети). Обо всех собы- тиях ОС рассылает сообщения приложениям, окна которых являются активными в текущий момент. Для этого во всех Windows приложе- ниях, работающих с окнами, ОС создает специальные коллекции вида FIFO (очереди сообщений), в которые записываются все сообщения о событиях, произошедших в ПК и связанных с окнами данного при-
ложения. Приложение постоянно следит за сообщениями, поступаю- щими в эту очередь, и выполняет их обработку. Окно приложения включает следующие основные части: • строка заголовка окна для размещения стандартных элемен- тов управления окном (системное меню, появляющееся при щелчке на иконке приложения в левой части строки; три системные кноп- ки для свертывания окна, раскрытия окна на весь экран и закрытия окна); • строка меню приложения – набор команд (пунктов меню), при выборе которых приложение будет выполнять различные задачи (строка меню может располагаться в разных частях окна, чаще всего находится в его верхней части); • инструментальные полосы (строки с наборами специальных дочерних окон – элементов управления), с помощью которых также можно вызывать выполнение различных задач приложения (инстру- ментальных полос в интерфейсе приложения может быть много и они могут размещаться в разных частях окна); • клиентская область – часть окна, в которой можно размещать раз- личные элементы графического интер- фейса и выполнять рисование; • строка состояния для вывода сообщений, информирующих пользо- вателя о ходе выполнения приложения при работе с ним. Приложение обычно использу- ет окна, которые можно разделить на группы: • основные окна, которые ис- пользуются для представления всего приложения; они включают основные элементы интерфейса и инициируют создание других окон; • диалоговые окна, которые предназначены для получения инфор- мации и запуска на выполнение раз- личных вспомогательных задач прило- жения;
• элементы управления (control) – дочерние окна, которые исполь- зуются для выполнения элементарных операций по отображению информации (текстовые окна – TextBox, окна со списками строк – ListBox, окна с изображениями PictureBox) или для получения (об- работки) некоторых команд пользователя (например, нажатия кнопок мыши, кнопок Button, пунктов меню). Платформа .Net предоставляет набор объектно-ориентированных средств для удобной и простой реализации всех частей графического интерфейса. 1.1.2. Реализация графического интерфейса в .Net В платформе .Net для реализации графического интерфейса ис- пользуются разные технологии, такие как Windows Forms и Windows Presentation Foundation (WPF). Технология Windows Forms включает множество типов (классы, структуры, перечисления, делегаты), ко- торые объединены в два пространства имен: System.Windows.Forms (для реализации интерфейса) и System.Drawing (для рисования в кли- ентской области). Основными элементами графического интерфейса являются спе- циальные классы, называемые элементами управления, которые обла- дают двумя особенностями: 1) реализуют работу с различными типами окон ОС Windows; 2) поддерживают работу в двух режимах: • режим проектирования (design mode), в котором с ними работает среда разработки; • режим выполнения (run mode), в котором выполняется взаимо- действие пользователей с элементами управления. Базовым классом для всех элементов управления является класс Control, реализующий самую базовую функциональность. Класс Control задает важные свойства, методы и события, наследуемые все- ми его потомками. Все классы элементов управления (ЭУ) являются наследниками класса Control. Базовый класс Control содержит интер- фейс, который доступен во всех производных классах. Основные эле- менты данного класса используются при работе со всеми элементами управления (табл. 1.1).
Таблица 1.1 Основные элементы базового класса Control Свойства Описание Name Имя для работы с элементом управления в среде разработки Left,Top, Right,Bottom Координаты точек левого верхнего угла и правого нижнего угла (по умолчанию в пикселях относительно окна роди- теля) Location Задание или получение координаты левого верхнего угла в виде объекта структуры Point (по умолчанию в пикселях) Height,Width Высота и ширина окна (по умолчанию в пикселях) Size Размер окна в виде объекта структуры Size Controls Коллекция дочерних ЭУ , которые будут отображаться в текущем окне (поддерживает интерфейс Ilist) ContextMenu Ссылка на контекстное меню Cursor Ссылка на курсор Parent Ссылка на родительское окно (если оно есть) Text Заголовок окна Font Используемый шрифт TabIndex Порядок перехода между ЭУ при нажатии клавиши Tab Dock, DockStyle Указывает, может ли ЭУ прикрепляться к сторонам ро- дительского окна (true, false); свойство DockStyle задает стороны, к которым должен прикрепляться ЭУ: Top, Bottom , Right , Left , Fill или None Anchor AnchorStyle Связывание со стороной родительского окна; отличается от причаливания Dock тем, что не прикрепляется к стороне, а находится на фиксированном расстоянии от нее; значения AnchorStyle такие же, как и у DockStyle BackColor, ForeColor Фоновый цвет и цвет рисования Capture Определяет, будет ли ЭУ перехватывать сообщения мыши, даже если ее указатель находится вне границ ЭУ BackGroundImage Определяет фоновый рисунок Focused Возвращает true, если ЭУ имеет фокус ввода CanFocus Содержит true, если ЭУ может получать фокус ввода CanSelect Содержит true, если ЭУ может выбираться нажатием клавиши Tab ContainsFocus Возвращает true, если ЭУ или один из его дочерних элемен- тов имеет фокус ввода Bounds Определяет границы ЭУ , включая его неклиентскую об- ласть ClientRectangle Возвращает размеры и положение клиентской области ЭУ ClientSize Определяет размеры клиентской области ЭУ
Свойства Описание HasChildren Возвращает true, если ЭУ имеет хотя бы один дочерний элемент ModifierKeys Показывает, нажата ли клавиша модификации (Shift, Ctrl, Alt) MouseButtons Возвращает состояние кнопок мыши MousePosItion Возвращает координаты указателя мыши относительно верхнего левого угла экрана Region Определяет область, которую занимает ЭУ ResizeRedraw Содержит true, если ЭУ будет отрисовывать себя сам при изменении размеров TopLevelControl Возвращает левый верхний дочерний ЭУ Методы Описание Show() Отображение окна на экране Hide() Скрытие окна CreateGrafics Создание объекта класса Graphics для рисования в окне Update() Обновление содержания окна Invalidate() Заставляет ЭУ отрисовать себя заново (ОС отправляет сообщение WM_PAINT о необходимости перерисовки содержания окна) ClearChildViewState() Делает невидимыми все дочерние ЭУ Contains Возвращает true, если ЭУ является дочерним CreateControl() Создает ЭУ и все его дочерние элементы Dispose() Освобождает все связанные с элементом управления ресурсы FindForm() Возвращает форму, которая владеет элементом управления Focus() Передает ЭУ фокус ввода GetChildAtPoint() Возвращает дочерний ЭУ , располагающийся в указанной точке GetNextControl() Возвращает следующий (Forward=true) или предыдущий по отношению к ЭУ элемент в порядке обхода по нажатию клавиши Tab IsInputKey() Возвращает true, если полученный код является кодом обычной клавиши (а не клавиш PageUp, PageDown, Enter, Esc и Tab, а также клавиш управления курсором) PointToClient() Преобразует экранные координаты в координаты клиент- ской области компонента PointToScreen() Преобразует координаты клиентской области ЭУ в экран- ные координаты RectangleToClient() Преобразует экранные координаты в координаты клиент- ской области ЭУ Продолжение табл. 1.1
Методы Описание RectangleToScreen() Преобразует координаты клиентской области ЭУ в экран- ные координаты SetBounds() Устанавливает новое положение и размеры ЭУ SetStyle(ControlStyles Flag, bool Value) Устанавливает или сбрасывает указанный стилевой признак Метод SetStyle работает с перечислением ControlStyles, которое имеет атрибут FlagsAttribut, что позволяет объединять сразу несколько членов в одном значении AllPaintingInWmPaint Если установлен, то ЭУ игнорирует сообщение WM ERASEBKGND, что уменьшает мерцание при от- рисовке. Игнорируется, если не установлен флаг UserPaint CacheText Если установлен, то ЭУ сохраняет копию текста в буфере. По умолчанию флаг сброшен, что повышает производи- тельность, но затрудняет синхронизацию текста ContdinerControl Если установлен, то ЭУ может иметь дочерние компоненты DoubleBuffer Если установлен, то отрисовка ЭУ сначала происходит в бу- фере и по окончании готовое изображение выводится. Это уменьшает мерцание. Для двойной буферизации необходи- ма установка флагов AllPaintinglnWmPaint и UserPaint EnableNotifyMessage Если установлен и оконная процедура ЭУ получает со- общение, товызывае тся метод OnNotifyMessage ЭУ FixedHeight Если установлен, то высота ЭУ не меняется при его автома- тическом масштабиоовании FixedWidth Если установлен, то ширина ЭУ не меняется ври его авто- матическом масштабировании Opaque Если установлен, то отрисовка ЭУ не сопровождается от- рисовкой его фона ResizeRedraw Если установлен, то ЭУ отрисовывается заново при измене- нии его размеров Selectable Если установлен, то элемент может получать фокус ввода StandardClick Если установлен, то щелчок на ЭУ порождает событие Click StandardDoubleClick Если установлен, двойной щелчок на элементе управления порождает событие Doubleclick SupportsTransparent BackColor Если установлен, то элемент может менять свою прозрачность UserMouse Если установлен, то элемент сам обрабатывает события от мыши UserPaint Если установлен, то компонент отрисовывает себя сам Продолжение табл. 1.1

Операции в Creatio IDE

Операции со структурными элементами позволяет выполнять раздел Конфигурация ( Configuration ), интерфейс которого представлен на рисунке ниже.

Функциональные области интерфейса раздела Конфигурация ( Configuration ):

  • Панель инструментов (1).
  • Область работы с пакетами (2).
  • Рабочая область (3).

Интерфейс раздела Конфигурация ( Configuration ) описан в статье Creatio IDE.

Структурные элементы, операции с которыми позволяет выполнять Creatio IDE:

  • Файловая система.
  • Пакеты.
  • Хранилища SVN.
  • Конфигурационные элементы.
  • Исходный код.
  • Конфигурация.

Управлять файловой системой

Управление файловой системой реализовано в группе действий Разработка в файловой системе ( File system development mode ) выпадающего списка Действия ( Actions ) панели инструментов (1).

Группа действий Разработка в файловой системе ( File system development mode ) позволяет:

  • Загрузить пакеты из базы данных приложения в каталог . \Terrasoft.WebApp\Terrasoft.Configuration\Pkg (пункт Выгрузить все пакеты в файловую систему ( Download packages to file system )).
  • Загрузить пакеты из каталога . \Terrasoft.WebApp\Terrasoft.Configuration\Pkg в базу данных приложения (пункт Обновить пакеты из файловой системы ( Update packages from file system )).

Пункты группы действий Разработка в файловой системе ( File system development mode ) активны только при включенном режиме разработки в файловой системе. Подсказка по включению режима отображается при наведении курсора на любой пункт текущей группы действий. Чтобы настроить Creatio для работы в файловой системе, воспользуйтесь инструкцией, которая приведена в статье Внешние IDE.

Управлять пакетами

Управление пакетами реализовано в группе действий Пакеты ( Packages ) выпадающего списка Действия ( Actions ) панели инструментов (1).

Группа действий Пакеты ( Packages ) позволяет открыть диаграмму зависимостей пакетов (пункт Диаграмма зависимостей пакетов ( Package dependencies diagram )).

Управлять хранилищами SVN

Управление хранилищами SVN реализовано в группе действий Хранилища SVN ( SVN repositories ) выпадающего списка Действия ( Actions ) панели инструментов (1).

Группа действий Хранилища SVN ( SVN repositories ) позволяет:

  • Установить пакет из подключенного SVN-хранилища (пункт Установить пакет из хранилища ( Install package from repository )).
  • Открыть вкладку Список хранилищ ( List of repositories ) (пункт Открыть список хранилищ ( Open list of repositories )). Вкладка Список хранилищ ( List of repositories ) позволяет добавить, настроить и удалить ссылки на доступные в приложении SVN-хранилища.
  • Синхронизировать конфигурацию с SVN-хранилищем до последней ревизии (пункт Восстановить из хранилища ( Restore from repository )). Это приведет к потере изменений, которые не зафиксированы в SVN-хранилище. Пункт неактивен, если в приложении нет пакетов, которые установлены с SVN-хранилища.

Использование системы контроля версий SVN доступно только для приложения Creatio на платформе .NET Framework. Работа с SVN-хранилищами в Creatio IDE описана в статье Контроль версий в Creatio IDE.

Управлять конфигурационными элементами

Действия по управлению конфигурационными элементами, которые позволяет выполнять Creatio IDE:

  • Добавить конфигурационный элемент.
  • Выбрать тип отображаемых конфигурационных элементов.
  • Выбрать состояние отображаемых конфигурационных элементов.
  • Выполнить действия с конфигурационными элементами.
  • Актуализировать конфигурационные элементы.
  • Выполнить поиск конфигурационного элемента.

Реестр раздела Конфигурация ( Configuration ) рабочей области (3) содержит перечень конфигурационных элементов.

Колонки реестра раздела:

  • Название ( Name ) — имя конфигурационного элемента, которое было задано при его добавлении. Все конфигурационные элементы отсортированы в алфавитном порядке. Колонка позволяет посмотреть перечень измененных конфигурационных элементов (символ возле имени элемента). Измененные конфигурационные элементы находятся вверху перечня конфигурационных элементов реестра раздела. Подробнее о добавлении конфигурационного элемента читайте в пункте Добавить конфигурационный элемент.
  • Заголовок ( Title ) — заголовок конфигурационного элемента.
  • Статус ( Status ) — состояние конфигурационного элемента. Выполнить фильтрацию отображаемых конфигурационных элементов по значению текущей колонки позволяет выпадающий список Фильтры ( Filters ) панели инструментов рабочей области раздела (3). Подробнее о состояниях конфигурационных элементов читайте в пункте Выбрать состояние отображаемых конфигурационных элементов. Возможные значения колонки Статус ( Status ):
    • — необходима актуализация конфигурационного элемента.
    • — конфигурационный элемент содержит ошибку.
    • — необходима актуализация конфигурационного элемента и при этом он содержит ошибку.

    Всплывающие подсказки, которые позволяет увидеть Creatio IDE при наведении курсора на соответствующее значение колонки Статус ( Status ):

    • Требует установки в БД ( Needs to be installed in database ) — для конфигурационных элементов типа SQL сценарий ( SQL script ) и Данные ( Data ).
    • Требуется обновление в БД ( Needs to be updated in database ) — для конфигурационного элемента типа Объект ( Object ).
    • Требует генерации исходного кода ( Needs generate source code ) — для конфигурационных элементов типа Клиентский модуль ( Client module ), Исходный код ( Source code ), Кейс ( Case ), Маркетинговая кампания ( Marketing campaign ), Бизнес-процесс ( Business-process ), Действие процесса ( User task ).

    Подробнее о типах конфигурационных элементов читайте в пункте Выбрать тип отображаемых конфигурационных элементов.

    Creatio IDE позволяет отсортировать данные в колонке реестра по возрастанию или по убыванию. Чтобы отсортировать данные, кликните по имени колонки.

    Варианты сортировки данных в колонке реестра:

    • Сортировка в текущем пакете. Чтобы выполнить сортировку в текущем пакете, предварительно выберите пакет в области работы с пакетами (2).
    • Сортировка во всех пакетах. Чтобы выполнить сортировку во всех пакетах, предварительно выберите группу Все пакеты ( All packages ) в области работы с пакетами (2).

    Добавить конфигурационный элемент

    Выпадающий список Добавить ( Add ) панели инструментов рабочей области (3) позволяет выбрать вид добавляемого конфигурационного элемента. Предварительно в области работы с пакетами (2) необходимо выбрать пакет. Пункты выпадающего списка Добавить ( Add ) неактивны без предварительного выбора пакета. Creatio IDE не предоставляет возможность добавления конфигурационных элементов в предустановленные пакеты.

    Виды добавляемых конфигурационных элементов на рисунке ниже.

    Выбрать тип отображаемых конфигурационных элементов

    Выпадающий список Тип ( Type ) панели инструментов рабочей области (3) позволяет выбрать тип конфигурационных элементов для отображения в реестре раздела. Выбранный тип отображается в колонке Тип ( Type ) реестра раздела.

    Типы отображаемых конфигурационных элементов представлены на рисунке ниже.

    Конфигурационные элементы с типом Клиентский модуль ( Client module ):

    • Страница Freedom UI ( Freedom UI page ). Доступен для версии Creatio 8.0 Atlas и выше.
    • Модуль ( Module ).
    • Модель представления страницы ( Page view model ).
    • Модель представления раздела ( Section view model ).
    • Модель представления детали с реестром ( Detail (list) view model ).
    • Модель представления детали с полями ( Detail (fields) view model ).
    • Замещающая модель представления ( Replacing view model ).

    Конфигурационные элементы с типом Объект ( Object ):

    • Объект ( Object ).
    • Замещающий объект ( Replacing object ).

    Конфигурационные элементы с типом Веб-сервис ( Web service ):

    • Rest-сервис ( Rest service ).
    • Soap-сервис ( Soap service ).

    Выбрать состояние отображаемых конфигурационных элементов

    Выпадающий список Фильтры ( Filters ) панели инструментов рабочей области (3) позволяет выбрать состояние конфигурационных элементов для отображения в реестре раздела. Выбранный тип отображается в колонке Статус ( Status ) реестра раздела. Настройки выпадающего списка Фильтры ( Filters ) сохраняются в профиле пользователя и отображаются при входе в раздел Конфигурация ( Configuration ).

    Состояния отображаемых конфигурационных элементов представлены на рисунке ниже.

    Выполнить действия с конфигурационными элементами

    Типы действий, которые позволяет выполнять Creatio IDE:

    • Единичные. Выполняются с одним конфигурационным элементом.
    • Массовые. Выполняются с множеством конфигурационных элементов.
    Выполнить единичное действие с конфигурационным элементом

    Меню конфигурационного элемента позволяет выполнить единичное действие с конфигурационным элементом. Чтобы вызвать меню конфигурационного элемента, в строке конфигурационного элемента реестра раздела нажмите на . Перечень пунктов меню конфигурационного элемента зависит от типа конфигурационного элемента. Подробнее о типах конфигурационных элементов читайте в пункте Выбрать тип отображаемых конфигурационных элементов.

    Типы единичных действий:

    • Открыть объект для редактирования (пункт Изменить процесс ( Edit process )). Если объект создан третьими лицами, то отображается соответствующее уведомление. Отображается для конфигурационного элемента типа Объект ( Object ).
    • Выгрузить текущий конфигурационный элемент в *.md-формате (пункт Экспортировать ( Export )). Используется для экспорта текущего конфигурационного элемента с целью дальнейшей установки на другую рабочую среду. Подробнее об экспорте конфигурационного элемента читайте в статье Перенести схемы конфигурационных элементов. Конфигурационные элементы, для которых отображается текущий пункт меню:
      • Объект ( Object ).
      • Исходный код ( Source code ).
      • Клиентский модуль ( Client module ).
      • Бизнес-процесс ( Business-process ).
      • Веб-сервис ( Web service ).
      • Кейс ( Case ).
      • Действие процесса ( User task ).
      • Маркетинговая кампания ( Marketing campaign ).
    • Переместить текущий конфигурационный элемент в другой пакет (пункт Переместить в другой пакет ( Move to another package )). После выбора пункта отображается окно выбора пакета, в который планируется переместить текущий конфигурационный элемент. При перемещении конфигурационного элемента Creatio IDE предоставляет возможность автоматической установки зависимостей. Отображается для конфигурационных элементов всех типов.
    • Удалить конфигурационный элемент (пункт Удалить ( Delete )). Пункт неактивен для конфигурационных элементов предустановленных пакетов. Отображается для конфигурационных элементов всех типов. Удалить конфигурационный элемент также позволяет реестр раздела (кнопка ). Данная кнопка появляется для конфигурационных элементов пользовательских пакетов при наведении курсора на запись реестра раздела Конфигурация ( Configuration ).
    • Установить текущий конфигурационный элемент (пункт Установить ( Install )). Установка выполняется в базу данных. При некорректной установке данных для объекта колонки Объект ( Object ) описание ошибки отображается при наведении курсора на соответствующее значение колонки Статус ( Status ). Также описание ошибки отображается в свойствах конфигурационных элементов. Конфигурационные элементы, для которых отображается текущий пункт меню:
      • SQL сценарий ( SQL script ).
      • Данные ( Data ).
    • Обновить структуру базы данных для объекта (пункт Обновить структуру БД ( Update database structure )). Отображается для конфигурационного элемента типа Объект ( Object ).
    • Сгенерировать исходный код текущего конфигурационного элемента (пункт Сгенерировать исходный код ( Generate source code )). Выполняется, если процесс содержит компилируемые элементы. Конфигурационные элементы, для которых отображается текущий пункт меню:
      • Объект ( Object ).
      • Бизнес-процесс ( Business-process ).
      • Действие процесса ( User task ).
    • Открыть вкладку метаданных текущего конфигурационного элемента (пункт Открыть метаданные ( Open metadata )). Конфигурационные элементы, для которых отображается текущий пункт меню:
      • Объект ( Object ).
      • Исходный код ( Source code ).
      • Клиентский модуль ( Client module ).
      • Бизнес-процесс ( Business-process ).
      • Веб-сервис ( Web service ).
      • Кейс ( Case ).
      • Действие процесса ( User task ).
      • Маркетинговая кампания ( Marketing campaign ).
    • Открыть вкладку исходного кода текущего конфигурационного элемента (пункт Открыть исходный код ( Open source code )). Конфигурационные элементы, для которых отображается текущий пункт меню:
      • Объект ( Object ).
      • Бизнес-процесс ( Business-process ).
      • Действие процесса ( User task ).
    • Заблокировать от изменений текущий конфигурационный элемент в подключенном SVN-хранилище (пункт Заблокировать элемент в SVN ( Lock element in SVN )). Пункт активен только для конфигурационных элементов установленных с SVN-хранилища пакетов. Отображается для конфигурационных элементов всех типов.
    • Разблокировать для изменений текущий конфигурационный элемент в подключенном SVN-хранилище (пункт Разблокировать элемент в SVN ( Unlock element in SVN )). Пункт активен только для конфигурационных элементов установленных с SVN-хранилища пакетов. Отображается для конфигурационных элементов всех типов.
    • Отменить внесенные изменения в подключенном хранилище системы контроля версий (пункт Отменить изменения ( Discard changes )). Пункт активен, если к пакету с конфигурационным элементом подключено хранилище системы контроля версий. Отображается для конфигурационных элементов всех типов.
    • Открыть окно свойств текущего конфигурационного элемента (пункт Свойства ( Properties )). Отображается для конфигурационных элементов всех типов.
    Выполнить массовые действия с конфигурационными элементами

    Выпадающий список Массовые действия ( Multi actions ) панели инструментов рабочей области (3) позволяет выполнить массовые действия с выбранными конфигурационными элементами. Предварительно в реестре раздела рабочей области (3) необходимо выбрать конфигурационные элементы, с которыми планируется выполнить массовые действия. Пункты выпадающего списка Массовые действия ( Multi actions ) неактивны без предварительного выбора конфигурационных элементов. Перечень отображаемых пунктов выпадающего списка Массовые действия ( Multi actions ) зависит от типа выбранных в реестре раздела конфигурационных элементов. Подробнее о типах конфигурационных элементов читайте в пункте Выбрать тип отображаемых конфигурационных элементов.

    Массовые действия с конфигурационными элементами представлены на рисунке ниже.

    Типы массовых действий:

    • Выгрузить выбранные конфигурационные элементы в *.zip-архив (пункт Экспортировать ( Export )). Используется для экспорта выбранных конфигурационных элементов с целью дальнейшей установки на другую рабочую среду. Подробнее об экспорте пакета читайте в статье Перенести пакеты.
    • Переместить выбранные конфигурационные элементы пакета в другой пакет (пункт Переместить в другой пакет ( Move to another package )). После выбора пункта отображается окно выбора пакета, в который планируется переместить выбранные конфигурационные элементы. При перемещении конфигурационных элементов Creatio IDE предоставляет возможность автоматической установки зависимостей.
    • Удалить выбранные конфигурационные элементы (пункт Удалить ( Delete )).
    • Сгенерировать исходный код выбранных конфигурационных элементов (пункт Сгенерировать исходный код ( Generate source code )). Пункт отображается, если процесс содержит компилируемые элементы.
    • Обновить структуру базы данных для выбранных конфигурационных элементов (пункт Обновить структуру БД объектов ( Update objects DB structure )).
    • Установить в базу данных выбранные конфигурационные элементы типа SQL сценарий ( SQL script ) (пункт Установить SQL сценарий ( Install SQL script )).
    • Установить в базу данных выбранные конфигурационные элементы типа Данные ( Data ) (пункт Установить данные ( Install data )). Устанавливаются данные для объекта колонки Объект ( Object ).

    Актуализировать конфигурационные элементы

    Актуализация конфигурационных элементов реализована в группе действий Актуализировать элементы ( Actualize items ) выпадающего списка Действия ( Actions ) панели инструментов (1).

    Группа действий Актуализировать элементы ( Actualize items ) позволяет:

    • Обновить структуру базы данных для конфигурационных элементов, которые требуют обновления (пункт Обновить структуру БД для требующих обновления ( Update DB structure where it is needed )).
    • Установить конфигурационные элементы типа SQL сценарий ( SQL script ), которые требуют установки (пункт Установить SQL сценарии для требующих установки ( Install SQL scripts where it is needed )).
    • Установить конфигурационные элементы типа Данные ( Data ), которые требуют установки (пункт Установить данные для требующих установки ( Install data where it is needed )).

    В результате актуализации конфигурационных элементов отобразится соответствующее уведомление.

    Выполнить поиск конфигурационного элемента

    Cтрока поиска Поиск ( Search ) панели инструментов рабочей области (3) позволяет выполнить поиск конфигурационного элемента по его имени в реестре раздела. Настройки поиска сохраняются в профиле пользователя и отображаются при входе в раздел Конфигурация ( Configuration ).

    Варианты поиска конфигурационного элемента:

    • Поиск конфигурационного элемента в текущем пакете. Чтобы выполнить поиск в текущем пакете, предварительно выберите пакет в области работы с пакетами (2).
    • Поиск конфигурационного элемента во всех пакетах. Чтобы выполнить поиск во всех пакетах, предварительно выберите группу Все пакеты ( All packages ) в области работы с пакетами (2).

    Чтобы настроить дополнительные параметры поиска, в строке поиска Поиск ( Search ) панели инструментов рабочей области (3) нажмите на .

    Дополнительные параметры поиска, которые позволяет настроить Creatio IDE:

    • Поиск по заголовку (опция Поиск по полю «Заголовок» ( Search by column «Title» )). По умолчанию — включена.
    • Поиск по уникальному идентификатору (опция Поиск по полю «UID» ( Search by column «UID» ).
    • Режим поиска.
      • Название конфигурационного элемента начинается с текста, который введен в строке поиска Поиск ( Search ) (пункт Начинается ( Starts with )). По умолчанию — включен.
      • Название конфигурационного элемента содержит текст, который введен в строке поиска Поиск ( Search ) (пункт Содержит ( Contains )).
      • Название конфигурационного элемента соответствует тексту, который введен в строке поиска Поиск ( Search ) (пункт Равно ( Equals )).

      Для применения внесенных изменений нажмите Применить ( Apply ).

      Использовать горячие клавиши

      Типы конфигурационных элементов, в дизайнерах которых Creatio позволяет использовать горячие клавиши:

      • Исходный код ( Source code ).
      • Клиентский модуль ( Client module ).
      • Действие процесса ( User task ).
      • SQL сценарий ( SQL script ).

      Чтобы посмотреть перечень доступных горячих клавиш, нажмите на кнопку в соответствующем дизайнере конфигурационного элемента.

      Горячие клавиши, поддержка которых реализована в Creatio, представлены в таблице ниже.

      Горячие клавиши

      Горячая клавиша Действие, которое выполняется при нажатии
      Ctrl+A Выбрать все.
      Ctrl+Z Отменить.
      Ctrl+Y Повторить.
      Ctrl+F Найти.
      Ctrl+G Перейти к следующему совпадению.
      Shift+Ctrl+G Перейти к предыдущему совпадению.
      Shift+Ctrl+F Заменить.
      Shift+Ctrl+R Заменить все совпадения.
      Ctrl+O Удалить строку.
      Alt+Left Перейти в начало строки.
      Alt+Right Перейти в конец строки.
      Alt+G Перейти на строку.
      F11 Отобразить редактор кода на весь экран.
      Esc Выйти из полноэкранного режима отображения редактора кода.
      Ctrl+Space Открыть окно автозаполнения.

      Управлять исходным кодом

      Управление исходным кодом реализовано в группе действий Исходный код ( Source code ) выпадающего списка Действия ( Actions ) панели инструментов (1).

      Группа действий Исходный код ( Source code ) позволяет:

      • Генерировать исходный код для схем, которые были изменены в текущей конфигурации (пункт Сгенерировать для измененных ( Generate for modified schemas )).
      • Генерировать исходный код для схем, которые требуют генерации исходного кода (пункт Сгенерировать для требующих генерации ( Generate where it is needed )).
      • Генерировать исходный код для всех без исключения схем текущей конфигурации (пункт Сгенерировать для всех схем ( Generate for all schemas )). Эта операция может занять больше 10 минут.

      Генерация исходного кода для схем выполняется в фоновом режиме.

      Особенности генерации исходного кода в фоновом режиме:

      • Выполнение операции не влияет на работу основных пользовательских функций.
      • Во время выполнения операции отсутствует возможность запуска генерации исходных кодов и выполнения компиляции приложения. При попытке запуска этих действий приложение отобразит уведомление о выполняющейся операции.
      • Во время выполнения операции не рекомендуется выполнять работы, которые требуют компиляции приложения, например, устанавливать приложения и расширения, настраивать интерфейс и бизнес-логику.

      В результате генерации исходного кода в коммуникационной панели отобразится соответствующее уведомление.

      Управлять конфигурацией

      Действия по управлению конфигурацией, которые позволяет выполнять Creatio IDE:

      • Проверить конфигурацию.
      • Компилировать конфигурацию.

      Проверить конфигурацию

      Проверка конфигурации реализована в группе действий Проверить конфигурацию ( Configuration ) выпадающего списка Действия ( Actions ) панели инструментов (1).

      Группа действий Проверить конфигурацию ( Configuration ) позволяет проверить наличие конфликтов по зависимостям, которые могли появиться после переноса элементов между пакетами (пункт Проверить зависимости между элементами ( Validate configuration )).

      Компилировать конфигурацию

      Действия по компиляции конфигурации выполняются на панели инструментов раздела.

      Способы компиляции конфигурации:

      • Компилировать только изменения в конфигурации (кнопка Компилировать ( Compile ) панели инструментов (1).
      • Компилировать конфигурацию (пункт Перекомпилировать все ( Compile all ) выпадающего списка кнопки Компилировать ( Compile ) панели инструментов (1).

      Действия, которые выполняются в результате компиляции конфигурации:

      • Обновление исполняемых файлов.
      • Выгрузка статического контента в каталог . \Terrasoft.WebApp\conf .

      После завершения компиляции пользователь получает уведомление и изменения вступают в силу для пользователей, которые работают в текущей конфигурации.

      В процессе компиляции конфигурации могут возникнуть ошибки, которые отображаются в диалоговом окне.

      Свойства ошибок компиляции:

      • Иконка типа ошибки (ошибка или предупреждение ).
      • Имя файла с ошибкой.
      • Описание ошибки.
      • Код ошибки.
      • Номер строки с ошибкой.

      Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12

      Леонов, Н. А. Использование графических решений в разработке мобильных приложений под управлением операционной системы Android-12 / Н. А. Леонов. — Текст : непосредственный // Молодой ученый. — 2022. — № 21 (416). — С. 194-197. — URL: https://moluch.ru/archive/416/92107/ (дата обращения: 30.10.2023).

      В статье автор пытается определить необходимые графические средства для реализации интерфейса приложения, разрабатываемого для операционной системы Android версии 12 и выше. Были определены ключевые инструменты для контекстной ячейки собеседника, которые в последствии будут использоваться в списке объектов.

      Ключевые слова: SDK, API, операционная система, интерфейс, приложение.

      Одним из важных факторов разработки любого мобильного приложения является его визуальная часть. Именно через интерфейс и визуальные составляющие пользователь дает первичную оценку приложению.

      Как разработчик, необходимо отразить интерфейс понятным и удобным, не теряя при этом в функциональной части.

      Для проектирования интерфейса важно оглядываться на программную платформу, для которой будет разрабатываться приложение. На данный момент, актуальной версией операционной системы Android является 12 версия с SDK [1] с кодовым номером 31. Это важно учитывать при разработке современного приложения с не менее важным программным уровнем отрисовки графических элементов приложения.

      Новейшее SDK позволяет использовать систему «Monet» [2], которая представляет из себя динамическую замену цветов приложения под цветовые акценты установленных пользователем обоев. Согласно Google, механизм извлечения цвета, использующий алгоритм кластеризации, определяет доминирующие цвета обоев. После этого создаётся палитра из 5 цветов — 2 нейтральных и 3 акцентных, а также 12 цветовых вариантов, которые используются для определения наиболее близких к установленным обоям оттенков. Все эти значения сохраняются в индексе, который приложения могут вызывать через API. Это позволяет им тоже подстраивать свой интерфейс под обои. Пример извлечения цветов изображен на рисунке 1.

      Наглядная работа системы Monet

      Рис. 1. Наглядная работа системы Monet

      Для внедрения данной технологий необходимо заранее обозначить цветовые области, при которых дизайн будет одновременно узнаваем, но тем не менее гибким для кастомизации пользователем.

      Важным фактором для совместимости является поддержка операционной системы. Как было сказано выше, данную цветовую систему может применять только устройства, на базе операционной системы Android версии 12 и выше. Поэтому, для ее интеграции целевым SDK будет именно та версия, в который APIlevel [3] выше 31.

      На данный момент, уже существуют приложения, которые используют данную систему отрисовки. Одним из таковых является приложение Gmail [4]. Пример работы системы «Monet» в приложении изображен на рисунке 2.

      Применение системы «Monet» в приложении Gmail

      Рис. 2. Применение системы «Monet» в приложении Gmail

      Для начала стоит определить контекстный элемент собеседника. Собеседник в списке может иметь такие поля как имя, аватар пользователя, присутствие собеседника онлайн, последнее сообщение и индикатор непрочитанного сообщения. Ориентируясь от возможных свойств, можно изобразить контекстного пользователя в виде ячейки или экземпляра. Чертеж ячейки в списке собеседников изображен на рисунке 3.

      Схематичное изображение ячейки собеседника

      Рис. 3. Схематичное изображение ячейки собеседника

      Далее же, стоит изобразить элемент, который будет аккумулировать все экземпляры собеседников. В данном случае можно использовать элемент RecyclerView [5]. Отличительной особенностью данного элемента заключается в его способности обновляться и иметь эффект эластичности, при котором динамично можно как добавлять элементы, так их и убирать. Схематичное изображение RecylerView изображен на рисунке 4.

      RecyclerView на макете приложения

      Рис. 4. RecyclerView на макете приложения

      Далее стоит создать класс адаптер, который будет связывать информацию о ячейке. Интеграция данных производится стандартными библиотеками Android, но только за исключением загрузки фотографии. Загрузка фотографии производится через общедоступную подключаемую Picasso [6]. Листинг кода связывания информации с ячейкой приведен на рисунке 5.

      Листинг кода секции интеграции элементов

      Рис. 5. Листинг кода секции интеграции элементов

      Стоит отметить стороннюю библиотеку Picasso. Это одно из популярных инструментов для загрузки фото и медиаконтента. Весьма удобна в использовании. Помимо этого, поддерживает различные методы загрузки. Синтаксис обычной загрузи реализуется get(). Далее же, необходимо указать требуемое место благодаря функции into().

      В конечном итоге, после использования всех вышеперечисленных средств и функций можно пронаблюдать макетный шаблон. Это важно при проверке отрисовки последующей разработки функциональности приложения. Работоспособный макет интерфейса предоставлен на рисунке 6.

      Работоспособный макет списка контактов сообщений

      Рис. 6. Работоспособный макет списка контактов сообщений

      В заключении мы реализовали интерфейс и его компоненты используя стандартные средства разработки, которые установлены в последнем пакете SDK Android. Однако, были использованы средства сторонних разработчиков, благодаря чему был достигнут понятный для пользователя интерфейс.

      1. Пол Дейтел, Харви Дейтел, Александер Уолд. Android для разработчиков. — М.: Питер СПб, 2016.

      2. GitHub — material-components/material-components-android: Modular and customizable Material Design UI components for Android [Электронныйресурс]. Режим доступа: https://github.com/material-components/material-components-android

      3. Miloš Vasić. Mastering Android Development with Kotlin. — М.:Packt Publishing, 2017.

      4. Приложения в Google Play — Gmail [Электронный ресурс]. Режим доступа: https://play.google.com/store/apps/details?id=com.google.android.gm&hl=ru&gl=US

      5. Дон Гриффитс, Дэвид Гриффитс. HeadFirst. Программирование для Android. — М.:Питер СПб, 2017

      6. Picasso [Электронный ресурс]. Режим доступа: https://square.github.io/picasso/

      Основные термины (генерируются автоматически): SDK, операционная система, API, приложение, интерфейс, рисунок.

      Разработать приложение интерфейс которого представлен на рисунке

      1 Нижнетагильский государственный социально­педагогический институт (филиал) ФГАОУ ВО «Российский государственный профессионально­педагогический университет»

      При сопровождении различных событий, происходящих в деятельности предприятий, периодически возникает необходимость поиска информации о сотрудниках, представления информации согласно определенному критерию, получения сведений из внешних информационных систем. Для обеспечения оперативности доступа, удобства использования данных может быть организована автоматизация процессов средствами мобильного приложения. Целью статьи является раскрытие содержательных и технологических особенностей проектирования и разработки мобильного приложения в форме справочника «Сведения о сотрудниках». Для проектирования внутренней логики разрабатываемого программного средства на языке UML построена диаграмма активностей, описывающая взаимодействие пользователя и приложения. Основным инструментом для создания приложения выбрана интегрированная среда разработки Android Studio, язык программирования – Java. Представлен вариант пользовательского интерфейса, включающего в себя четыре активности: главная активность, список сотрудников, список должностей, активность карточка сотрудника. Описан механизм информационного взаимодействия внутри приложения на выбранном языке программирования, показан пример листинга. Продемонстрированы результаты тестирования по методу «черного ящика», по которым можно сделать вывод о функционировании программного продукта в соответствии с проектными требованиями. Материалы статьи могут служить практическими рекомендациями при разработке подобных мобильных приложений для различных предметных областей.

      мобильное приложение
      диаграмма активностей
      Android Studio
      тестирование

      1. Доля iOS втрое ниже, чем Android, но денег на приложения в ней тратят в 2 раза больше [Электронный ресурс]. URL: https://hi-tech.ua/dolya-ios-vtroe-nizhe-chem-android-no-deneg-na-prilozheniya-v-nej-tratyat-v-2-raza-bolshe/ (дата обращения: 15.05.2021).

      2. В каких странах iOS популярнее Android [Электронный ресурс]. URL: https://www.iphones.ru/iNotes/v-kakih-stranah-ios-populyarnee-android-09-13-2019 (дата обращения: 15.05.2021).

      3. Дочкин А.С. Преимущества Android Studio перед другими средами при разработке мобильных приложений // Новая наука: Стратегии и векторы развития. 2016. № 9. С. 106–107.

      4. Седлецкий К.В. Анализ технологий разработки мобильных приложений // Молодежный вестник Уфимского государственного авиационного технического университета. 2020. № 1 (22). С. 136–138.

      5. Кен К. Современный Java. Рецепты программирования. М.: ДМК-Пресс, 2018. 274 с.

      6. Бирюков С.В. Анализ стратегий тестирования программного обеспечения // Известия Южного федерального университета. Технические науки. 2008. № 1 (78). С. 59–63.

      В деятельности организаций при сопровождении различных событий периодически возникает необходимость поиска информации о сотрудниках, представления информации согласно определенному критерию, получения сведений из внешних информационных систем. Для обеспечения оперативности доступа, удобства использования данных может быть организована автоматизация процессов в форме мобильного приложения. Объектом автоматизации выбрано информационное взаимодействие внутри организации. В упомянутом контексте средством автоматизации становится разрабатываемое приложение. Его задачей является предоставление контактной информации о сотрудниках. Приложение подходит для использования в организациях с территориальным разделением или сетью филиалов. Рабочее название разрабатываемого приложения – «Сведения о сотрудниках».

      Требования к разрабатываемому прило- жению:

      — предоставление информации о сотрудниках в виде алфавитного справочника;

      — предоставление информации о сотрудниках с разделением по выполняемым функциям;

      — получение информации о сотрудниках из внешних информационных систем;

      — возможность установки и запуска на возможно большем количестве мобильных устройств.

      Описание технологических особенностей проектирования и разработки справочника «Сведения о сотрудниках» может послужить руководством для создания подобных мобильных приложений для различных предметных областей.

      Целью исследования является раскрытие содержательных и технологических особенностей проектирования и разработки мобильного приложения «Сведения о сотрудниках» в форме справочника.

      Материалы и методы исследования

      Выделены первоначальные требования к проектируемому и разрабатываемому мобильному приложению, которые послужили основанием для построения схемы информационного взаимодействия продукта. Для определения внутренней логики описываемого программного продукта были использованы технологии UML-проектирования, а именно диаграмма активности. Процесс разработки программы был разделен на два этапа: создание интерфейса и написание программного кода. Программный код писался на языке Java, разработка велась в интегрированной среде Android Studio.

      Результаты исследования и их обсуждение

      В качестве среды выполнения разрабатываемого приложения выбрана операционная система Android. Выбор обусловлен последним из перечисленных требований, а именно – максимизацией диапазона поддерживаемых устройств. Доля Android на рынке мобильных операционных систем составляет 74,43 %, в то время как iOS занимает 24,99 % [1]. Оставшиеся 0,58 % приходятся на долю прочих ОС, перечисление которых выходит за рамки данной работы. Для России соотношение остается почти таким же – Android используют 73 % людей, а iOS – 26 % [2].

      Основным инструментом для создания приложения выбрана интегрированная среда разработки Android Studio. Данное программное средство, основанное на программном обеспечении IntelliJ IDEA от компании JetBrains, – официальное средство разработки Android приложений. Среда разработки доступна для Windows, macOS и GNU/Linux. Выбор обусловлен широтой предоставляемого функционала, включающего возможности анализа кода, рефакторинга и отладки, удобством использования, статусом официального средства разработки приложений для Android [3, 4].

      В качестве основного языка программирования для создания приложения выбран язык Java. В Java, как и во многих современных языках, используется принцип объектно-ориентированного программирования. Java в основном используется для создания серверных приложений и мобильного ПО [5].

      Среди прочих достоинств языка особо выделяется тотальная кроссплатформенность. Программы на Java транслируются в байт-код Java, выполняемый виртуальной машиной Java – программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор. Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина.

      Исходя из требований к разрабатываемому приложению, построим схему информационного взаимодействия (рис. 1).

      kostrom1.tif

      Рис. 1. Схема информационного взаимодействия внутри приложения

      Как можно понять из вышеприведенной схемы, разрабатываемое приложение содержит четыре активности и два источника данных.

      С целью проектирования внутренней логики разрабатываемого программного средства построим диаграмму активностей, описывающую взаимодействие пользователя и приложения (в контексте данного предложения термин «активность» именует тип диаграммы в нотации UML). Упомянутая диаграмма изображена на рис. 2.

      kostrom2.tif

      Рис. 2. Диаграмма активностей

      Разрабатываемое приложение можно разделить на несколько слоев:

      — слой доступа к данным.

      Слой отображения представлен пользовательским интерфейсом. Для разработки интерфейса выбран минималистичный стиль с таблично-структурированным представлением информации. Цветовое оформление выполнено с использованием оранжевых цветовых оттенков, что должно способствовать уменьшению стресса. Поскольку приложение ориентировано на использование сотрудниками организаций в ходе исполнения должностных обязанностей, недопустимо наличие в интерфейсе ярких анимированных элементов, создающих визуальный шум.

      Пользовательский интерфейс включает в себя следующие активности:

      — активность «Список сотрудников»;

      — активность «Список должностей»;

      — активность «Карточка сотрудника».

      Главная активность содержит два элемента Button, позволяющих по нажатию перейти на одну из связанных активностей. Активность «Список сотрудников» содержит один элемент TextView, выполняющий роль заголовка активности, и элемент ListView, реализующий отображение списка сотрудников. Активность «Карточка сотрудника» содержит одиннадцать элементов TextView, пять из которых служат заголовками информационных фрагментов. Четыре оставшихся элемента получают значения для свойства «text» при формировании активности и служат для отображения информации о сотруднике.

      Внешний вид и последовательность смены описанных активностей изображены на рис. 3. Все данные, которые представлены на рисунке, являются вымышленными.

      kostrom3.tif

      Рис. 3. Интерфейс приложения. Работа в режиме «Алфавитный справочник»

      kostrom4.tif

      Рис. 4. Интерфейс приложения. Работа в режиме «Справочник должностей»

      Активность «Список должностей» аналогична активности «Список сотрудников» и также содержит один элемент TextView, выполняющий роль заголовка активности, и элемент ListView, реализующий отображение списка должностей. Описанные активности можно увидеть на рис. 4, все данные на рисунке являются вымышленными.

      При работе в режиме «Справочник должностей» список, выводимый в активности «Список сотрудников», ограничивается теми сотрудниками, чья должность соответствует должности, выбранной в активности «Список должностей». Содержимое заголовка активности «Список сотрудников» дополняется наименованием выбранной должности.

      Слой доступа к данным представлен в разрабатываемом приложении классом EmployeeParser. Данный класс обеспечивает получение информации о сотрудниках из источника данных и ее интерпретацию.

      Источником данных о сотрудниках служит файл формата XML со структурой, описанной в листинге на рис. 5. Указанный файл формируется информационной кадровой системой организации и загружается разрабатываемым приложением при подключении к точке информационного обмена организации.

      kostrom5.wmf

      Рис. 5. Структура файла с данными о сотрудниках

      На основе информации, содержащейся в файле данных, формируется коллекция экземпляров класса Employee. Данный класс содержит поля для хранения информации о сотрудниках, а также методы, позволяющие записывать и считывать указанную информацию на уровне экземпляра класса. Класс Employee также реализует интерфейс Serializable, что позволяет передавать экземпляр класса в активность «Карточка сотрудника». Поскольку весь необходимый объем информации передается единым блоком, отпадает необходимость в дополнительных запросных транзакциях, что снижает вероятность ошибки и потери данных.

      Список сотрудников, предоставляемый приложением, должен быть удобен для восприятия и использования, что достигается в первую очередь расположением элементов в списке в алфавитном порядке. Поскольку существует вероятность того, что список, полученный из кадровой информационной системы организации, будет либо не отсортирован вовсе, либо отсортирован по иному критерию, нежели алфавитное расположение сочетания «фамилия – имя – отчество», приложение содержит класс EmplSort, обеспечивающий сортировку коллекции экземпляров класса Employee.

      Итоговое тестирование приложения выполнялось по методу черного ящика. Суть метода заключается в проверке функций приложения на соответствие требованиям без знания внутренней структуры программы и без доступа к программному коду [6]. Результаты тестирования представлены в таблице.

      Результаты тестирования приложения по методу черного ящика

      Функционирует с ограничениями, требует доработки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *