Android Google Fit получает основную информацию (пол, рост, вес)

Я работаю над интеграцией Google Fit для Android уже пару дней и застрял в какой-то момент. Мне нужно получить данные о росте, весе и поле из Google Fit. Я мог бы успешно получить рост и вес пользователя из Google Fit, выполнив запрос, используя следующие типы данных.

 DataReadRequest readRequest = new DataReadRequest.Builder()
                               .read(DataType.TYPE_WEIGHT)
                               .read(DataType.TYPE_HEIGHT)
                               .setLimit(1)
                               .setTimeRange(1, currentTime, TimeUnit.MILLISECONDS)
                               .build();

Но не удалось получить данные о поле пользователя. Я трачу огромное количество времени, чтобы понять это. Я хотел бы хотя бы знать, что получить пол от Google fit невозможно.

Заранее спасибо.


person Anudeep    schedule 21.09.2017    source источник


Ответы (1)


Боюсь, на данный момент Google не предоставляет предварительно определенные DataType для пола. Возможно, они окажут поддержку в следующих обновлениях. Существует четыре типа fields для всех типов данных Google Fit. Вы можете проверить список типов данных здесь не тратя много времени на исследования.

Я хотел бы, по крайней мере, знать, что определить пол с помощью Google Fit невозможно.

Это достижимо через Custom data types.

  1. Создайте запрос для вашего пользовательского типа данных
  2. С помощью клиентского объекта Google API вызовите Config API
  3. Проверяйте результат асинхронно

Ниже пример кода для справки:

    GoogleApiClient client = new GoogleApiClient.Builder(context)
     .addApi(Fitness.CONFIG_API)
     ... .build();
     client.connect();

     PendingResult<DataTypeResult> pendingResult = Fitness.ConfigApi.readDataType(
         client, "com.example.my_custom_data_type");

     DataTypeResult dataTypeResult = pendingResult.await();
     DataType dataType = dataTypeResult.getDataType();
person Anurag    schedule 21.09.2017
comment
Эй, я понял, что вы предлагаете мне создать собственный тип данных и записать пол в этот тип данных и прочитать его при необходимости. - person Anudeep; 21.09.2017
comment
Точно, вам просто нужно помнить об определенных правилах при его создании. - person Anurag; 21.09.2017
comment
@ Анураг, не могли бы вы кратко объяснить это? Что я напишу вместо com.example.my_custom_data_type, чтобы получить пол и дату рождения из Google Fit.. - person pb123; 04.12.2018