改造,RxJava和Sqlite

时间:2018-04-25 06:15:09

标签: android retrofit rx-java retrofit2 rx-android

我使用Retrofit从服务器检索数据,现在我尝试使用sqlite数据库存储

        WebserviceHandler.getImagePathSelectAl() 
                        .subscribeOn(Schedulers.io())
                        .flatMap(s -> WebserviceHandler.getCtbLeidSource())
                        .subscribeOn(Schedulers.io())
                        .subscribe(.................);

和响应模型类一样

          public class ImagePathResponse {

            @SerializedName("Message")
            @Expose
            private String message;
            @SerializedName("HasColumns")
            @Expose
            private Integer hasColumns;
            @SerializedName("ErrorMessage")
            @Expose
            private String errorMessage;
            @SerializedName("ImagePath_insert")
            @Expose
            private List<ImagePath> imagePathInsert = null;
            @SerializedName("ImagePath_update")
            @Expose
            private List<ImagePath> imagePathUpdate = null;

       public class LeedSourceResponse { 
        @SerializedName("Message")
        @Expose
        private String message;
        @SerializedName("HasColumns")
        @Expose
        private Integer hasColumns;
        @SerializedName("ErrorMessage")
        @Expose
        private String errorMessage;
        @SerializedName("LeedSource_insert")
        @Expose
        private List<LeedSource> leedSourceInsert = null;
        @SerializedName("LeedSource_update")
        @Expose
        private List<LeedSource> leedSourceUpdate = null;

现在我想在每个响应中插入并更新sqlite db ,如何实现这一点。我是RxJava和RxAndroid的新手

1 个答案:

答案 0 :(得分:0)

你可以检查Rooms persistence library它是一个用于android Rooms的sql库,但是在这种情况下我会建议你使用RealmDb而不是sql,它的速度要快得多,如果你想要保存每个回复的日期。