Материал: Мобильное приложение для оценки эффективности мерчендайзинга торговой компании

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

-   void on Click (Dialog Interface dialog Interface, int i) - метод интерфейса Dialog Interface. On Click Listener, вызываемый при нажатии на кнопку диалогового окна.

Класс SettingsActivity

Данный класс ассоциирован с активити настроек и служит для отображения и работы с опциями приложения. Класс содержит единственный метод void on Create (Bundle saved Instance State), описанный выше. В данном методе создаётся фрагмент Settings Fragment, который заполняет всю полезную площадь активити.

Фрагмент Settings Fragment, в свою очередь, является наследником специального класса Preference Fragment, предоставляющего удобные средства для работы с настройками приложения. Класс Settings Fragment также содержит единственный метод void on Create (Bundle saved Instance State), сходный по назначению с вышеописанным методом активити. В данном методе фрагмент создаёт и размещает элементы управления на основе специального XML-файла, описывающего разметку. Помимо этого, здесь же инициализируются обработчики событий для визуальных элементов, представляющих ту или иную опцию.

Класс Camera Activity

Данный класс ассоциирован с активити управления камерой. Основными его функциями являются отображение на экране видеопотока с камеры, работа с настройками камеры, получение снимков, а также обработка поворотов экрана телефона.

Константы:

- PROPERTY_SIZE_INDEX - константа-ключ для доступа к опции размера изображения.

-   PROPERTY_FLASH - константа-ключ для доступа к опции вспышки.

Поля:

- camera - поле типа Camera, содержащее ссылку на объект-камеру.

-   cameraId - поле типа Camera, содержащее идентификатор камеры.

-   Bottom Panel - поле типа Linear Layout, содержащее ссылку на панель с кнопками выбора снимка.

-   Bottom Panel Hidden use Auto Focus - флаг типа boolean, показывающий состояние панели bottom Panel.

-   Camera Button Layout - поле типа Relative Layout, содержащее ссылку на панель-контейнер для кнопки снимка.

-   Camera Button - поле типа Button, содержащее ссылку на кнопку снимка.

-   Camera IconImage - поле типа Image View, содержащее ссылку на иконку кнопки снимка.

-   Orientation Observer - поле типа Orientation Event Listener, содержащее ссылку на обозреватель смены ориентации дисплея.

-   Icon Orientation - поле типа int, содержащее текущую ориентацию дисплея.

-   Picture Sizes - поле, содержащее массив элементов типа Camera. Size, соответствующих трём (или менее) минимальным разрешениям камеры телефона.

-   Picture Size Index - поле типа int, содержащее позицию текущего разрешения снимка в списке pictureSizes.

-   preferences - поле типа Shared Preferences, содержащее ссылку на модуль настроек.

-   Use Auto Focus - флаг типа boolean, указывающий на возможность использования автофокуса при съёмке.

-   Use Flash - флаг типа boolean, указывающий на необходимость использования вспышки при съёмке.

-   Has Flash - флаг типа boolean, указывающий на наличие вспышки у телефона.

-   Action Bar - поле типа ActionBar, содержащее ссылку на панель меню.

-   Settings Button - поле типа Button, содержащее ссылку на кнопку настройки разрешения снимка.

-   Settings Image View - поле типа Image View, содержащее ссылку на иконку кнопки настройки разрешения снимка.

-   Log Out Button - поле типа Button, содержащее ссылку на кнопку выхода из аккаунта.

-   Log OutImage View - поле типа Image View, содержащее ссылку на иконку кнопки выхода из аккаунта.

-   Flash Button - поле типа Button, содержащее ссылку на кнопку настройки вспышки.

-   Flash Image View - поле типа Image View, содержащее ссылку на иконку кнопки настройки вспышки.

-   Popup Window - поле типа Popup Window, содержащее ссылку на всплывающее окно со списком доступных разрешений снимка.

-   Popup Window Center - поле типа int, содержащее горизонтальную координату центра всплывающего окна popupWindow.

-   Surface Holder - поле типа Surface Holder, содержащее ссылку на специальный объект для взаимодействия с визуальным компонентом для отображения потокового видео.

Методы:

- int find Back Facing Camera () - метод, осуществляющий поиск идентификатора основной камеры телефона.

-   Camera try Get Back Camera () - метод, возвращающий объект-камеру, при условии её наличия.

-   void close Camera () - метод, высвобождающий объект-камеру.

-   int get Rotation Value () - метод, осуществляющий

-   boolean get Flash Availability () - метод, вычисляющий угол поворота камеры.

-   Camera. Size[] get Picture Sizes (Camera camera) - метод, возвращающий список из трёх или менее минимальных разрешений камеры.

-   void set Picture Size (int index) - метод, устанавливающий одно из разрешений из списка picture Sizes.

-   void set Flash Mode(boolean use Flash) - метод, включающий и выключающий вспышку.

-   void set Up Camera Parameters () - метод, осуществляющий установку необходимых для съёмки параметров камеры.

-   void reset Camera Preview (Surface Holder holder) - метод, осуществляющий переинициализацию визуального компонента для вывода видеопотока с камеры.

-   void onItem Click (Adapter View<?> adapter View, View view, int i, long l) - метод интерфейса List View. On Item Click Listener, осуществляющий обработку кликов по элементам списка List View.

-   void navigate To Login Activity () - метод, осуществляющий переход к активити авторизации.

-   void navigate To Data Activity () - метод, осуществляющий переход к активити метаданных.

-   void surface Created (Surface Holder surface Holder) - метод интерфейса Surface Holder. Callback, вызываемый при изменении размеров элемента управления Surface View.

-   void surface Changed (Surface Holder surface Holder, int i, int i2, int i3) - метод интерфейса Surface Holder. Callback, вызываемый при уничтожении элемента управления Surface View.

-   void surface Destroyed (Surface Holder surface Holder) - метод интерфейса Surface Holder. Callback, вызываемый при создании элемента управления Surface View.

-   void on Picture Taken (byte[] bytes, Camera camera) - метод интерфейса Camera. Picture Callback, вызываемый при получении снимка.

-   void on Auto Focus (boolean b, Camera camera) - метод интерфейса Camera. Auto Focus Callback, вызываемый при срабатывании автофокуса.

-   byte[] correctImage(byte[] data) - метод, преобразующий полученный с камеры снимок к формату JPEG.

-   Bitmap rotate Image (Bitmap bitmap, int degree) - метод, осуществляющий поворот фотографии в соответствии с ориентацией дисплея.

-   void swap Elements Visibility() - метод, осуществляющий смену элементов управления между режимами съёмки и сохранения снимка.

-   void rotate Popup (int to Orientation) - метод, осуществляющий поворот всплывающего окна po pupWindow.

-   void try Start Rotation (View view, int toOrientation) - метод, осуществляющий поворот одной иконки.

-   void rotateImages (int to Orientation) - метод, осуществляющий поворот всех иконок.

-   Rotate Animation get Animation (int to Orientation) - метод, возвращающий объект-анимацию для поворота иконок.

-   void update Flash Icon() - метод, осуществляющий отображение корректной иконки, отображающей режим вспышки.

-   void set Up Orientation Event Listener() - метод, возвращающий объект-слушатель orientation Observer.

-   Popup Window set Up Popup Window() - метод, создающий дочерние элементы управления для всплывающего окна popup Window.

-   Array List<String> get Human Readable Headers() - метод, преобразующий набор разрешений камеры к понятному для человека виду.

-   void set Popup List Content (List View list, final Array List <String> human Readable Headers) - метод, заполняющий значениями всплывающее окно popup Window.

-   Popup Window get Popup Window (View view, int width, int height) - метод, создающий всплывающее окно popup Window.

Класс Data Activity

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

Константы:

- ACTION_CODE_UPLOAD - идентификатор интента, ассоциированного с действием загрузки фото.

-   ACTION_CODE_SAVE - идентификатор интента, ассоциированного с действием отправки метаданных и сохранения фото.

-   ACTION_CODE_LOCATION - идентификатор интента, ассоциированного с действием получения координат.

-   CITIES_LOADER - идентификатор загрузчика списка городов.

-   STREETS_LOADER - идентификатор загрузчика списка улиц.

-   STORES_LOADER - идентификатор загрузчика списка магазинов.

-   CATEGORIES_LOADER - идентификатор загрузчика списка категорий.

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

-   PROGRESS_DIALOG_TAG - тег диалогового фрагмента, используемого для предоставления шанса повторного сохранения при ошибке.

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

-   SKIP_LOCATION_DIALOG_TAG - тег диалогового фрагмента, используемого для предоставления возможности пропустить этап получения координат.

Поля:

- Loader Manager - поле типа Loader Manager, содержащее ссылку на менеджер загрузчиков.

-   View Mapping - поле, содержащее массив идентификаторов типа int, задающих объекты для отображения данных в списке.

-   sendItem - поле типа Menu Item, содержащее ссылку на пункт меню для отправки снимка.

-   Send Button - поле типа Button, содержащее ссылку на кнопку отправки снимка.

- Progress Dialog - поле типа Progress Dialog Fragment, содержащее ссылку на диалоговый фрагмент, используемый для отображения прогресса выполнения задачи.

-   Report Dialog - поле типа Report Dialog Fragment, содержащее ссылку на диалоговый фрагмент, используемый для отображения информации об ошибках.

-   Try Again Dialog - поле типа Two Option Dialog Fragment, содержащее ссылку на диалоговый фрагмент, используемый для предоставления возможности пропустить этап получения координат.

-   Skip Location Dialog - поле типа Two Option Dialog Fragment, содержащее ссылку на диалоговый фрагмент, используемый для предоставления возможности пропустить этап получения координат.

- Has Problem Check Box - поле типа Check Box, содержащее ссылку на флажо, показывающий наличие проблем.

-   Comments Edit Text - поле типа Edit Text, содержащее ссылку на тестовое поле для ввода комментария.

-   Last FileId - поле типа String, содержащее идентификатор последнего загруженного снимка.

-   Successfully Saved - флаг типа boolean, указывающий на успешное сохранение снимка.

- preferences - поле типа Shared Preferences, содержащее ссылку на модуль настроек.

Методы:

- void try Begin Upload() - метод, осуществляющий валидацию пользовательского ввода перед операцией авторизации, а также отображающий результаты валидации.

-   void begin Upload() - метод, запускающий процесс асинхронной загрузки фото. В качестве завершающего метода используется on Activity Result.

-   void begin Get Location() - метод, запускающий процесс асинхронного получения координат. В качестве завершающего метода используется on Activity Result.

-   void begin Save (Location location) - метод, запускающий процесс асинхронного сохранения фото.

-   void end Save()- метод, вызываемый при окончании сохранения.

-   void setup Spinners() - метод, инициализацию выпадающих списков.

-   String get Spinner Value (String valueName) - метод, позволяющий получить текущее значение из выпадающего списка по имени колонки из таблицы БД, которая ассоциирована с определённым списком.

-   int getSpinner ValueId (Spinner spinner) - метод, позволяющий получить первичный ключ записи БД, значение которой выбрано в выпадающем списке.

-   void update Store Adapter() - метод, осуществляющий инициализацию выпадающего списка магазинов.

-   void update Street Adapter() - метод, осуществляющий инициализацию выпадающего списка улиц.

-   void update City Adapter() - метод, осуществляющий инициализацию выпадающего списка городов.

-   void update Categories Adapter() - метод, осуществляющий инициализацию выпадающего списка категорий.

-   void restore Spinner (Spinner spinner, Cursor cursor) - метод, разблокирующий выпадающий список для ввода.

-   void restore Selection (String field Name) - метод, восстанавливающий последнее выбранное значение для выпадающего списка.

-   Loader <Cursor> on Create Loader (int i, Bundle bundle) - метод интерфейса Loader Manager. Loader Callbacks <Cursor>, осуществляющий инициализацию загрузчков.

-   void on Load Finished (Loader<Cursor> cursor Loader, Cursor cursor) - метод интерфейса Loader Manager. Loader Callbacks<Cursor>, вызываемый при готовности загрузчика отдать данных.

-   void on Loader Reset (Loader<Cursor> cursor Loader) - метод интерфейса Loader Manager. Loader Callbacks <Cursor>, вызываемый при сбросе загрузчика.

-   Progress Dialog Fragment get Pro gress Dialog() - метод, возвращающий диалоговый фрагмент, используемый для отображения прогресса выполнения задачи.

-   Report Dialog Fragment set Report Dialog (int title Id) - метод, возвращающий диалоговый фрагмент, используемый для отображения информации об ошибках с заданным заголовком.

-   Report Dialog Fragment set Report Dialog (int titleId, int messageId) - метод, возвращающий диалоговый фрагмент, используемый для отображения информации об ошибках с заданным заголовком и телом сообщения.

-   Two Option Dialog Fragment get Try Again Dialog()- метод, возвращающий диалоговый фрагмент, используемый для предоставления возможности пропустить этап получения координат.

-   Two Option Dialog Fragment get Skip Location Dialog()- метод, возвращающий диалоговый фрагмент, используемый для предоставления возможности пропустить этап получения координат.

Класс WorkerService

Данный класс является наследником класса Inent Service и представляет собой сервис фоновой обработки операций со встроенной очередью обработки сообщений. Класс содержит набор строковых констант вида «ACTION _XXX», используемых со схожей целью, что и аналогичные целочисленные константы в классах-активити. Однако, если целочисленные константы используются для идентификации необходимого результата, то строковые константы используются для идентификации вызываемого метода.

Константы:

-   ACTION_UPLOAD_PICTURE - идентификатор интента, запускающего операцию загрузки фото.

-   ACTION_SAVE_PICTURE - идентификатор интента, запускающего операцию сохранения фото.

-   PENDING_INTENT_FIELD - ключ по которому доступен ожидающий интент для обратной связи с активити-инициатором.

-   SERVICE_ERROR - код ошибки, означающий ошибку сервиса. Может быть передан в вызывающую активити в метод on Activity Result в качестве параметра result Code.

-   UNKNOWN_HOST - код ошибки, означающий неверный адрес сервера. Может быть передан в вызывающую активити в качестве данных внутри интента.

-   HOST_NOT_SPECIFIED - код ошибки, означающий отсутствие связи. Может быть передан в вызывающую активити в качестве данных внутри интента.

-   IO_ERROR - код ошибки, означающий ошибку ввода/вывода. Может быть передан в вызывающую активити в качестве данных внутри интента.

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

Поля:

- Pending Intent - поле типа IWeb Client, содержащее ссылку на ожидающий интент для обратной связи с активити-инициатором.

-   Web Client - поле типа Pending Intent, содержащее ссылку на веб-клиент.

-   Host Name - поле типа String, содержащее имя сервера.

Методы:

- void on Create() - метод вызываемый после создание сервиса. Аналогичен конструктору, однако в отличие от него может общаться ко всем системным компонентам.

-   void on Handle Intent (Intent intent) - основной метод сервиса. Извлекает очередной интент из очереди сообщений и передаёт его на обработку сервису. В зависимости от идентификатора интента будет вызван один из описанных далее методов.

-   void logIn (Intent intent) - метод, осуществляющий операцию авторизации, а также, в случае успеха, запускающий обновление кэша.

-   void upload Picture() - метод, осуществляющий загрузку фото.

-   void savePicture (Intent intent) - метод, осуществляющий сохранение фото.

-   void send Pending (Intent intent) - метод, осуществляющий отправку ожидающего интента для обратной связи с активити-инициатором.

-   void repor tError(String message) - метод, осуществляющий отправку ожидающего интента с заданным сообщением об ошибке.

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

3.3 Описание классов взаимодействия с данными

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