Может кто-нибудь объяснить мне, что случилось с классом "GeofenceErrorMessages"? - PullRequest
0 голосов
/ 01 ноября 2019

Недавно я прочитал о разделе «Создание и мониторинг геозон» на официальном сайте разработчиков Android и обнаружил, что не могу использовать этот раздел кода:

String errorMessage = GeofenceErrorMessages.getErrorString(this,
                geofencingEvent.getErrorCode());

На самом делеМоя Android-студия не принимает GeofenceErrorMessages класс, и я не могу импортировать с помощью сочетания клавиш ALT + ENTER, потому что Android-студия вообще не распознает этот класс.

Мне удалось решитьпроблема с этим кодом, но я действительно хочу знать, что произошло с классом GeofenceErrorMessages:

 String errorMessage = GeofenceStatusCodes.getStatusCodeString(geofencingEvent.getErrorCode());

Для кодов GeofenceStatus я использовал этот импорт:

import com.google.android.gms.location.GeofenceStatusCodes;

ВОПРОС:

DoМне нужно импортировать что-то в проект или Возможно, класс GeofenceErrorMessages устарел? Я использую версию Android Studio 3.5.1 с последним обновлением.

1 Ответ

0 голосов
/ 05 ноября 2019

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

Я только что вернулся в этот раздел и понял, какой я глупый. GeofenceErrorMessages не является предопределенным классом, предоставляемым библиотекой Android, это фактически класс, который вам нужно создать самостоятельно, и вы можете называть его как угодно. Я был сбит с толку, потому что он представлен на официальном сайте разработчика Android.

Вот пример кода с классом GeofenceErrorMessages (вы можете назвать его классом Stupid, если хотите):

import android.content.Context;
import com.google.android.gms.location.GeofenceStatusCodes;

public class GeofenceErrorMessages {

public static String getErrorCode(Context context, int errorCode) {

    switch (errorCode) {
        case GeofenceStatusCodes.GEOFENCE_NOT_AVAILABLE:
            return "geofence_not_available";
        case GeofenceStatusCodes.GEOFENCE_TOO_MANY_GEOFENCES:
            return "geofence_too_many_geofences";
        case GeofenceStatusCodes.GEOFENCE_TOO_MANY_PENDING_INTENTS:
            return "geofence_too_many_pending_intents";
        default:
            return "unknown_geofence_error";
    }

}

}

Здесь вы можете увидеть, что класс GeofenceStatusCodes является предопределенным классом из библиотеки Android, и я использовал его для сортировки различных типов статуса геозоны.

...