Для работы с WEB-ресурсами создайте приложение «WebActivity», в котором используется метод web, реализованный в модуле RequestAPI.
Обращение к WEB-ресурсам осуществляется по принципу прокси. Сервер мобильной платформы выполняет роль посредника между мобильным устройством и WEB-ресурсами.
Приложение позволяет обращаться к поисковой системе Яндекс.
Перед созданием приложения «WebActivity»:
Добавьте источник данных «WEB» с параметрами:
название: Yandex;
хост: yandex.ru;
порт: 80;
протокол: HTTP;
таймаут передачи данных: 40.
Импортируйте WEB-ресурс с параметрами:
название для мобильного клиента: Yandex;
путь: pathToAPI/userById/groupId;
GET-параметры: query=some+search+query&limit=10;
группы: ilm.
Приложение «WebActivity» состоит из одного экрана и кнопок:
«WEBGET». Получение главной страницы Яндекса в исходном виде;
«WEBPOST». Получение главной страницы Яндекса в исходном виде с передачей данных в виде json-строки.
Для просмотра результата работы приложения используйте интерактивный пример:
Нажмите любую кнопку
public class WebActivity extends AppCompatActivity {
private static final String MY_URL = "http://testmasterfmp.fsight.cloud/";
private static final VersionAPI MY_VERSION_API = VersionAPI.V_1;
private static final String MY_ENVIRONMENT = "ilm";
private static final String MY_PROJECT = "ilm";
private static final String MY_VERSION = "v1";
private static final String MY_LOGIN = "ilm";
private static final String MY_PASSWORD = "123123";
public static final String MY_WEB_RESOURCE = "yandex";
private HyperHive hyperHive;
TextView textViewActivityWeb;
private static final String TAG = "WebActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web);
textViewActivityWeb = findViewById(R.id.text_view_activity_web);
Handler uiHandler = new Handler();
hyperHive = new HyperHiveState(getApplicationContext())
.setHostWithSchema(MY_URL)
.setApiVersion(MY_VERSION_API)
.setEnvironmentSlug(MY_ENVIRONMENT)
.setProjectSlug(MY_PROJECT)
.setVersionProject(MY_VERSION)
.setHandler(uiHandler)
.buildHyperHive();
authentication();
}
public void authentication() {
boolean status = hyperHive.authAPI.auth(MY_LOGIN, MY_PASSWORD, true).execute().isOk();
Log.d(TAG, "authentication: " + status);
}
public void getWebGet(View view) {
String status = hyperHive.requestAPI.web(MY_WEB_RESOURCE).execute();
Log.d(TAG, "getWebGet: " + status);
textViewActivityWeb.setText(status);
}
public void getWebPost(View view) {
RequestCallParams requestCallParams = new RequestCallParams();
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
headers.put("Accept", "application/json");
requestCallParams.setHeaders(headers);
requestCallParams.setData("{}");
String status = hyperHive.requestAPI.request(MY_WEB_RESOURCE, requestCallParams).execute();
Log.d(TAG, "getWebPost: " + status);
textViewActivityWeb.setText(status);
}
}
См. также: