Сквозная демонстрация для Android
improve this page | report issueОбзор
В этой демонстрации рассматриваются все этапы потока:
- Пример приложения, поставляемый вместе с SDK клиента MobileFirst, регистрируется и загружается с помощью MobileFirst Operations Console.
- В MobileFirst Operations Console развертывается новый или предоставленный адаптер.
- В логику приложения вносятся изменения для запроса ресурса.
Конечный результат:
- Проверка связи с MobileFirst Server.
- Успешное извлечение данных с помощью адаптера.
Предварительные требования:
- Android Studio
- Необязательно. MobileFirst CLI (загрузить)
- Необязательно. Автономный экземпляр MobileFirst Server (загрузить)
1. Запуск MobileFirst Server
Убедитесь, что создан экземпляр Mobile Foundation либо
В случае применения MobileFirst Developer Kit перейдите в папку сервера и выполните следующую команду: ./run.sh
(Mac и Linux) или run.cmd
(Windows).
2. Создание приложения
В браузере откройте MobileFirst Operations Console с помощью следующего URL: http://your-server-host:server-port/mfpconsole
. В локальном режиме введите следующий адрес: http://localhost:9080/mfpconsole. Идентификационные данные пользователя: admin/admin.
- Нажмите кнопку Создать рядом с разделом Приложения
- Выберите платформу Android
- Введите com.ibm.mfpstarterandroid в качестве идентификатора приложения
- Введите 1.0 в качестве версии
- Нажмите кнопку Зарегистрировать приложение
-
Щелкните на плитке Получить начальный код и выберите загрузку примера приложения Android.
3. Изменение логики приложения
-
Откройте Android Studio и импортируйте проект.
-
В боковом меню Проект выберите файл app → java → com.ibm.mfpstarterandroid → ServerConnectActivity.java и выполните следующие действия:
-
Добавьте следующие операторы импорта:
import java.net.URI; import java.net.URISyntaxException; import android.util.Log;
-
Вставьте следующий фрагмент кода, заменив вызов
WLAuthorizationManager.getInstance().obtainAccessToken
:WLAuthorizationManager.getInstance().obtainAccessToken("", new WLAccessTokenListener() { @Override public void onSuccess(AccessToken token) { System.out.println("Received the following access token value: " + token); runOnUiThread(new Runnable() { @Override public void run() { titleLabel.setText("Yay!"); connectionStatusLabel.setText("Connected to MobileFirst Server"); } }); URI adapterPath = null; try { adapterPath = new URI("/adapters/javaAdapter/resource/greet"); } catch (URISyntaxException e) { e.printStackTrace(); } WLResourceRequest request = new WLResourceRequest(adapterPath, WLResourceRequest.GET); request.setQueryParameter("name","world"); request.send(new WLResponseListener() { @Override public void onSuccess(WLResponse wlResponse) { // Will print "Hello world" in LogCat. Log.i("MobileFirst Quick Start", "Success: " + wlResponse.getResponseText()); } @Override public void onFailure(WLFailResponse wlFailResponse) { Log.i("MobileFirst Quick Start", "Failure: " + wlFailResponse.getErrorMsg()); } }); } @Override public void onFailure(WLFailResponse wlFailResponse) { System.out.println("Did not receive an access token from server: " + wlFailResponse.getErrorMsg()); runOnUiThread(new Runnable() { @Override public void run() { titleLabel.setText("Bummer..."); connectionStatusLabel.setText("Failed to connect to MobileFirst Server"); } }); } });
4. Развертывание адаптера
Загрузите этот подготовленный артефакт .adapter и разверните его с помощью MobileFirst Operations Console. Для этого выберите Действия → Развернуть адаптер.
Кроме того, можно нажать кнопку Создать рядом с разделом Адаптеры.
-
Выберите Действия → Загрузить пример. Загрузите пример адаптера Java “Hello World”.
Если Maven и MobileFirst CLI не установлены, выполните инструкции по настройке среды разработки.
-
В окне Командная строка перейдите в корневую папку проекта Maven адаптера и выполните следующую команду:
mfpdev adapter build
-
После завершения компоновки разверните адаптер с помощью MobileFirst Operations Console. Для этого выберите Действия → Развернуть адаптер. Адаптер расположен в папке [adapter]/target.
5. Тестирование приложения
- В Android Studio в боковом меню Проект выберите файл app → src → main →assets → mfpclient.properties и укажите значения свойств protocol, host и port с учетом параметров сервера MobileFirst Server.
- Обычные значения в случае применения локального экземпляра MobileFirst Server: http, localhost и 9080.
- Обычные значения в случае применения удаленного экземпляра MobileFirst Server (в IBM Cloud): https, адрес-сервера и 443.
- В случае применения кластера Kubernetes в IBM Cloud Private и развертывания с типом NodePort значением порта, как правило, будет значение NodePort, предоставляемое службой в кластере Kubernetes.
Кроме того, если установлен MobileFirst CLI, перейдите в корневую папку проекта и выполните команду
mfpdev app register
. В случае применения удаленного экземпляра MobileFirst Server выполните командуmfpdev server add
для добавления сервера, а затем выполните команду, аналогичную следующей:mfpdev app register myIBMCloudServer
. - Нажмите кнопку Запустить приложение.
Результаты
- При нажатии кнопки Проверить связь с MobileFirst Server выдается сообщение Установлено соединение с MobileFirst Server.
- Если приложению удалось подключиться к MobileFirst Server, ресурс запрашивается с помощью развернутого адаптера Java.
Ответ адаптера отображается в представлении LogCat Android Studio.
Дальнейшие действия
Узнайте больше об использовании адаптеров в приложениях, интеграции дополнительных служб, таких как Push-уведомления, с помощью среды защиты MobileFirst и других вопросах:
- Просмотреть учебники, посвященные разработке приложений
- Просмотреть учебники, посвященные разработке адаптеров
- Просмотреть учебники, посвященные идентификации и защите
- Просмотреть учебники, посвященные уведомлениям
- Просмотреть все учебники
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.