поэтому я начал играть с Realm, и до сих пор это было довольно понятно для моих простых случаев использования, но я обнаружил, что создание объекта области с realmList внутри него из Json не заполняет список области. Вот что у меня есть:
public class User extends RealmObject{
@PrimaryKey
private int user_id;
private RealmList<Place> places;
private String fname;
private String lname;
private String birth_date;
public RealmList<Place> getPlaces(){
return this.places;
}
public void setPlaces(RealmList<Place>places) {
this.places = places;
}
}
public class Place extends RealmObject{
private String place_name;
//several other types all ints and Strings with getters and setters
}
оба этих класса имеют соответствующие геттеры и сеттеры в моем реальном коде, я просто включил образец информации и всю важную информацию, чтобы сократить это.
Я использую модификацию, и все данные поступают в виде jsonelements.
userService.requestProfile(new Callback<JsonElement>() {
@Override
public void success(JsonElement profileResponse, Response response) {
Log.d(TAG, profileResponse.toString()); //shows raw response containing multiple places objects
realm.beginTransaction();
User user = null;
try {
user = (User)realm.createObjectFromJson(User.class, profileResponse.toString());
}catch (RealmException re){
re.printStackTrace();
}
if(user != null) {
Log.d(TAG, user.getFname()); //comes out correctly
Log.d(TAG, user.getPlaces().size()) //always says 0
}
realm.commitTransaction();
}
@Override
public void failure(RetrofitError error) {
error.getCause();
}
});
Есть идеи, почему я ничего не вижу, когда вызываю getPlaces для пользователя? Я пробовал встраивать объекты области в объекты области, и все в порядке, только realmList, похоже, вызывает у меня проблему. Я не уверен, что данные вообще сохраняются в области, когда вызывается createObject. Я также пробовал createAllFromJson, но получаю
Could not create JSON array from string
исключение EDIT: пример json {"places":[{"place_id":1280,"place_name":"Canada"}}]}
[{"name": "xxx"}]
- person beeender   schedule 24.07.2015