Обозреватель жизненного цикла Android - PullRequest
0 голосов
/ 05 ноября 2018

Я изучаю и использую новую функцию Android Jetpack для Android WorkManager . Приложение в основном отправляет изображения на сервер в фоновом режиме. Это работает хорошо, и изображения загружены.

Проблема заключается в том, что я пытаюсь наблюдать за рабочим состоянием, чтобы остановить индикатор выполнения. Вот мой наблюдатель

WorkManager.getInstance().getStatusById(catSyncRequest.getId())
            .observe(this, new Observer<WorkStatus>() {
                @Override
                public void onChanged(@Nullable WorkStatus workStatus) {
                    if (workStatus != null) {
                        //mTextView.append("SimpleWorkRequest: " + workStatus.getState().name() + "\n");
                    }

                    if (workStatus != null && workStatus.getState().isFinished()) {
                        //String message = workStatus.getOutputData().getString(MyWorker.EXTRA_OUTPUT_MESSAGE, "Default message");
                        //mTextView.append("SimpleWorkRequest (Data): " + message);
                    }
                }
            })

Во второй строке " .observe " не может быть разрешен. Как обычно для любой отсутствующей библиотеки, она подсвечивается красным.

Вот скриншот enter image description here

Я проверил онлайн, но, похоже, никто не сталкивался с этой проблемой. Чего мне не хватать?

1 Ответ

0 голосов
/ 08 ноября 2018

WorkManager 1.0 alpha 10 изменил тип возвращаемого значения getStatusById() на ListenableFuture.

Если вы хотите использовать наблюдаемые, вам нужно использовать новый метод API: getStatusByIdLiveData.

...