0
dishList
を私のサービスに送ろうとしていますが、止まっています。 dishList
からdl
にオブジェクトを取得しても、動作しません。 BUT下記のコードのようにdl
を送信すると動作します。したがって、問題は領域返されたオブジェクトにあります。 retrofit2経由でレルムから返されたデータを送信する方法は?retrofit2でrealm-returnedデータを送信する方法は?
RealmResults<Dish> realmResults = realm.where(Dish.class).findAll();
List<Dish> dishList = realmResults.subList(0, realmResults.size());
List<Dish> dl = new ArrayList<>();
dl.add(new Dish());
mDishService.updateRepository(dishList).enqueue(new Callback<Boolean>() {
@Override
public void onResponse(Call<Boolean> call, Response<Boolean> response) {
if (response.body()) {
response.body();
}
}
@Override
public void onFailure(Call<Boolean> call, Throwable t) {
}
});
サービス方法は:
@POST("/v1/dishes/repo/u")
Call<Boolean> updateRepository(@Body List<Dish> dishes);
これは何が行われていますか? 'if(response.body()){response.body(); } '...これはあなたの期待通りにどのように機能していないのですか? 'mDishService.updateRepository(dishList)'は 'mDishService.updateRepository(dl)'と何が違うのですか? –
"それは固まっている"と "うまくいきません"と明記してください。あなたはlogcatの中で例外を見ていますか? – Egor
@ cricket_007、@Egor問題は、realmデータが直列化できないことです。そのため、realm.copyFromRealm(realmResults);を使用して、realmのオブジェクトからrealmResultsというバインディングを削除する必要があります。それは領域なしのリストを与える –