Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Мобільний додаток для оцінки ефективності мерчандайзингу торгової компанії

Реферат Мобільний додаток для оцінки ефективності мерчандайзингу торгової компанії





кстом є метод on Handle Intent класу Worker Service:

@ Override

protected void on Handle Intent (Intent intent) {

try {(hostName!=null amp; amp;! hostName.isEmpty ()) {action=intent.getAction (); (intent.hasExtra (PENDING_INTENT_FIELD)) {= intent.getParcelableExtra (_INTENT_FIELD );

} (ACTION_LOGIN.equals (action)) {(intent);

} else if (ACTION_UPLOAD_PICTURE. (action)) {();

} else if (ACTION_SAVE_PICTURE. (action)) {(intent);

}

} else {(HOST_NOT_SPECIFIED);

}

} catch (UnknownHostException ex) {(UNKNOWN_HOST);

} catch (IOException ex) {.printStackTrace (); (IO_ERROR);

}}

Метод on Handle Intent визначений у базовому класі Intent Service і працює наступним чином: коли який-небудь компонент посилає сервісу запит за допомогою ІНТЕНТ, переданого в метод start Service, даний Інтент обертається в об'єкт Message і додається в чергу обробки повідомлень, асоційовану з екземпляром класу Handler. Кожна чергу також асоційована з певним потоком, в якому буде проводиться обробка повідомлень. Якщо об'єкт Handler визначає, що потік обробки простоює, то він витягує чергове повідомлення (об'єкт класу Message) з черги і передає його в метод handle Message. Цей метод класу Handler не виробляє ніякої обробки повідомлення, тому для створення працездатної черзі обробки використовуються спадкоємці класу Handler. Клас Intent Service містить посилання на нащадок класу Handler, який в методі handle Message витягує Інтент з об'єкта Message і передає в метод on Handle Intent. Сам Intent Service, аналогічно класу Handler, не забезпечує ніякої обробки переданих в on Handle Intent ІНТЕНТ, для чого також використовуються класи-спадкоємці, яким і є клас Worker Service. Таким чином, метод on Handle Intent гарантовано викликається у відмінному від головного потоці, а блок catch з типом IO Exception забезпечує обробку помилок введення/виводу.

У методі on Handle Intent немає прямих викликів методів інтерфейсу IWeb Client, проте вони є всередині методів log In, upload Picture і save Picture. Лістинг цих методів наведено нижче разом з лістингом методу report Error, що забезпечує інформування про помилки, а також аналогічного йому методу send Pending, информирующего про успішне закінчення операції.


private void reportError (String message) {{.send (this, SERVICE_ERROR, Intent (). (CommonConstants.ERROR_FIELD, message));

} catch (PendingIntent.CanceledException e) {.printStackTrace ();

} void sendPending (Intent intent) {{.send (this, Activity.RESULT_OK, intent);

} catch (PendingIntent.CanceledException e) {.printStackTrace ();

}


Неважко помітити, що метод send Pending відрізняється від report Error тим, що використовує код Activity.RESULT_OK і не передає ніякої додаткової інформації про помилки.


private void logIn (Intent intent) throws IOException {login=intent.getStringExtra (.LOGIN_FIELD); password=intent.getStringExtra (.PASSWORD_FIELD); role=webClient.logIn (login, password); ( new Intent (). (CommonConstants.ROLE_FIELD, role)); (AuthorizationHelper.isValidRole (role)) {provider=

DataProvider.getInstance(this);.updateStores(webClient.updateStores(.getLastStoresVersion()));.updateCategories(webClient.(provider.

getLastCategoriesVersion ()));

}


Даний метод інкапсулює витяг з ІНТЕНТ необхідних параметрів, а також здійснює оновлення кеша при успішної авторизації. Таке поєднання дій виявляється досить зручним, якщо взяти до уваги те, що, по-перше, метод logIn виконується у фоновому потоці, і, отже, тривалі і ресурсомісткі операції з базою даних не займатимуть основний потік виконання. По-друге, додаток не повинно допускати користувача до редагування метаданих до тих пір, поки кеш знаходиться в неактуальному стані. Таким чином, операції завантаження і збереження фотографії гарантовано не будуть витягнуті з черги обробки повідомлень до тих пір, поки не закінчиться оновлення БД.


private void uploadPicture () throws IOException {(SERVICE_UPLOADING, ()); [] picture=ImageStore.getImage (); fileId=webClient.uploadPicture (picture); (true); (fileId!= null) {(new Intent (). putExtra (.FILE_ID_FIELD, fileId)) ;;

} ( Uploading error );

}


Метод upload Picture, що здійснює завантаження фото на сервер, показує відразу два характерних для Android-додатків рішення. По-перше, оскільк...


Назад | сторінка 20 з 34 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Порівняння ефективності різних методів розв'язання систем лінійних алге ...
  • Реферат на тему: Порівняння методів одновимірної оптимізації: метод золотого перетину і мето ...
  • Реферат на тему: Метод екструзії як основний метод для отримання плівок з поліамідів
  • Реферат на тему: Рішення систем нелінійніх рівнянь. Метод ітерацій. Метод Ньютона-Канторов ...
  • Реферат на тему: Метод Ньютона (метод дотичних). Рішення систем нелінійних алгебраїчних рів ...