У меня есть предварительно инициализированный файл .realm, который я пытаюсь получить в Android Studio. Я использовал браузер Realm для определения точной схемы для моделирования моих классов после (т.е. имена и типы полей), но я не могу понять, что тип Any
типа поля comments
(см. Снимок экрана ниже) должен быть в моем коде , Согласно this, поле может быть только boolean
, short
, ìnt
, long
, float
, double
, String
, Date
, byte[]
, подклассы RealmObject
или RealmList<? extends RealmObject>
. Я пробовал кучу разных типов для comments
поле, но я по-прежнему получаю ошибки похожее на следующее:«Любое» поле в файле .realm
io.realm.exceptions.RealmMigrationNeededException: Invalid type 'String' for field 'comments'
Когда я пытаюсь разрешить comments
быть максимально стандартизован, сделав его тип RealmObject
, мой код не может даже успешно скомпилируется:
/Users/name/AndroidStudioProjects/Project/app/build/intermediates/classes/debug/io/realm/ReportRealmProxy.java
Error:(147, 17) error: cannot find symbol variable RealmObjectRealmProxy
Error:(285, 48) error: cannot find symbol variable RealmObjectRealmProxy
Error:(330, 52) error: cannot find symbol variable RealmObjectRealmProxy
Error:(374, 41) error: cannot find symbol variable RealmObjectRealmProxy
Error:(420, 41) error: cannot find symbol variable RealmObjectRealmProxy
Наконец, когда я пытался использовать автоматическую генерацию коды модели Realm браузера (Файл -> Сохранить модель определение -> определение Сохранить Java ...), следующий код производится :
import io.realm.RealmObject
public class Report extends RealmObject {
private String term;
private String year;
private int enrollment;
private Any comments;
private RealmList<Response> responses;
private RealmList<FacultyReport> facultyReports;
}
К сожалению, ни Android Studio, ни я не понимаю, что такое класс Any
- я не могу найти никаких упоминаний об этом в Интернете.
Любая помощь будет высоко оценена, так как я не могу загрузить данные, не в точности сопоставляя определения модели, используемые для ее создания. Если бы был способ загрузить все данные, кроме класса/таблицы Report, это тоже сработало бы, потому что в настоящее время оно пусто (как показывает скриншот). Но в настоящее время, несмотря на то, что она пуста, моя неспособность моделировать это мешает мне вообще загружать объекты!
Спасибо в продвижении.
Edit: Вот мой Report.java код класса:
import io.realm.RealmList;
import io.realm.RealmObject;
public class Report extends RealmObject {
private String term;
private String year;
private int enrollment;
private ???? comments;
private RealmList<Response> responses;
private RealmList<FacultyReport> facultyReports;
public ???? getComments() {
return comments;
}
public void setComments(???? comments) {
this.comments = comments;
}
// other getters and setters removed
}
это больше подходит как комментарий – EpicPandaForce
Спасибо за ответ. Как я уже упоминал в своем вопросе, когда я использую этот параметр, Realm Browser выплевывает код с типом 'comment', который является' Any', который не является реальным классом, насколько мне известно – asaini007
Просто для уточнения: я работаю для Realm :-) Тип 'Any' является неиспользуемым типом в Realm. Я действительно не понимаю, как поле 'String' может быть интерпретировано браузером как' Any'. Возможно ли вам поделиться файлом Realm, чтобы мы могли более внимательно посмотреть? – geisshirt