Превратите ваше приложение в удобного помощника по здоровью

Персонализированные медицинские записи и визуальные инструменты стали находкой для цифрового управления здоровьем, предоставляя пользователям инструменты для удобного отслеживания своего здоровья на мобильном телефоне. Хранение, управление и обмен данными о здоровье — от диеты до веса и фитнеса и не только — никогда еще не было таким простым. Пользователи могут отслеживать состояние своего здоровья в течение определенного периода времени, например, недели или месяца, чтобы своевременно выявлять возможные заболевания и вести здоровый образ жизни. Более того, имея на руках персонализированные записи о состоянии здоровья, поход к врачу теперь приводит к более быстрым и точным диагнозам. Health Kit переводит эту новую парадигму на новый уровень, открывая множество возможностей, которые могут наделить ваше приложение для здоровья проворными и удобными для пользователя функциями.

С базовыми возможностями Health Kit ваше приложение сможет получать данные о здоровье пользователей в облаке из приложения Huawei Health после получения авторизации пользователей, а затем отображать эти данные пользователям.

Эффекты

Эта демонстрация модифицирована на основе примера кода базовых возможностей Health Kit. Вы можете загрузить демо-версию и опробовать ее для создания собственного приложения для здоровья.

Подготовка

Регистрация учетной записи и подача заявки на получение услуги HUAWEI ID

Health Kit использует сервис HUAWEI ID, поэтому сначала вам необходимо подать заявку на получение услуги HUAWEI ID. Пропустите этот шаг, если вы уже сделали это для своего приложения.

Подача заявки на услугу Health Kit

Подайте заявку на получение диапазонов чтения и записи данных для вашего приложения. Найдите услугу Health Kit в разделе «Разработка» на HUAWEI Developers и подайте заявку на услугу Health Kit. Выберите диапазоны данных, необходимые вашему приложению. В демонстрационном примере используются данные о росте и весе, которые являются неограниченными данными и будут быстро одобрены после подачи заявки. Если вы хотите подать заявку на ограниченные области данных, такие как пульс, кровяное давление, уровень глюкозы в крови и насыщение крови кислородом, ваша заявка будет рассмотрена вручную.

Интеграция HMS Core SDK

Прежде чем приступить к работе, интегрируйте SDK базовых возможностей Health SDK в среду разработки.

С помощью Android Studio откройте проект, найдите и откройте файл build.gradle в корневом каталоге проекта. Перейдите в allprojects > repositories и buildscript > repositories, чтобы добавить адрес Maven-репозитория для SDK.

maven {url 'https://developer.huawei.com/repo/'
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Откройте файл build.gradle на уровне приложения и добавьте следующую зависимость сборки в блок зависимостей.

implementation 'com.huawei.hms:health:{version}'
Войти в полноэкранный режим Выход из полноэкранного режима

Снова откройте измененный файл build.gradle. В правом верхнем углу страницы вы найдете ссылку Sync Now. Нажмите Sync Now и дождитесь завершения синхронизации.

Настройка конфигурационного файла обфускации

Перед сборкой APK настройте файл конфигурации обфускации, чтобы предотвратить обфускацию HMS Core SDK.

Откройте файл конфигурации обфускации proguard-rules.pro в корневом каталоге проекта приложения и добавьте конфигурации для исключения HMS Core SDK из обфускации.

-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.huawei.hianalytics.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
Вход в полноэкранный режим Выход из полноэкранного режима

Импорт отпечатка сертификата, изменение имени пакета и настройка версии сборки JDK

Импортируйте файл keystore, созданный при создании приложения. После импорта откройте файл build.gradle на уровне приложения, чтобы просмотреть результат импорта.

代码图

Измените имя пакета приложения на то, которое вы задали при применении службы HUAWEI ID Service.

Откройте файл build.gradle на уровне приложения и добавьте конфигурацию compileOptions в блок android следующим образом:

compileOptions {
    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Основной код реализации

i. Запустите экран для входа в систему и авторизации.

/**
 * Add scopes that you are going to apply for and obtain the authorization intent.
 */
private void requestAuth() {
    // Add scopes that you are going to apply for. The following is only an example.
    // You need to add scopes for your app according to your service needs.
    String[] allScopes = Scopes.getAllScopes();
    // Obtain the authorization intent.
    // True indicates that the Huawei Health app authorization process is enabled; False otherwise.
    Intent intent = mSettingController.requestAuthorizationIntent(allScopes, true);

    // The authorization screen is displayed.
    startActivityForResult(intent, REQUEST_AUTH);
}
Войти в полноэкранный режим Выход из полноэкранного режима

ii. Вызовите com.huawei.hms.hihealth. Затем вызовите функцию readLatestData() класса DataController для чтения последних данных о состоянии здоровья, включая рост, вес, пульс, кровяное давление, уровень глюкозы и кислорода в крови.

/**
 * Read the latest data according to the data type.
 *
 * @param view (indicating a UI object)
 */
public void readLatestData(View view) {
    // 1. Call the data controller using the specified data type (DT_INSTANTANEOUS_HEIGHT) to query data.
    // Query the latest data of this data type.
    List<DataType> dataTypes = new ArrayList<>();
    dataTypes.add(DataType.DT_INSTANTANEOUS_HEIGHT);
    dataTypes.add(DataType.DT_INSTANTANEOUS_BODY_WEIGHT);
    dataTypes.add(DataType.DT_INSTANTANEOUS_HEART_RATE);
    dataTypes.add(DataType.DT_INSTANTANEOUS_STRESS);
    dataTypes.add(HealthDataTypes.DT_INSTANTANEOUS_BLOOD_PRESSURE);
    dataTypes.add(HealthDataTypes.DT_INSTANTANEOUS_BLOOD_GLUCOSE);
    dataTypes.add(HealthDataTypes.DT_INSTANTANEOUS_SPO2);
    Task<Map<DataType, SamplePoint>> readLatestDatas = dataController.readLatestData(dataTypes);

    // 2. Calling the data controller to query the latest data is an asynchronous operation.
    // Therefore, a listener needs to be registered to monitor whether the data query is successful or not.
    readLatestDatas.addOnSuccessListener(new OnSuccessListener<Map<DataType, SamplePoint>>() {
        @Override
        public void onSuccess(Map<DataType, SamplePoint> samplePointMap) {
            logger("Success read latest data from HMS core");
            if (samplePointMap != null) {
                for (DataType dataType : dataTypes) {
                    if (samplePointMap.containsKey(dataType)) {
                        showSamplePoint(samplePointMap.get(dataType));
                        handleData(dataType);
                    } else {
                        logger("The DataType " + dataType.getName() + " has no latest data");
                    }
                }
            }
        }
    });
    readLatestDatas.addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(Exception e) {
            String errorCode = e.getMessage();
            String errorMsg = HiHealthStatusCodes.getStatusCodeMessage(Integer.parseInt(errorCode));
            logger(errorCode + ": " + errorMsg);
        }
    });
}
Вход в полноэкранный режим Выход из полноэкранного режима

Объект DataType содержит конкретный тип данных и значение данных. Вы можете получить соответствующие данные, разобрав объект.

Заключение

Личные медицинские карты значительно облегчают пользователям задачу информирования о своем здоровье. Записи о состоянии здоровья помогают отслеживать данные о здоровье за определенные периоды времени, например, неделя за неделей или месяц за месяцем, предоставляя бесценные сведения, чтобы сделать проактивное здоровье повседневной реальностью. При разработке приложения для здоровья интеграция возможностей, связанных с данными, может помочь упростить процесс, позволяя сосредоточить энергию на дизайне приложения и пользовательских функциях, чтобы предоставить пользователям умного и удобного помощника по здоровью.

Оцените статью
devanswers.ru
Добавить комментарий