Я получаю тестовые данные из Room
, но все, что я получаю, это данные хеш-кода, хотя я переопределяю метод toString()
в своем классе @Entity
.Как узнать, используется ли вообще метод переопределения?
Я правильно настроил Room
с database
, repository
, viewModel
и view
, используя Live-data
.От onCreate у меня есть observer
, который срабатывает правильно, и данные отображаются.Как и ожидалось, это has-code
данные.Обычно я превращаю это в данные string
, переопределяя toString()
в классе @Entity
, а затем использую его в onCreate()
, но это не работает.Это все еще дает мне данные hash
.
В моем @Entity
классе я переопределяю toString()
следующим образом:
@Override
public String toString() {
return "MyEntity{" +
"id=" + id +
", title='" + title + '\'' +
", description='" + description + '\'' +
", priority=" + priority +
'}';
}
И в моем onCreate()
я называю Interface
используя:
myViewModel.getAllData().observe( this, new Observer<List<MyEntity>>() {
@Override
public void onChanged(@Nullable List<MyEntity> myEntities) {
Log.d("TAG: ", "DATA CHANGED! " + myViewModel.getAllData().toString());
}
} );
Но, несмотря на использование .toString()
, я все еще просто получаю хэш-данные:
D/TAG:: DATA CHANGED! android.arch.lifecycle.ComputableLiveData$1@a12e85e
Я ожидаю некоторые основные тестовые данные:
"MY FIRST OBJECT", "THIS IS MY OBJECT", 1