Android - Metawear - MbientLab - Невозможно загрузить зарегистрированные данные - PullRequest
0 голосов
/ 02 октября 2019

Я хочу сохранить данные в памяти устройства и получить данные позже, когда потребуется. Я следовал за документацией для регистрации данных. Я могу успешно регистрировать данные, но когда я использую метод downloadAsync, он просто показывает, сколько записей я скачал и сколько осталось, но не дает мне данных. А также он говорит мне, что данные загружаются. Но я не получил данные.

Есть некоторые обсуждения, но это также не очень мне помогает.
https://mbientlab.com/community/discussion/2110/trouble-logging-data

ниже ссылка на документацию регистрации
https://mbientlab.com/androiddocs/latest/logging.html

// download log data and send 100 progress updates during the download
logging.downloadAsync(100, new Logging.LogDownloadUpdateHandler() {
    @Override
    public void receivedUpdate(long nEntriesLeft, long totalEntries) {
        Log.i("MainActivity", "Progress Update = " + nEntriesLeft + "/" + totalEntries);
    }
}).continueWithTask(new Continuation<Void, Task<Void>>() {
    @Override
    public Task<Void> then(Task<Void> task) throws Exception {
        Log.i("MainActivity", "Download completed");
        return null;
    }
});

и в приведенном выше фрагменте, как я могу получить загруженные зарегистрированные данные.

Ответы [ 2 ]

0 голосов
/ 19 октября 2019

вау фантастика, я действительно пытаюсь сделать то же самое, но для углов Эйлера, но я не смог этого сделать, вы можете загрузить весь код, чтобы использовать его с Эйлером?

0 голосов
/ 10 октября 2019

После спотыкания везде atlast нашла решение,

Приведенный выше фрагмент загружает журналы, но на самом деле вы должны регистрировать журналы, как при потоковой передаче. Ниже приведен полный код

 private Logging acceleroLogging;
 private void setupAccLogging() {
    accelerometer = board.getModule(Accelerometer.class);
    acceleroLogging = board.getModule(Logging.class);
    accelerometer.configure()
            .odr(50f)
            .range(8f)
            .commit();
    accelerometer.acceleration().addRouteAsync(source -> source.log((data, env) -> {
        Acceleration value = data.value(Acceleration.class);
        Log.d("LoggingAccelero", value.x() + "::" + value.y() + "::" + value.z());
    })).continueWith(task -> {
        acceleroLogging.start(true);
        accelerometer.acceleration().start();
        accelerometer.start();
        return null;
    });
}

и для журналов:

 acceleroLogging.stop();
            acceleroLogging.downloadAsync(100, (nEntriesLeft, totalEntries) ->
                    Log.i("Logging@", "Progress Update = " + nEntriesLeft + "/" + totalEntries)).continueWith((Continuation<Void, Void>) task -> {
                if (task.isFaulted()) {
                    Log.e("Logging", "Error occured");
                } else {
                    Log.i("Logging", "Downloaded");
                }
                return null;
            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...