Створення Android-додатки і веб-додатки для моніторингу значень в таблиці локальної бази даних

  1. Про приклад додатка DBStat
  2. Що потрібно для створення подібного програми
  3. Зауваження до інструкцій
  4. Крок 1. Налаштування служб Bluemix
  5. Liberty for Java
  6. Mobile Data
  7. Push
  8. Cloud Integration
  9. Крок 2. Запис інформації про програму
  10. Крок 3. Установка Cloud Integration Secure Connection
  11. Крок 4. Створення API-інтерфейсу Cloud Integration Enterprise
  12. Крок 5. Запис інформації про API-інтерфейсі Enterprise
  13. Крок 6. Створення проекту Google і запис інформації
  14. Крок 7. Налаштування служби Bluemix Push
  15. Крок 8. Завантаження і регіональні настройки прикладу веб-додатки
  16. Крок 9. Завантаження і установка мобільного push-додатки
  17. Google Play Services
  18. Крок 10. Завантаження та установка прикладу коду мобільного Android-додатки
  19. Мобільний додаток DBStat
  20. Крок 11. Завантаження та установка інструменту командного рядка CF
  21. Крок 12. Розгортання прикладу веб-додатки в Bluemix.
  22. Перевірка результатів
  23. Висновок
  24. Ресурси для скачування

Використання служб на платформі IBM Bluemix для отримання push-повідомлень про зміни

Ті, хто звик вручну стежити за значеннями таблиці бази даних, знають, як важка може бути ця задача. У цьому керівництві показано, як налаштувати і використовувати служби Bluemix (такі як Cloud Integration і Push ), Щоб перевіряти значення стовпця таблиці локальної бази даних і отримувати push-повідомлення при зміні цих значень.

Для практичних цілей в прикладах коду і в цьому керівництві я використовую таблицю бази даних DB2 з IBM Content Manager Enterprise Edition для перевірки того, чи запущений компонент Resource Manager системи IBM Content Manager, чи ні. При зміні стану Resource Manager відправляється push-повідомлення в Android-пристрій. Я можу переглядати і контролювати значення будь-якого стовпця таблиці бази даних, яка підтримується службою Bluemix Cloud Integration. І бачити значення з таблиці на своєму Android-пристрої або в Інтернеті, використовуючи приклад програми DBStat, який я створив в Bluemix.

Отримати код Android-додатки Отримати код веб-додатки

Про приклад додатка DBStat

Розгорнуте в Bluemix веб-додаток DBStat, яке працює на платформі Liberty for Java , Періодично перевіряє значення в таблиці локальної бази даних. Воно використовує динамічно створюваний REST API-інтерфейс для підключення до локальної базі даних і отримання поточного значення з таблиці.

Підключення до локальної базі даних стало можливим завдяки службі Cloud Integration Secure Connection. Потім початкове значення з таблиці зберігається в службі Mobile Data за допомогою REST API Data.

Поточне значення з таблиці бази даних перевіряється кожну хвилину і порівнюється з раніше збереженим значенням в Mobile Data. Якщо значення розрізняються, веб-додаток DBStat оновлює значення в Mobile Data поточним значенням і відправляє push-повідомлення за допомогою REST API служби Push .

Що потрібно для створення подібного програми

  • Обліковий запис Bluemix , Що дозволить використовувати в своєму додатку наступні служби:
    • Liberty for Java runtime - перевіряє значення з таблиці локальної бази даних;
    • Mobile Data service - в цій службі зберігається значення з таблиці локальної бази даних;
    • Mobile Application Security service - ця служба забезпечує доступ до додатків і безпеку;
    • Push service - ця служба відправляє повідомлення при зміні значення в таблиці бази даних;
    • Cloud Integration service - ця служба забезпечує безпечне з'єднання з локальною базою даних.
  • Повинні бути встановлені наступні програми:
  • Обліковий запис DevOps Services для отримання зразка коду мобільного або веб-додатки (див. кнопки вище).

Зауваження до інструкцій

Протягом цього керівництва використовується назва програми, які я застосовував при виконанні цих інструкцій. Наприклад, коли ви бачите ім'я DBStat, не забудьте замінити його ім'ям свого власного додатка.

Крок 1. Налаштування служб Bluemix

Виконайте наступні дії для створення необхідних служб Bluemix.

Liberty for Java

  1. Увійдіть в Bluemix .
  2. Виберіть CATALOG з меню і знайдіть розділ Runtimes.
  3. Виберіть Liberty for Java.
  4. У розділі Start with a runtime введіть унікальне ім'я, відмінне від DBStat, яке вже використовується.
  5. Поле домену буде заповнено автоматично (mybluemix.net).
  6. Leave Selected Plan: Default.
  7. Натисніть кнопку CREATE.

    Дочекайтеся повідомлення Your app is running в розділі APP HEALTH.

Примітка. Якщо з'явиться повідомлення про те, що потрібно перезапустити програму, натисніть кнопку ОК.

Mobile Data

  1. Виберіть CATALOG з меню і знайдіть розділ Mobile.
  2. Виберіть Mobile Data.
  3. Виберіть свій додаток у спадному меню App.
  4. Leave Selected Plan: Shared.
  5. Натисніть кнопку CREATE.

Дочекайтеся повідомлення Your app is running в розділі APP HEALTH.

  1. Виберіть CATALOG з меню і знайдіть розділ Mobile.
  2. Виберіть Mobile Application Security.
  3. Виберіть свій додаток у спадному меню App.
  4. Leave Selected Plan: Standard.
  5. Натисніть кнопку CREATE.

Дочекайтеся повідомлення Your app is running в розділі APP HEALTH.

Push

  1. Виберіть CATALOG з меню і знайдіть розділ Mobile.
  2. Виберіть Push.
  3. Виберіть свій додаток у спадному меню App.
  4. Leave Selected Plan: Standard.
  5. Натисніть кнопку CREATE.

Дочекайтеся повідомлення Your app is running в розділі APP HEALTH.

Cloud Integration

  1. Виберіть CATALOG з меню і знайдіть розділ Integration.
  2. Виберіть Cloud Integration.
  3. Виберіть свій додаток у спадному меню App.
  4. Leave Selected Plan: Cloud Integration Plan.
  5. Натисніть кнопку CREATE.

Дочекайтеся повідомлення Your app is running в розділі APP HEALTH.

Крок 2. Запис інформації про програму

Після створення служб Bluemix виконайте наступні дії для запису ключових відомостей про своєму додатку. Ця інформація знадобиться пізніше для прикладу коду DBStat.

Примітка. У цьому керівництві в якості прикладу приведена інформація про моє додатку. Не забудьте використовувати замість цих прикладів свою інформацію.

Увійшовши в Bluemix:

  1. Виберіть з меню DASHBOARD і виберіть свій додаток в розділі Applications.
  2. Виберіть MOBILE OPTIONS і знайдіть варіант 3.
  3. Запишіть ідентифікатор додатки.

    Приклад: 6e18da73-08e9-4d35-9190-a422541ffe07

  4. Запишіть секретний ключ свого застосування.

    Приклад: 322212ee2e2ad64636791bb2fb03b0f4760ebfa8

  5. Запишіть маршрут додатки.

    Приклад: DBStat.mybluemix.net

Крок 3. Установка Cloud Integration Secure Connection

Встановіть на машину, що має доступ до вашої локальної базі даних, програмне забезпечення Cloud Integration Secure Connection. Для цього керівництва я використав Windows-комп'ютер з встановленою базою даних IBM Content Manager Library Server.

Увійшовши в Bluemix:

  1. Натисніть кнопку DASHBOARD, виберіть свій додаток, виберіть Cloud Integration і натисніть кнопку SECURE CONNECTIONS. Ви побачите сторінку Manage Secure Connections.
  2. В поле Name your connection введіть W520.
  3. У розділі Standard натисніть кнопку Add.
  4. А в розділі Driver натисніть кнопку INSTALL. Ви побачите спливаюче вікно:
  5. У відповідь на перший запит натисніть кнопку Config.
  6. Завантажте файл конфігурації, створений спеціально для вас. У моєму прикладі файл конфігурації називається: f5bg64b8-e8ee-458f-9b1d-eb1dda8fea15_W520-config_file.
  7. У відповідь на другий запит натисніть кнопку Windows 64 bit.
  8. Скачайте файл windows-secure-connector-installer_64.exe.

На Windows-комп'ютері запустіть файл windows-secure-connector-installer_64.exe для установки Cast Iron Secure Connector:

  1. Install> Next.
  2. Accept license> Next.
  3. Installation path: C: \ Program Files (x86) \ IBM \ Secure_Connector_1.7.0.0.1> Next.
  4. Target directory> OK.
  5. Shortcuts> Next.
  6. Finished> Next.
  7. Secure Connector Configuration File: <browse to the location for f5bg64b8-e8ee-458f-9b1d-eb1dda8fea15_W520-config_file>> Next.
  8. Secure Connector Configuration> Next.
  9. Proxy Configuration> Next.
  10. Check "Install and run Secure Connector as a Windows service "> Next.
  11. Processing> Next.
  12. Create Third Party Jar> Next.
  13. Update changes> NO.
  14. Installation completed> Done.

Запустіть службу Cast Iron Secure Connector на панелі служб Windows.

На панелі Bluemix Manage Secure Connections:

  1. Натисніть на знак X, щоб закрити спливаюче вікно.
  2. У розділі Action клацніть на значку поновлення. Стан зміниться з Not Connected на Connected.
  3. Натисніть кнопку Done.

Крок 4. Створення API-інтерфейсу Cloud Integration Enterprise

Увійшовши в Bluemix:

  1. Натисніть кнопку DASHBOARD, виберіть свій додаток, виберіть Cloud Integration і натисніть кнопку APIS. Натисніть кнопку Create API.
  2. Ви побачите повідомлення: "How can others in this organization find your API?"
  3. Дайте API ім'я: W520.
  4. Опишіть свій API: W520 API.
  5. Натисніть кнопку Generate from an Enterprise Endpoint.
  6. У розділі Resource виберіть пункт Connect to your first Enterprise Endpoint.
  7. Виберіть DB2 для підключення до кінцевої точки Enterprise Endpoint.
  8. Ви побачите повідомлення: "Where is the database or SAP? W520 (Connected)". Якщо ви використовуєте власну базу даних, то на наступних кроках введіть відомості про цю базі даних.
    Name of Database: icmnlsdb.
  9. Hostname or IP Address: localhost.
  10. Port: 50000.
  11. Username: icmadmin.
  12. Password: <password>.
  13. Click Connect.

Після успішного підключення виконайте наступні дії, щоб створити свій API-інтерфейс.

  1. У розділі Resources ви побачите повідомлення: "Next, build your API by connecting to the Enterprise Endpoint you want to use." Якщо ви використовуєте власну базу даних, то на наступних кроках введіть відомості про цю базі даних.
    Виберіть свою кінцеву точку Enterprise Endpoint: icmnlsdb-localhost W520.
  2. Виберіть схему: ICMADMIN.
  3. Виберіть таблицю, для якої створюється API: ICMSTRESOURCEMGR. Ви побачите повідомлення: "Now you can choose which resources you want to make available".
  4. Переконайтеся, що в полі Include справа вказані всі методи (GET, POST, PUT, DELETE).
  5. Натисніть кнопку Create API.

Крок 5. Запис інформації про API-інтерфейсі Enterprise

Створивши API-інтерфейс Cloud Integration Enterprise, запишіть відомості про секретний ключі і URL-адресу свого API. Ця інформація буде використовуватися в прикладі коду веб-додатки DBStat.

Увійшовши в Bluemix:

  1. Відкрийте DASHBOARD, виберіть свій додаток, виберіть Cloud Integration і W520 API.
  2. Запишіть значення секретного ключа API.

    Приклад: 'API_SECRET': 33d3f0b16e765e8d0c4d3b428abcdb4f18cfaa4cd38f6d1065093e512b32e9afe1aced892e42c59aea3082441e3c63f5

  3. Запишіть URL GET (до імені схеми).

    Приклад: https://provide.castiron.com/env/DatabaseEP/database/8e48ebd5-cc0c-4a96-a904-3e29609d737e

Крок 6. Створення проекту Google і запис інформації

Інформація, отримана з проекту Google, знадобиться для настройки служби Bluemix Push.

  1. Відкрийте сторінку https://cloud.google.com/console/project .
  2. Натисніть кнопку Create Project.
  3. Ім'я проекту: DBStat.
  4. Відзначте пункт: "I have read and agree to the Google Cloud Platform Terms of Service."
  5. Натисніть кнопку Create.
  6. Запишіть номер проекту, зазначений у верхній частині сторінки.

    Приклад: 62537192145

  7. Виберіть APIs & auth в лівій частині сторінки.
  8. Коли з лівого боку з'являться підрозділи API і auth, натисніть кнопку APIs.
  9. Увімкніть функцію Google Cloud Messaging for Android (прокрутивши список вниз).
  10. Натисніть кнопку Credentials зліва.
  11. Натисніть кнопку Create new key.
  12. Виберіть Server key.
  13. Натисніть кнопку Create.
  14. Запишіть ключ свого API.

    Приклад: BJabSyDQagRuBHscjVMz0VdO-Uxyrtm86dsMY3Y

Крок 7. Налаштування служби Bluemix Push

Використовуйте інформацію, отриману з проекту Google, для настройки служби Bluemix Push.

Увійшовши в Bluemix:

  1. Виберіть DASHBOARD з меню і в розділі Services натисніть кнопку Push.
  2. Ви побачите розділи "Configuration" і "Google Cloud Messaging". У розділі Google Cloud Messaging натисніть кнопку EDIT.
  3. Введіть параметри GCM API Key і Google API Project Number для обох конфігурацій Sandbox Configuration і Production Configuration.
  4. Натисніть кнопку SAVE.

Крок 8. Завантаження і регіональні настройки прикладу веб-додатки

Виконайте наступні дії, щоб завантажити вихідний код прикладу веб-додатки DBStat.

  1. Перейдіть на сторінку проекту DevOps Services і виберіть пункт меню EDIT CODE. Потім завантажте код:
    git clone https://hub.jazz.net/git/bluebrain/DBStatWebApp
  2. Відредагуйте файл dbstat.properties, як показано нижче, вказавши свою інформацію.
  3. Цей код пов'язаний з файлом org.json-20120521.jar, який ліцензується по GPL версії 2 і доступний на сторінці https://code.google.com/p/org-json-java/downloads/list . Додайте цей jar-файл в папку WEB-INF / lib коду DBStat. Цей jar-файл використовується для аналізу JSON-об'єктів.

Примітка. Потрібно змінити наступні значення в файлі WEB-INF / classes / dbstat.properties відповідно до вашої інформацією.

# Схема БД і ім'я таблиці DB_SCHEMA_NAME = ICMADMIN DB_TABLE_NAME = ICMSTRESOURCEMGR # виберіть тільки рядок, що містить значення «rmdb» в стовпці «RMNAME» DB_ROW_COLUMN_NAME = RMNAME DB_ROW_COLUMN_VALUE = rmdb # вибравши зазначену вище рядок, перевірте значення стану БД в стовпці «RMFLAGS» DB_STATUS_COLUMN_NAME = RMFLAGS # Ідентифікатор додатка, секретний ключ додатки і секретний ключ api APP_ID = 6e18da73-08e9-4d35-9190-a422541ffe07 APP_SECRET = 322212ee2e2ad64636791bb2fb03b0f4760ebfa8 API_SECRET = 33d3f0b16e765e8d0c4d3b428abcdb4f18cfaa4cd38f6d1065093e512b32e9afe1aced892e42c59aea3082441e3c63f5 # URL-адресу для підключення до БД REST_API_URL = https://provide.castiron.com/env/DatabaseEP/database/8e48ebd5-cc0c-4a96-a904-3e29609d737e

У наведеному вище прикладі ICMSTRESOURCEMGR - це таблиця Library Server в IBM Content Manager, в якій містяться відомості про стан диспетчера ресурсів. Диспетчер ресурсів називається rmdb, і це значення знаходиться в стовпці таблиці з ім'ям RMNAME. Стан - це значення, вказане в стовпці RMFLAGS таблиці.

Веб-додаток DBStat використовує REST_API_URL для звернення до таблиці DB_TABLE_NAME за рядком зі значенням DB_ROW_COLUMN_VALUE в стовпці DB_ROW_COLUMN_NAME.

REST_API_URL = props.getProperty (REST_API_URL) + "/" + DB_SCHEMA_NAME + "/ Tables /" + DB_TABLE_NAME + "?" + DB_ROW_COLUMN_NAME + "=" + DB_ROW_COLUMN_VALUE; // url rest api для читання рядка таблиці БД String Url_value = REST_API_URL; String serverURL = new URL (Url_value); // секретний ключ bluemix-додатки String API_SECRET_key = "API_SECRET"; String API_SECRET_value = API_SECRET; httpConnection = (HttpURLConnection) serverURL.openConnection (); httpConnection.setRequestProperty (API_SECRET_key, API_SECRET_value);

Відповідь на запит повертається в форматі JSON, як показано в наступному прикладі:

{ "Rows": { "row": { "RMCODE": 1, "RMPLATFORM": "0", "USERID": "ICMADMIN", "CHANGED": "2014-06-10 03: 35: 16.311", "RMFLAGS": 2, "TOKENDURATION": 172800, "DOMAINID": 2, "RMUSERID": "RMADMIN", "RMNAME": "rmdb", "INETADDR": "W520.svl.ibm.com", "CURRENTVERSION ": 8.4.03.300," CACHEOBJSIZELIMIT ":" 0.0 "," RMPASSWORD2 ":" [B @ abcd2a9b "}}}

У наведеному вище прикладі повертається один рядок зі значенням для «RMNAME»: «rmdb» і станом БД «RMFLAGS»: 2. Нам необхідно проаналізувати цей JSON-об'єкт, щоб отримати значення 2 в якості стану нашої БД з «RMFLAGS»: 2.

// синтаксичний аналіз json-об'єкта для отримання значення стану БД з «DB_STATUS_COLUMN_NAME: dbStatus» int dbStatus = -1; JSONObject jsonObject = new JSONObject (builder.toString ()); System.out.println ( "json object:" + jsonObject.toString ()); System.out.println ( "rows:" + jsonObject.get ( "rows")); if (jsonObject.get ( "rows"). toString (). length ()> 0) {jsonObject = (JSONObject) jsonObject.get ( "rows"); jsonObject = (JSONObject) jsonObject.get ( "row"); System.out.println ( "row:" + jsonObject.toString ()); dbStatus = jsonObject.getInt (DB_STATUS_COLUMN_NAME); System.out.println (DB_STATUS_COLUMN_NAME + ":" + dbStatus); }

Потім початкове значення стану БД поміщаються в інший JSON-об'єкт.

// використання атрибута «name» в форматі json-об'єкта для створення об'єкта mobile data, що містить дані «DB_ROW_COLUMN_VALUE: dbStatus» String json = "[{\" className \ ": \" Item \ ", \" attributes \ ": { \ "name \": \ "" + DB_ROW_COLUMN_VALUE + ":" + dbStatus + "\"}, \ "objectId \": \ "" + DB_ROW_COLUMN_VALUE + "\"}] ";

І цей об'єкт зберігається в Mobile Data за допомогою REST API-інтерфейсу Data.

// url rest api для запису нового об'єкта mobile data String Url_value = "https://mobile.ng.bluemix.net:443/data/rest/v1/apps/"+APP_ID+"/uploads";

Поточний стан БД порівнюється з тим, яке було збережено в Mobile Data, з інтервалом в одну хвилину. REST API-інтерфейс Data використовується для запиту в Mobile Data даних про раніше збереженому стані.

// url rest api для читання об'єкта mobile data з ідентифікатором об'єкта DB_ROW_COLUMN_VALUE String Url_value = "https://mobile.ng.bluemix.net:443/data/rest/v1/apps/"+APP_ID+"/objects/"+DB_ROW_COLUMN_VALUE ;

Відповідь від Mobile Data також повертається в форматі JSON і аналізується для отримання стану, попередньо збережено БД.

// розбір атрибута «name» json-об'єкта для отримання значення стану БД з «DB_ROW_COLUMN_VALUE: dbStatus» int dbStatus = -3; if (jsonArray.length () == 0) {System.out.println ( "dbStatus =" + dbStatus); } Else {String name = null; jsonObject = (JSONObject) jsonArray.get (0); System.out.println ( "object:" + jsonObject.toString ()); System.out.println ( "attributes:" + jsonObject.get ( "attributes")); jsonObject = (JSONObject) jsonObject.get ( "attributes"); System.out.println ( "object:" + jsonObject.get ( "name")); name = (String) jsonObject.get ( "name"); System.out.println ( "name =" + name); dbStatus = Integer.parseInt (name.substring (name.indexOf ( ':') + 1)); System.out.println ( "dbStatus =" + dbStatus); }

Якщо стан БД змінилося, то дані мобільного додатка оновлюються, і відправляється push-повідомлення шляхом формування JSON-об'єкта з нашими push-повідомленням та його відправки за допомогою REST API-інтерфейсу Push.

// використання формату json-об'єкта для push-повідомлення, що містить повідомлення «DB_ROW_COLUMN_VALUE: dbStatus» String message = "{\" message \ ": {\" alert \ ": \" "+ DB_ROW_COLUMN_VALUE +": "+ dbStatus +" \ " }, \ "target \": {\ "platforms \": [\ "G \"]}} "; // url rest api для відправки push-повідомлень String Url_value = "https://mobile.ng.bluemix.net:443/push/v1/apps/"+APP_ID+"/messages";

Одномінутний інтервал можна змінити, відредагувавши код у файлі DBStatListener.java.

publicvoid contextInitialized (ServletContextEvent event) {scheduler = Executors.newSingleThreadScheduledExecutor (); scheduler.scheduleAtFixedRate (new DBStatRunner (), // Запуск DBStatRunner () 0, // запустити через 0 хвилин 1, // повторювати кожну 1 хвилину TimeUnit.MINUTES); // використовувати в якості одиниць виміру хвилини}

Крок 9. Завантаження і установка мобільного push-додатки

Для реєстрації свого Android-пристрою в службі push DBStat я використовував додаток quickstart-push-android з quickstart-push . Щоб використовувати додаток quickstart-push-android в проекті Eclipse, потрібно встановити бібліотеки Google Play Services і створити Eclipse-проект.

Google Play Services

  1. Запустіть Android SDK Manager (з Eclipse або командного рядка).
  2. Встановіть служби Google Play з розділу Extras packages.
  3. Знайдіть папку google-play-services_lib серед встановлених на вашій машині файлів служб Google Play. У моїй машині шлях до цієї папки: sdk \ extras \ google \ google_play_services \ libproject \ google-play-services_lib.
  4. В Eclipse виконайте команду Import> Android> Existing Android Code Into Workspace> Next.
  5. Кореневої каталог: <знайдіть і виберіть папку google-play-services_lib>.
  6. Відзначте пункт "Copy projects into workspace".
  7. Натисніть кнопку Finish.

Якщо створений проект Eclipse НЕ компілюється, перевірте вміст файлів .classpath і project.properties.

Файл .classpath повинен виглядати наступним чином:

<Classpath> <classpathentry kind = "con" path = "com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" /> <classpathentry exported = "true" kind = "con" path = "com.android.ide.eclipse. adt.LIBRARIES "/> <classpathentry kind =" src "path =" src "/> <classpathentry kind =" src "path =" gen "/> <classpathentry exported =" true "kind =" con "path =" com .android.ide.eclipse.adt.DEPENDENCIES "/> <classpathentry kind =" output "path =" bin / classes "/> </ classpath>

Файл project.properties повинен виглядати наступним чином:

target = Google Inc.:Google APIs (x86 System Image): 19 android.library = true

Оновлення проект в Eclipse. Тепер ви повинні побачити файл google-play-services_lib.jar, створений в каталозі google-play-services_lib \ bin проекту Eclipse.

Після цього можна перейти до зарузке Push-додатки і створення Eclipse-проекту для нього.

Мобільний Push-додаток

  1. завантажте quickstart-push .
  2. Знайдіть папку quickstart-push-android в каталозі quickstart-push.
  3. В Eclipse виконайте команду Import> Android> Existing Android Code Into Workspace> Next.
  4. Кореневої каталог: <знайдіть і виберіть папку google-play-services_lib>.
  5. Відзначте пункт "Copy projects into workspace".
  6. Натисніть кнопку Finish.

Якщо у файлі .classpath присутні наступні два рядки extra project, видаліть їх:

<Classpathentry combineaccessrules = "false" kind = "src" path = "/ IBMBluemix_AndroidSDK" /> <classpathentry combineaccessrules = "false" kind = "src" path = "/ PushWorks_AndroidSDK" />

Отримайте наступні два jar-файлу з файлу SDK Bluemix ibm-bluemix-sdk-android.zip і додайте в папку libs створеного проекту Eclipse:

ibmbluemix.jar ibmpush.jar

Відредагуйте файл assets \ bluelist.properties і введіть свою інформацію:

applicationID = 6e18da73-08e9-4d35-9190-a422541ffe07 applicationSecret = 322212ee2e2ad64636791bb2fb03b0f4760ebfa8 applicationRoute = DBStat.mybluemix.net

Якщо створений проект Eclipse НЕ компілюється, перевірте вміст файлів .classpath і project.properties.

Файл .classpath повинен виглядати наступним чином:

<Classpath> <classpathentry kind = "con" path = "com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" /> <classpathentry exported = "true" kind = "con" path = "com.android.ide.eclipse. adt.LIBRARIES "/> <classpathentry exported =" true "kind =" con "path =" com.android.ide.eclipse.adt.DEPENDENCIES "/> <classpathentry kind =" src "path =" src "/> < classpathentry kind = "src" path = "gen" /> <classpathentry kind = "output" path = "bin / classes" /> </ classpath>

Файл project.properties повинен виглядати наступним чином:

target = Google Inc.:Google APIs: 19 android.library.reference.1 = .. \\ google-play-services_lib

Оновлення проект в Eclipse. Тепер можна встановити Push-додаток на Android-пристрій.

Клацніть правою кнопкою миші на <project name>> Run As> Android Application, щоб встановити QuickStartPushDemo_Android.apk.

Зверніть увагу, що на Android-пристрої встановлений додаток називається PushServiceQuickStart. Після першого запуску програми ви повинні побачити на екрані, що ваш пристрій зареєстровано.

приклад:

Device is registered with Push Service

Device Id: 6515ed621fde007c807c4130

Крок 10. Завантаження та установка прикладу коду мобільного Android-додатки

В якості основи для прикладу мобільного додатка DBStat я використовував вихідний код програми bluelist-mobiledata . Я змінив цей код, спростивши елементи екрану і додавши кнопку оновлення, яка використовується в цьому посібнику. Завантажте код і створіть проект Eclipse для нього.

Мобільний додаток DBStat

  1. Отримайте мобільний додаток DBStat: git clone https://hub.jazz.net/git/bluebrain/DBStatMobileApp .
  2. В Eclipse виконайте команду Import> Android> Existing Android Code Into Workspace> Next.
  3. Кореневої каталог: <знайдіть і виберіть папку DBStatMobileApp>.
  4. Відзначте пункт "Copy projects into workspace".
  5. Натисніть кнопку Finish.

Отримайте наступні чотири jar-файлу з файлу SDK Bluemix ibm-bluemix-sdk-android.zip і додайте їх в папку libs створеного проекту Eclipse:

ibmbluemix.jar ibmcloudcode.jar ibmdata.jar ibmfilesync.jar

Відредагуйте файл assets \ bluelist.properties і введіть свою інформацію:

applicationID = 6e18da73-08e9-4d35-9190-a422541ffe07 applicationSecret = 322212ee2e2ad64636791bb2fb03b0f4760ebfa8 applicationRoute = DBStat.mybluemix.net

Оновлення проект в Eclipse. Якщо створений проект Eclipse НЕ компілюється, перевірте вміст файлів .classpath і project.properties.

Файл .classpath повинен виглядати наступним чином:

<Classpath> <classpathentry kind = "src" path = "src" /> <classpathentry kind = "src" path = "gen" /> <classpathentry kind = "con" path = "com.android.ide.eclipse.adt .ANDROID_FRAMEWORK "/> <classpathentry exported =" true "kind =" con "path =" com.android.ide.eclipse.adt.LIBRARIES "/> <classpathentry exported =" true "kind =" con "path =" com .android.ide.eclipse.adt.DEPENDENCIES "/> <classpathentry kind =" output "path =" bin / classes "/> </ classpath>

Файл project.properties повинен виглядати наступним чином:

target = android-19 android.library = false

Оновлення проект в Eclipse. Тепер можна встановити додаток DBStat на Android-пристрій.

Клацніть правою кнопкою миші на <DBStat project name>> Run As> Android Application, щоб встановити DBStat.apk.

Крок 11. Завантаження та установка інструменту командного рядка CF

Отримайте інструмент командного рядка CF з https://github.com/cloudfoundry/cli/releases і встановіть його. Командний рядок CF використовується в наступному розділі для передачі веб-додатки DBStat в Bluemix.

Крок 12. Розгортання прикладу веб-додатки в Bluemix.

Для передачі веб-додатки DBStat в Bluemix використовуйте командний рядок cf. Виконайте наступні дії:

  1. cd <каталог, в якому знаходяться файли DBStatWebApp>
  2. cf login
  3. Введіть свій IBM id, який ви використовували для входу в Bluemix:
    <Email>
  4. <Password>

    Ви побачите екран, аналогічний показаному нижче.

    cf login API endpoint: https://api.ng.bluemix.net Email> <your_IBM_id> Password> Authenticating ... OK Targeted org <your_IBM_id> Targeted space dev API endpoint: https://api.ng.bluemix.net (API version: 2.4.0) User: <your_IBM_id> Org: <your_IBM_id> Space: dev
  5. cf push DBStat

    Ви побачите екран, аналогічний показаному нижче.

    cf push DBStat Updating app DBStat in org <your_IBM_id> / space dev as <your_IBM_id> ... OK Uploading DBStat ... Uploading app files from: C: \ DBStatWebApp Uploading 119.7K, 14 files OK Starting app DBStat in org <your_IBM_id > / space dev as <your_IBM_id> ... -----> Downloaded app package (252K) OK -----> Downloaded app buildpack cache (4.0K) -----> Liberty Buildpack Version: v1. 5-20140923-1143 -----> Retrieving IBM 1.7.1 JRE (ibm-java-jre-7.1-1.0-pxa6470_27sr1fp2-20140828_01-sfj.tgz) ... (0.0s) Expanding JRE to .java .. . (0.8s) -----> Retrieving com.ibm.ws.liberty-2014.9.0.0-201409231143.tar.gz ... (0.0s) -----> Uploading droplet (105M) 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 0 of 1 instances running, 1 starting 1 of 1 instances running App started Showing health and status for app DBStat in org <your_IBM_id> / space dev as <your_IBM_id> ... OK requested state: started instances: 1/1 usage: 512M x 1 instances urls: DBStat.mybluemix.net state since cpu memo ry disk # 0 running 2014-09-27 12:14:05 PM 0.0% 98.1M of 512M 141.5M of 1G access https://DBStat.mybluemix.net at least once for initialization to take place

Перевірка результатів

Після успішної установки і запуску веб-додатки DBStat в Bluemix потрібно отримати доступ до веб-додатку, відкривши в браузері сторінку http://DBStat.mybluemix.net, щоб почати ініціалізацію додатки Liberty. Перша ініціалізація займе близько 30 с. Після цього можна запустити мобільний додаток DBStat на Android-пристрої, щоб переглянути поточний стан таблиці своєї локальної бази даних.

Якщо ви використовували приклади таблиці та бази даних з цього керівництва для запису стану диспетчера ресурсів в IBM Content Manager, то повинні побачити в мобільному додатку DBStat стан <RM_DB_name>: <single_digit>. У своїй установці IBM Content Manager при працюючому диспетчері ресурсів я бачу стан rmdb: 2. Якщо диспетчер ресурсів вимкнути, то через хвилину я отримую push-повідомлення і бачу стан rmdb: 6.

Висновок

Тепер ви знаєте, як використовувати середу виконання Liberty for Java для створення веб-додатку, який перевіряє значення стовпця таблиці в локальній базі даних і посилає push-повідомлення при зміні значення в таблиці. Останнє значення з таблиці відображається в мобільному Android-додатку. Я сподіваюся, що ви успішно побудували аналогічний додаток для моніторингу своєї локальної бази даних.

Ресурси для скачування

Схожі тими

Підпішіть мене на ПОВІДОМЛЕННЯ до коментарів

Ви побачите повідомлення: "How can others in this organization find your API?
Ви побачите повідомлення: "Where is the database or SAP?
GetProperty (REST_API_URL) + "/" + DB_SCHEMA_NAME + "/ Tables /" + DB_TABLE_NAME + "?