概述
我试图使用带有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实现房间所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复