我是靠谱客的博主 健忘香水,最近开发中收集的这篇文章主要介绍java实现房间,使用RxJava和Retrofit实现房间,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我试图使用带有RxJava和Retrofit的房间,在你建议使用组件拱门之前(在这个机会是不可能的,项目是和50%并且只需要继续使用拱形清洁) .

所以 problem 就是这个 . 我有一个返回 POJO 的Web服务 . 像这样的东西:

{

"success":"true",

"message":"message",

"data":{[

"id":"id",

"name":"name",

"lname":"lname",

]}

}

POJO更复杂,但是对于这个例子来说还可以 . 我需要这样做,因为我的视图使查询从房间调用数据,但如果我的数据库中没有数据调用我的Web服务,我的Web服务的响应转换为实体并保存在我的数据库(房间)和返回后我的视图中的数据列表 .

我正在使用干净的拱门 . 我很感激任何帮助 . 再次不尝试使用

data layout

数据库

网络

存储库

domain

interctor

回调

presentation

主持人

查看

POJO API响应

{

"success":"true",

"message":"message",

"data":{[

"id":"id",

"name":"name",

"address":"address",

"phone":"phone",

]}

}

我的db实体

@Entity(tableName = "clients")

public class clients {

String id;

String name;

String address;

String phone;

String status;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

public String getPhone() {

return phone;

}

public void setPhone(String phone) {

this.phone = phone;

}

public String getStatus() {

return status;

}

public void setStatus(String status) {

this.status = status;

}

}

我的房间

@Dao

public interface ClientsDao {

@Insert(onConflict = OnConflictStrategy.REPLACE)

void saveAll(List clients);

@Query("SELECT * FROM Clients")

Flowable> listClients();

}

RxJava帮助类

public class RxHelper {private static final String TAG = RxHelper.class.getName();

@NonNull

public static Observable getObserbable(@NonNull final Call reponse){

return Observable.create(new ObservableOnSubscribe() {

@Override

public void subscribe(final ObservableEmitter emitter) throws Exception {

reponse.enqueue(new Callback() {

@Override

public void onResponse(Call call, Response response) {

if (!emitter.isDisposed()) {

emitter.onNext(response.body());

}

}

@Override

public void onFailure(Call call, Throwable t) {

if (!emitter.isDisposed()) {

emitter.onError(t);

}

}

});

}

});

}

}

我的ClientsRepoFactory

public Observable getApiClients(){

String token = preferences.getValue(SDConstants.token);

return RxHelper.getObserbable(apiNetwork.getClients(token));

}

我的客户回复

@Override

public Observable listClients() {

return factory.listClients();

}

最后

以上就是健忘香水为你收集整理的java实现房间,使用RxJava和Retrofit实现房间的全部内容,希望文章能够帮你解决java实现房间,使用RxJava和Retrofit实现房间所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部